You are viewing our old blog site. For latest posts, please visit us at the new space. Follow our publication there to stay updated with tech articles, tutorials, events & more.

Recent Posts

Continuous Testing at Naukri

Continuous integration is the talk of the town. Every business is aiming to ship products quicker with no compromise on quality. With this evolution in the IT industry, there was a huge requirement to fine tune our test processes and revive the traditional test approaches. This blog details out some of the changes that happened at Naukri leading to more focused and grown-up QA practices. Challenges faced during continuous improvement: The IT industry has evolved significantly with the changing time. This evolution is majorly driven by factors like advancement in information technology,... Read More

User Data Logging Using Mongo

Torture the data, and it will confess to anything......... Why bother capturing data ? Data has become the most valuable commodity to every Internet company out there and therefore collection of data turns up to be a very essential task. Such was the need encountered by Naukrigulf team. The product team asked us to come up with the solution to log the modified and view timestamp for every jobseeker fields like username, salary, photo, work experience, etc. So, we needed to capture when a particular jobseeker viewed a particular field and which ones he edited. The very sole purpose of... Read More

WEB WORKER – MULTI THREADING WITH JAVASCRIPT

A few iterations back, we got a task to develop a page with few graphs and data listing, but processing data received from server to the data format required by charting library for 5 charts was taking time as it was a heavy computation. You all know, JavaScript is single threaded in nature, so any heavy computation or long running JavaScript code blocks UI thread and freeze the window. You must have seen sometime browsers shows a warning pop up like below:- This is the protection mechanism browsers implement when a long running JavaScript occurs and blocks the UI thread. But by this, we... Read More

RESTful API calling With Angular $resource

Recently we started using AngularJS for our project and we are using $http for calling Restful API. But, we noticed that every time we have to define a separate function for each $http method, which resulted in larger code base and repetitive task of defining functions. To avoid this situation we explored around possible solutions and found out about $resource service. It helps a lot in managing our code base and also in making our AJAX calls cleaner. Below you can see how to use $resource to make smarter and cleaner RESTful api calls. WHAT IS $resource ? Angular provides a very useful... Read More

Performance Optimization of Web Pages: NaukriGulf

New Naukrigulf English Desktop Homepage is designed with the goal of providing better interface to our users. Of course, the new site comes with eye-pleasing aesthetics, enhanced usability and is simply faster. Lets first look at some speed-metrics to see really how fast our homepage has become. Benchmark report of Previous Homepage vs New Homepage Old Homepage New Homepage Homepage TTFB = 1.17 TTFB = 1.02 *TTFB : Time To First byte   Let us see what we did to achieve this Low Resolution Images Before Page Load and High Resolution Image After Page... Read More

Working as a Scrum Master

The agile team concept is one of the Scrum practices that might be difficult to fully grasp. For me at least, this is a continuous learning experience. We have been following agile for few iterations now. We slowly adapted all the processes and learned and improved from problems we faced. We learned that to succeed in this, all team members (scrum) have to understand all concepts and processes. Scrum is a lightweight framework designed to help small, close-knit teams of people develop complex products. Scrum recognizes only three distinct roles:- Product Owner Scrum Master Team... Read More

Why does Product Backlog Grooming Matter?

Product Backlog grooming is something that we have discovered to be valuable, and it has lead to a more productive sprint-planning meeting. Purpose of backlog grooming is to make improvements to the product backlog by providing input on the current state of upcoming stories. This includes getting clarity, identifying dependencies, risks, assumptions, acceptance criteria which can lead us to estimate & plan better. A Backlog Grooming session should be used for: Detailing out user stories to define “what” and “how” Breaking down user stories that are too big (epics) - it... Read More

Hackathon 4.0

What describes the success of an event? The fact that people want it to happen again very soon. Yes, Hackathon 3.0 ended with much appreciation and excitement with people discovering what they are capable of developing overnight, the response was indeed tremendous and hence the Naukri Engineering team wanted to have Hackathon twice an year. So the fourth edition of Hackathon was held on 16th-17th January 2016, with fresh ideas and enthusiasm. Employees gathered at the Naukri HQ in Noida for 24-hours of hacking fun. There were more than 50 impressive projects, many of which were completed... Read More

DNS Resolution in PERL

DNS Resolver in Perl DNS, which stands for domain name system, controls your domain name's website and email settings. When visitors go to your domain name, its DNS settings control which company's server it reaches out to. Benefits of DNS: Domain Names are alphabetic, they're easier to remember. Capable of providing security. Companies that make use of DNS server are able to protect the company related data from being accessed by unwanted people. DNS servers are quite flexible to use. A single DNS server is capable of managing multiple Internet sub domains and domains. How DNS resolver... Read More

Basics of Restructuring and Refactoring

The code that seems clean and fresh today, will someday begin to smell... Thats when you rewrite it!!! WHAT IS IT? A passionate developer always tries to write clean and quality code. Contrary to that, we often find messy and unstructured code. The transformation from a clean code to a messy code is a natural process where the code 'ages' with time. With time the code gets modified by the same or a different programmer. These later additions to the code are primarily tweaks and fixes. These additions often do not fit with the existing code design and thus are placed with less emphasis... Read More