Recent Posts

Effective meetings @Naukri

Did you know ? Every day 83 million people attend 11.5 million meetings No ? Ok, lets get started Meetings, a fancy word in corporate that everyone come across a lot many times (For some it can be a very effective excuse to avoid other things though :-P) Meetings are integral part of any process oriented organization. It makes sense to meet every while to get the status updates, near future plans, project deadlines, company’s future projection etc. Now why we are writing this post is because something is wrong with meetings that we all should improve and we are... Read More

How to Reduce Test Automation Flakiness

We all have heard the story of the Boy Who Cried Wolf, let’s just revisit it. “A shepherd-boy, who watched a flock of sheep near a village, brought out the villagers three or four times by crying out, "Wolf! Wolf!" and when his neighbours came to help him, laughed at them for their pains. The Wolf, however, did truly come at last. The Shepherd-boy, now really alarmed, shouted in an agony of terror: "Pray, do come and help me; the Wolf is killing the sheep"; but no one paid any heed to his cries, nor rendered any assistance. The Wolf, having no cause of fear, at his leisure lacerated or... Read More

Continuous Integration of the Naukri India iOS with Jenkins

Continuous Integration (CI) is a valuable addition to our workflow. Running the test cases manually is tedious. Here’s when CI comes into picture. CI tools execute test cases automatically and sends notifications to the developers. This helps increase the performance and product quality. Jenkins is a popular Continuous Integration tool. It is a Java application that monitors and configures Jobs and can be used for Backend and Mobile end. Jenkins is responsible for the following: Pulls the source code using Source Code Management (SCM). Compiles the code. Creation of the... Read More

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