DoSelect enables tech companies hire the best talent, effortlessly.
Don't wanna be here? Send us removal request.
Text
Akash Is Now A DoNut
And the calm descends! Our content team just got in oodles of genius with our newest programming Intern - Akash Deep.
Hailing from Ranchi, Akash is a final year C.S. undergraduate at BMS, Bangalore. In his own words, he's "a calm and reflective drummer who finds his chi in metal and rock music." His time finds him evenly divided in deep introspection of all things mystifying - code, music, and the Universe.
Akash believes in and lives by the philosophy of “remaining silent and being thought a fool than speaking and removing all doubt.”
We welcome you to the team Akash!
0 notes
Text
Getting Your Employee Value Proposition Right
During a recent, interesting conversation, a talent acquisition executive voiced a profound opinion that has since, stayed with us. “An organization’s Employee Value Proposition comes to exist the moment an organization is born”, he remarked. The challenge is not creating an EVP at birth; 85% talent acquisition executives at established GICs rue the absence of EVPs, altogether. They are seemingly mature in their resourcing practices, deploy cutting-edge HR tech platforms, boast of “exotic” sourcing techniques (read: deep web and advanced boolean) but have faltered at perfecting baby steps – documenting Employee Value Propositions.
That a strategically designed EVP successfully attracts, retains, and motivates employees, is a notion warmly embraced universally; the missing link lies in being apprised with roadblocks in successful execution. Assertive pieces on challenges, and pitfalls in understanding and documenting EVPs have not been penned down, hence our attempt. A step-by-step approach follows.
Step 1 - Begin by tapping into the organization’s most invaluable resource - your internal employees
A value proposition – de facto or consciously constructed - has multiple facets to it (culture, job satisfaction, growth opportunities, compensation, and benefits), most of which are a direct reflection of the way internal employees understand and perceive things.
An important step towards creating an authentic EVP for an organization is communicating and understanding the perspectives of internal employees. All segments of the organization – from its associate employees to the upper echelons – have unique perspectives to share. The key lies in listening to these perspectives and identifying strong communication drivers.
Broadly, the reach-outs would entail –
conversations to understand employees and their perspectives
factors that motivate employees to stay with the organization
clarity on how employees seek to grow within, and with the organization
discussions about employees’ understanding of the organization’s vision and value proposition
Our favorite tools to seek answers are qualitative probes. Examples of probes that generate high-quality responses from employees for some of the above-mentioned aspects are -
Conversations to understand employees and their perspectives – “If you were to define XYZ (the organization’s name) in one word, what would it be?” – the answers to this question are open-ended and help you understand the associations that employees draw with your organization. In one instance, employees were frequently stating terms like “archaic”, “dinosaur”, “middle-aged man”; the organization immediately realized that their reliance on legacy technologies to solve today’s problems were hampering millennial talent in perceiving them as contemporary.
Factors that motivate employees to stay with the organization – “In a hypothetical scenario, you are leading a new team elsewhere. What is the one trait (tangible or intangible) you would pick from XYZ and apply it to the new organization?”. We got some immensely useful answers from an organizational standpoint that could enable talent acquisition teams to define internal communication vehicles; from intangibles like “The way we conduct meetings – they are non-toxic and end with specifics.” and “The manner in which we keep users at the center of software design” to tangibles like “Our sports zone” and “Our campus greenery”.
No two organizations are the same because the people within each organization are disparate. Your employees are the living embodiment of your value proposition. In some instances, we have come across otherwise articulate employees who cannot answer these probes even after grave thinking – if this is true in your case, a course correction is in store. Without understanding, articulating and documenting answers to the above-mentioned questions, internal communication vehicles can’t be established, leading to inconsistent messaging and no anchors around which requisitions can be covered.
Step 2 - Reach out to the external audience
With a wiser understanding of what your employees believe in and stand for, the next step requires gathering a deeper understanding of the wider audience. A few key factors that determine the shaping of an external perception include -
The kind of candidate experience an organization delivers Constant feedback loops with candidates reveal hitherto hidden gold nuggets that inform talent acquisition teams of the gaps between internal communication and external perception.InMobi, a DoSelect partner organization, probes candidates on some of the following questions -
What was your first impression when you walked into our office?
What is the most notable benefit with the role that we are discussing about?
On a scale of 1 to 10, how articulate was the team in detailing the growth areas associated with the role? Why?
InMobi uses Survey Monkey to mail these surveys.
Growth and exposure opportunities offered by the organization
Uniformity that a brand voices out with reference to its internal employees’ belief-system Feedback loops that probe candidates on consistency between expectation and reality. For e.g. -
What were your expectations when you walked into our office this morning? This probe outlines their expectations with the brand – consistent distance from your internal value proposition and perceived value proposition merits a course correction.
What comes to your mind when you hear “XYZ”? (XYZ is your organization – look for possible one-word associations; comparing these associations with those of your employees would point towards communication consistency or lack of it).
The general perception of your organization in the eyes of an external audience
Step 3 - Constructing your Pyramid well
After having laid down the foundation, the most consequential step is defining the value proposition and implementing it.
Our research into the changing trends and functioning of companies with great EVPs suggest that the most critical aspects to keep in mind while implementing an EVP are -
Appointing a sole custodian, and while we are at it, ensuring that HR is at the wheels. If you wish to guarantee a catastrophic failure in maintaining consistency and accuracy of EVPs, make marketing the custodians; nothing bewilders us more than observing marketing teams getting their hands dirty to document propositions whilst HR is trusted with communicating the proposition. There is a fundamental discord in the marketing-centric EVP creation process – marketing has a consumer-centric worldview, a view that is fundamentally different from that of HR, the primary communication vehicles of whom balance ground realities and labor market expectations.
Making your Value Proposition speak out about the 2 or 3 core values that are central to your organization’s identity. Standing for a few core attributes lends a personality to your voice when it reaches out and helps foster trust in an organization’s identity.
Maintaining a consistency between every medium within and outside that speaks for the organization. By regularly tracking progress, and keeping the campaigns and initiatives quantifiable, consistency and growth are maintained.
Meticulously incorporating your EVP at every touch-point –
When seeking out talent For e.g. Reaching out, sourcing, recruiting, making a candidate experience memorable.
Onboarding talent For e.g. Appreciating the hired talent with gestures, making them interact with the right set of leaders.
Enriching your talent For e.g. Helping employees upgrade their skills, incorporating corrective growth, and giving them opportunities to grow.
Off-boarding talent For e.g. Managing the employees’ expectations when they’re leaving, giving them constructive feedback and making their overall experience positive.
Reviewing your EVP regularly to make sure it evolves continually with employees’ experience and the organization’s growing aspirations.
A well-carved Employee Value Proposition brings an organization’s vision and mission to life. While the development of an EVP involves an investment of time and resources, an effective EVP effects many benefits including creating the right employer brand, attracting and retaining great talent, and transforming the work culture with productivity and inspiration.
What are your current Employee Value Proposition blues? We would love to have a no holds barred, freewheeling conversation with you. Drop us an email at hello@doselect and we shall take it forward from there.
Till next time.
0 notes
Text
Rakshith is Now a DoNut
Just when we thought it couldn’t get any better! Our latest addition to the engineering team, Rakshith has joined as an intern at DoSelect to bring in more goodness to our core applications.
An open-source enthusiast and a technology buff, Rakshith is a 2nd-year undergraduate student at NIT Suratkal. His nerd circles confluence in the mighty intersection of coding and music, lending him the much sought after chicken soup for the soul. In his free time, one would find him venturing out for unexplored places, playing the violin, or reading and implementing research papers.
Welcome aboard, Rakshith.
P.S. You can follow Rakshith’s travel stories on his blog here.
0 notes
Text
Saumya Is Now a DoNut
We’re delighted to welcome a charismatic new addition to our team - Saumya Prajapati. An avid programmer at heart, Saumya will be bringing in her intellectual super-skills to DoSelect’s Content Team.
Hailing from IET DAVV, Saumya dons quite a few ribbons on her hat. Apart from being a national-level gold medalist in Badminton at college, she has also been the organizational force behind state-level cultural events and is a certified Bharat Scout and Guide.
In her own words, she’s “absolutely crazy about C++ and loves exploring trending and upcoming technologies all the time.” When she’s not coding, you’d find her pouring her brain over puzzles or awing the audience in sight with her singing.
We welcome you to the team Saumya!
0 notes
Text
The Consumerization Of Recruitment – Candidate Personas
This is part II of our series on helping recruitment teams halve their “time to hire” by building candidate personas. If you missed part I, have your fill here.
“Treat candidates like customers”
Prophecies, oh dear prophecies – what does not come as a prelude to prophecies is the realization that there are invariably three stooges to them – the good, the bad and the ugly.
Without further ado, let’s dive into each one of these -
The Good – Talent acquisition teams have explicitly reported the dire need of engaging with active and passive candidates to create a high-velocity pipeline (The good folks at AON reported it here). Intent is nine-tenths of the law, they say.
The Bad – Organizations have started to couple employer branding with hackathons. Spray a hackathon here, sprinkle a coding challenge there and poof, the white-winged “employer branding” angels have blinked. If only it was that linear an equation.
The Ugly – A substantial number of talent acquisition teams are confident (bordering to overconfident) that they don’t need a conversation mechanism with candidates. The overarching belief stems from the fact that a strong brand equity today is helping them close positions with little to no sweat. My oh my, I bow to thee!
Exponential rise in Interest Levels for “Hackathons” makes us shed tears of happiness
Let me talk to the folks who fall in the good and the bad buckets (for the ones in ugly would steer towards the good and bad in due time) – if there is one thing that your recruitment teams should be doing fervently and religiously, it is building candidate personas.
Can you do me a favour today? Please hop on to your friends in marketing next bay and ask them a question that is going to unlock all your answers to “how to start building an employer brand?”
“Pray you me, what is a consumer persona?”
Crafting an accurate consumer persona is a marketer’s raison-de-etre. An accurate answer to the persona is the gold pot at the end of the rainbow for our poor marketer. She runs, digs, sweats, investigates, reads and Googles answers to all existential questions till she arrives at the haloed paragraph that defines her consumer persona.
IT’S TIME YOU WEAR THAT MARKETER’S SKIN.
Decoding A Successful Hire’s Persona
The following is a step by step account of how this exercise is undertaken. Mind you, this is not an ordered list and can be executed in an order that befits ready availability of data and access to unbiased opinions inside your organization and from external candidates.
Who is the ideal candidate? The first step, the only step? Teams who are looking to answer this question slip to reading the Employee Value Proposition, instead. If you are one of them, I prod, nay beg, you to not commit this crime. Why? Because EVPs are crafted by “consultancies” that boast of shiny glass windows which house suit armoured, robotic looking men and women who don’t have the slightest clue of what your ideal candidates should look like. Their focus group discussions tap surface level questions which you can very well have answers to, in an hour’s probing of your key people. What should you do instead? Probe, probe, and probe. Talk to each and every member of the team you have to recruit for. Do not rely on a manager’s requisition form. Speak to their subordinates; after all, managers might have long departed from roles which demanded execution. In today’s decentralized teams, each member has an opinion about what it takes to be successful in a role within their team. Your questions should sound like the following -
If you were to refer a friend for this opening, what personality traits do you think your friend should have? (It makes them think in an open-ended fashion – creates room for a lot of one-word answers)
Though this isn’t happening but if you were to pick one person from the organization who would perform exceptionally well in this role, who would it be? (Makes them draw parallels; their answers would help you correlate the kind of people you should be looking for)
Let’s talk about the opposite of success – what do you think would lead to poor performance in this role? What does one need to avoid at all costs? (Informs you about who to NOT hire)
Which organizations do you think have people who fit the bill well? (Gives you multiple options instead of relying on the organizations mentioned in a manager’s requisition form)
What would this hire expect from the team as well her manager? (Would help you define Total Rewards for a particular role)
Where do you think this ideal candidate hangs out the most? (Targeting and outreach inputs)
Dive Into The Past Look into your past hiring numbers. Dive deep into the organizations where you hired people from. If any of the following holds true, you have work to do.
If for 100 roles, you hired from more than 30 unique organizations (you have a scattered talent pool – you are not concentrating your efforts on branding in front of a targeted audience)
What was the percentage hiring from direct competition (if the figures are less than 10% you are looking at large ramp up times for people hired from other industries)
Ask managers about the direct correlation with performance ratings – Performance ratings are an organization’s best-kept secret so we doubt you would get access to them but it does not harm to reach out to managers and ask them if there is a direct correlation between performance ratings and the organizational/ educational background of recent new hires.
The Resultant – Here is a sample persona we built for one of our clients, a leading transport fleet tracker -
“Shikha (fictional name) is currently employed as a Mathematician at [Company X]. She has an advanced degree in Mathematics from one of 50 recognized institutions in the charter. She has an intermediate degree of exposure to statistics, predictive modeling, visualization tools and business knowledge.
In her past avatar, Shikha has spent 1-2 years working at a Startup before transitioning to Company X. She is currently based in Bangalore.
On the personality front, Shikha leans towards being inquisitive and solutions-oriented.
Shikha is active in the following Linkedin Groups
Group A
Group B
Group C
Group D
The best mode to reach her is email. We recommend an invitation to Shikha for our upcoming 6 Sigma hackathon and consequently build an ever-lasting relationship with her”
Imagine the possibilities when you are armed with a persona like this. A persona helps you eliminate clutter from the information overload that accompanies opening a role. It helps you separate the wheat from the chaff. It enables your journey to think like a marketer in a recruiter’s boots. Above all, it strengthens your understanding of the operational environment and aligns recruitment with business priorities.
Isn’t it what we are all striving for?
Till next time.
0 notes
Text
Lessons from scale: Django
This February, I visited Pune to speak at PyCon Pune 2017. My talk was basically a brief summary of my learning after having been working with Django in production for the past couple of years, as part of building the DoSelect stack.
Why choose Django?
The last thing that I want to spark off is a flame war over frameworks here. There are a lot of good ones; Flask is one of my favourites, but if you are building something of a greater scope than a one-off web service, you’re going to need the batteries anyways. The pace of prototyping, and development in general, is pretty fast as a result.
Django is an opinionated framework and makes a lot of decisions for you. While most of the design patterns are common sense, it’s very easy to break out of the box when you want to. This gives you a lot of flexibility as and when your application grows in scale and use case.
Lastly, Django has great community support, and it has been around long enough to be considered a mature project.
Tuning your WSGI server
We’ve been using Gunicorn, and it has been pretty awesome for us. As easy it is to setup, it’s important to tune your conf to get the maximum juice out of it. Introspect your application’s needs and take the following decisions:
Determine worker_class — you need to know when to use sync and async workers. Async workers work great when your load is I/O bound and there are no CPU-heavy processing involved in a request-response cycle. Use sync workers when you are doing a lot of processing. This way, Gunicorn utilizes all available CPU cores optimally, and your response times are sane.
Adjust parameters like workers, worker_connections, and keepalivewisely. A trip to Gunicorn config documentation is worth your time.
There is such a thing as too many workers. Even if you scale your CPU and memory, you cannot infinitely scale the number of workers, since the efficiency curve plateaus eventually. Horizontally scaling your hosts is needed in the end.
Tuning your proxy server
NGINX is a great reverse proxy server — it’s lightweight and scales very well with increasing load. A few tweaks and you can optimize the perf.
Set worker_process auto, which will automatically scale your NGINX processes with the available cores. This is not the default setting.
Adjust keepalive_timeout. This should match the timeout on your WSGI server, so you don’t run into timeouts for requests that take more time.
Turn on tcp_nopush and tcp_nodelay.
gzip all the things — if you’re not doing it already!
This is a great blog post about NGINX performance optimization.
What’s taking so long?
If you have a client facing web-app, Chrome Developer Tools should be your best friend. Measure all the requests processed by Django, and take a detailed look into the response times — find the rate limiting step, and optimize it. Rinse. Repeat.
If you make a lot of complex queries, use EXPLAIN ANALYZE on those queries from your SQL command line. This is a nice and easy way to identify which queries are taking a lot of time, so you can optimize them. When using the Django ORM, developers generally don’t think too much about what the actual queries are. Tailing the database logs is a fun exercise that every Django developer should try at times.
Caching
If you’ve scaled your app servers horizontally, it’d be good to use Redis as your primary cache. Redis works wonderfully in such use case.
When you are using Django’s contrib User model, and all your auth works on top of this, start by caching all user sessions. Again, this is not the default Django conf, so a lot of people tend to miss it. While you are at it, you’d want to cache your User model lookups as well, since these resources are being read way many more times than being written to. After that, depending on your use case, you’d want to think about resource-level caching.
As a rule of thumb, use a CDN for all things that the user cannot change. This includes static files, images, and HTML templates (if you have a single-page app).
Django ORM
The ORM is awesome, and one of the primary reasons why Django has been adopted so widely. But after you’ve run your Django app in production for a considerable time, you’d realize that it’s not the silver bullet after all. Take a peek under the hood, and look at the queries the ORM is making. Since it’s so easy to use the ORM, it’s equally easy to use it the wrong way and axe your foot. Do not fear from breaking away from the ORM when you need to.
Automatic relationship access can bite you when you are using something like Django Rest Framework or Tastypie for creating API resources. It’s better to expand relationships carefully. Add extra indices where needed.
When you are building a complex application, chances are you’re gonna need a lot on-the-fly processing of data that you get from the DB before you can send it as response. While a lot of things can be denormalized for better access, this is not feasible in most cases.
For example, the test reports on DoSelect consist of a lot of derived metrics about the test-taker. Most of these metrics are hard to denormalize since they depend on attributes that can change arbitrarily — like the qualification status (which depends on the test cut-off), percentile (which depends on the number of test takers), etc. These derived attributes are also used to sort the leader boards.
Instead of doing these derived calculations in Python, it’s better to do this in the database itself, and query with the result. One example is time takenmetric. Normally, you’d need to store start and end times separately, since you might wanna change them. So instead of denormalizing time taken as a separate field, just calculate this in the database.
As a rule of thumb, always denormalize data which has no bounds — like number of comments on a post. If a post has, say. 20k comments, you’d better read an integer than perform a COUNT query every time. Dehydration, which means on-the-fly calculation, is better when you know the bounds — like on the previous paragraph, time taken.
Scaling your database
Always use database-level connection pooling — which works very well when you are scaling your services horizontally. Django already does application level connection pooling, but things can get complicated when you are using a Celery worker — and you will end up using Celery workers. If you’re using PostgreSQL, pgBouncer is a drop-in solution for this.
Monitor all the queries to see what’s holding you back.
If you’re using a streaming replication of your database, you might want to look at segregating your reads and writes. You can offload all your reads from slaves, and dedicate all writes to the master.
Aside: If you have a use case that involves a lot of filtering, in addition to search, you might want to offload all your list reads to the search engine as well. Elasticsearch is a great search engine, and is optimized for reads. You’d be surprised by the performance boost.
youtube
Full talk slides can be found here: https://sanketsaurav.github.io/django-on-steroids. If you have any questions related to this, I’d be happy to answer them. Add a response here, or hit me up on Twitter.
0 notes
Text
Accurately predict your next data science candidate on DoSelect
Ever wondered at the ease with which Amazon pops out the next book off their virtual shelves and accurately suggests you might love it? Or the way Netflix almost knows what your television preferences are? What drives this oh-so-pleasant experience for a user when they land at your web or mobile application? The heart of this answer lies in a technology which will outpace all technological breakthroughs in this decade - Data Science.
Dive into some of the many use cases of Data Science - face detection, fraud identification, search optimization for the most accurate results in your preferred e-commerce website, emergency supply optimization before a Hurricane (Sandy), Data Science is omnipresent. Which leads us to the most obvious question - where are the enablers for Data Science?
Through the recruiters’ looking glass
What is required of aspiring Machine Learning Engineers and Data Scientists as their core acumen? According to the established professionals, the most important requirements are:
Fundamentals of Machine Learning
A sharp aptitude in statistics
Good programming skills
A never-ending curiosity to understand and answer questions using data
An Intellectual adaptability to constantly learn the many domains and skills required in Data Science
An extensive research within the industry tells us that the Machine Learning workforce requirement within Data Science is growing rapidly. However, the rise of opportunities and workforce demands in the market are unfortunately not being met.
Why is this happening?
To gauge the various metrics that are vital in prospective Data Scientists and Machine Learning engineers, the current methods of assessments being used across the sector are –
Puzzles to gauge approach towards problems
Outsourced aptitude MCQs to know a candidate’s knowledge on their basics.
Written tests to gauge their mathematic or statistical skills
Solutions submitted as files to glean a candidate’s way of thinking and coding.
While the methods sound workable on the outside, when we peer deep into the system, we observe some serious, unanticipated glitches in it.
Due to a huge disparity between the expectations of hiring managers and the current assessment practices, the recruitment sector within Data Science faces serious hurdles, such as -
The usage of Standardized methods that don’t fulfill requirements - The current methods of assessments in use leave the most important areas of assessment uncovered. For e.g. A great programmer with zero statistical and analytical skillset would probably bag the job instead of a candidate that showed a good flair in all the areas, albeit, with a relatively lower score.
Investing great amounts of training time on fundamentals - Post-recruitment, trainings happen across organizations to condition the Data Science and Machine learning workforce. Our research indicates that these trainings take up to a year to cultivate the desired skills – majority of which were sought for in candidates during hiring.
Lack of sustenance in fresher hiring – Because of the aforementioned disparity, recruitments do take place in the standard way – often with a substantial number of recruitments - but give rise to difficulties in the sustenance of hired candidates on the job.
The right kind of Data Scientists and Machine Learning engineers bring invaluable business insights at a larger scale, and intelligently manipulate data on a daily basis. With the requirements for a Data Scientist being unique in themselves, it is natural to match the hiring methods in this stream to its unconventionality.
Acknowledging this fact, DoSelect has brought in a novel assessment tool to help you find and know candidates - before you interview them. Our platform now enables Data Science assessments that incorporate Machine Learning assessment in it.
Within a typical ML or DS problem on our platform, a candidate goes through a variety of analysis in the steps below:
EDA - The most critical step in a Data Science problem is Exploratory Data Analysis. It is an approach to analyze the given data and determine its important characteristics. A mandatory EDA before proceeding with the problem –
Gauges a candidate’s capability of understanding the data without making any assumptions.
Indicates how well a candidate can apply statistics and visualizations to the data.
It helps evaluate their capability to formulate a valid hypothesis around the data.
Data Plotting - Data plotting involves the representation of data sets using a graphical technique. This step illustrates a candidate’s understanding of the relationship between variables of the given data.
Testing for Accuracy - After they make a predictive model with the training datasets, a candidate’s thoroughness is observed when they test for accuracy and validate their models using a cross-validation data set that’s provided on our platform in the coding environment. of analysis.
On a given problem, a candidate is expected to carry out data analysis by exploring the given data set and then graphically plotting the data using Python or R. Post plotting, candidates engage in predictive modeling by making a data model and observing its errors and accuracy thoroughly.
As our problem sets are based on real-world data, the plotted graphs and the predictive models help understand a candidate’s analytical mindset.
After a solution is submitted, DoSelect’s assessment engine checks the candidate’s solution against our test datasets. Based on the accuracy of prediction, that solution is accepted or rejected.
If a recruiter wants to compare the error metrics of four submitted solutions that have been accepted, they can observe the accuracy of each solution to figure out the best performers.
Data Science had its niche carved at inception, always following an entirely different path in the industry. When it comes to the process of recruitment within this stream, the use of standard methodologies can be gravely misleading to the recruiters. Imagine the kind of transformation one could bring if they found industry-ready Data scientists to hire and set sail. That’s the vision we’re busy trying to realize.
DoSelect currently supports Python and R for Data Science assessments.
What are your current Data Science and Machine Learning assessment blues? Write to us at [email protected] and we would help you eliminate them in a cost efficient and technically exhaustive manner. Curious to know what this assessment feature can bring to your team, write to us at [email protected] and we would set up a conversation.
Till next time.
0 notes
Text
Introducing The Holy Grail Of Technical Assessments Checklist - The Code Quality Analyzer!
To state things upfront - Writing code is a process that entails a thought process more than just writing code. Now that read very redundant, didn’t it?
Before you dismiss this thought as a bunch of content writers drowned in Holi revelry, allow us to expand.
Think of what the great majority of developers work on; adding, editing and rewriting portions of a pre-existing codebase. 90% of newly recruited developers tend to work on legacy projects – projects that have been worked upon by several developers before them; it’s just the tiny minority of developers who work on projects that start from scratch.
What does this demand? Hiring developers who write code that is readable and digestible.
As Martin Fowler had so eloquently stated – “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
Sshh! The Code speaks, and we’re listening.
The biggest distinction between a good and great programmer is marked by the nature of their code. Whilst a good developer writes quick code that accomplishes short term goals (does what it intends to do), a great programmer’s code would always be reusable, easy to understand and contains no duplication (read “scaling an application to Godzilla levels”)
With code quality (or lack of) being the Holy Grail of all developer recruitment parameters, we feel incredibly pumped to bring an intelligent new feature to our Code Quality Analyzer.
For each code solution, DoSelect now incorporates in-depth details about its code quality issues along with an individual and an average quality score.
By categorizing code quality issues into two main types - Errors and Warnings, our analyzer cleverly highlights the varying nature of code violation with red highlights signifying errors and yellow highlights signifying warnings. Another useful addition to these highlights is respective annotations for the exact errors. For instance, a “bug” level error is reported in the form of an annotation for violations which lead to well, um, bugs (another redundancy, we are getting bit by bugs, it seems!)
The quality issue types cover various violations under their umbrella.
The issues covered under Errors are –
Complexity to check for interdependent paths through the program to highlight a code's complexity.
Bug Risk to cover scenarios where the format of an executed code is vulnerable to bugs.
Security to cover scenarios where the format of an executed code is vulnerable to security issues.
Performance to check the way that code is being implemented when it is not written in the most optimized manner.
The above image illustrates a Bug risk alert and its corresponding description in a snippet of submitted Javascript code solution. The issues covered under Warnings are -
Clarity to check for understandability and readability of a code by other developers.
Style to cater to metrics such as code formatting, whitespace, comments, character case, etc.
Duplication to check for code violations due to redundant and duplicate code that creates extensively lengthy solutions.
The above image illustrates Style warnings and their corresponding descriptions in a snippet of submitted Java code solution.
Normally, human code analysis requires considerable amounts of inspection in order to gather a well-rounded understanding of a candidate’s skills. With a code quality analyzer that integrates itself with human-like perceptive annotations and insights, you’d be able to get a code level understanding deeper than ever before, and in one-sixth of the time.
What are your current code quality assessment blues? Write to us at [email protected] and we would help you eliminate them in a cost efficient and technically exhaustive manner. In case you want to give these assessments a spin, write to us at [email protected] and we would set up a conversation.
Till next time.
0 notes
Text
Introducing Selenium Assessments on DoSelect
Since its very inception, Selenium has been carving out a distinctive identity for itself. It is a testing tool designed to help you write automated UI tests for web applications. Today, Selenium is taking the testing world by storm with giants like Google, Amazon, and Cisco, to name a few, that are transitioning towards it. Our research suggests that, presently, Selenium captures around 80% of the market.
In parallel, the last few years have also witnessed a substantial shift in the approach towards the Software & System testing cycle. For someone outside the testing sphere, this transition involved deeper involvement of testing at each stage of development. As a major component of the test suites in modern applications, this shift in the approach has made Selenium the de-facto choice of skillset within the Automation Testing sector.
With the shift happening and the demand for automation workforce increasing with time, companies are focusing more and more on efficient hires. However, that’s where the catch is.
The most crucial factor in the hiring process of automated testing frameworks is the unspoken expectation of testing ability. Post a candidate’s technical knowledge assessment, there is no way to tell how efficient their creative aptitude at exhaustive testing can be. This is a blindfold that often leads to disappointing hirings after which companies begin to invest their resources into training. After training the employees on the basics, they continue investing with the progress of time, to build the aptitude skills that were a requirement at the time of hiring.
Uncovering testing acumen with a testing tool
DoSelect’s platform brings in Selenium assessment that enables test makers to simulate real-world interaction with a web application interface. Using Selenium’s rich set of APIs, our platform enables candidates to test a web application’s functionality by enforcing sanity checks on the workflows.
The Selenium problem pool on our platform contains a link to a web application and description about the workflows. Candidates can then write test cases for the problem using Java or Python.
Fig. 1 DoSelect currently supports Java and Python for writing Selenium test scripts in solutions.
Upon submission, the developer’s solution is checked on multiple parameters.
The elementary parameters of evaluation -
The technical grasp of the language being used.
Their knowledge of Selenium, and the capability to implement it.
The most important parameters of evaluation -
The exhaustive strategy with which they tackle a problem - Our assessment engine is designed to gauge the well-roundedness of a candidate’s solution based on the kind of test cases that their solutions contain.
Complete coverage of edge cases in a solution gives us and in turn you, a deep insight into the candidate’s skills of thoroughness and the creative roundedness at being able to break the code.
Fig. 2 Illustrates the insight that our logs would give into a candidate’s submitted solution.
DoSelect’s assessment engine gives a step-by-step illustration of the submitted solution while it is being executed, thus highlighting the edge cases that are being covered.
Fig. 3 DoSelect’s evaluation logs Our evaluation logs help inspect the correctness and logic behind the functioning of each test-case covered by the candidate. The logs show what went right, where the solution went wrong, and what should’ve been taken care of. These insights help hiring managers by giving them a wider scope into a prospective candidate’s mental space and help filter out the candidates who can write tests effectively using Selenium as a tool.
Recruiters and trainers now seek more than just the basics. While a sound knowledge of technology is always a pre-requisite, when it comes to testing, the requirements don’t stop there. With the constant evolution of hiring and technical industries, it is more crucial than ever to tap into the depths of a candidate’s acumen. We, at DoSelect, remain faithful to that goal.
Our current release supports Selenium WebDriver with Java and Python.
Curious to know what this feature can bring to your team? Write to us at [email protected] and we would set up a conversation. Do share your current automation testing hiring blues with us at [email protected] and we would love to help you eliminate them in a cost efficient and technically exhaustive manner.
Till next time.
0 notes
Text
Database Hiring just turned Delightful!
The road of hiring a programmer is convoluted and enervating. The frazzled state of recruiters at the finish line down that path is a sight we shudder to think of. Our recent venture down the database lane gave us an opportunity to speak to some of the most established professionals in the sector, and their experiences were an eye-opener.
While conducting recruitment for database professionals, recruiters often grieve the ambiguity that surrounds the process. This ambiguity arises due to factors such as the absence of the purported skillsets or experience, a certification that doesn’t sum up to much at the desk, a lack of practical experience of real-world problems, to name a few.
The most common laments across organizations are a lack of understanding of basic functionalities & concepts and their hands-on knowledge. After a strenuous recruitment process, most companies spend extensive amounts of time and resources training their new recruits. These training periods often last for six months but are also known to have gone up to a year.
If only, there was a way to automate prediction of extraordinary database talent!
Keeping in mind the struggles of hiring and training SQL Programmers, and the dire need for thorough efficiency that eventually filter the best database candidates, DoSelect has introduced a breakthrough database assessment feature on its platform that’s synonymous to relief.
No more woes of redundant tables (Who are we? Carpenters?), erroneous JOINS, misused primary keys and the like. From basic concepts to the more advanced and core ones, we’ve got you covered.
But aren’t other assessment engines doing so already?
The industry currently offers anachronistic methodologies. Your means are limited to MCQs, one-word answers, and basic querying.
To keep up with the sector’s growth and increasing level of competencies, our platform now supports two kinds of database assessments:
SELECT Query based - Along with the basic querying, a candidate’s understanding of more involved concepts (for e.g., the types of JOINS) can also be tested over a reasonably large database.
DDL/DML Query based - The incorporation of DDL and DML ensures a thorough learning and an in-depth evaluation. This inclusion renders high flexibility by equipping the assessment teams with a broad range of questions that has the potential to exhaustively test a candidate’s capabilities at creating and manipulating databases.
Our submission engine evaluates the accuracy and sanity of the submitted queries, in parallel. A well-rounded report examines the essential metrics of the candidate’s overall performance, followed by a careful winnowing of their proficiency across different database concepts like JOINS, Conditions, DML, DCL, Clauses, Comparison Operators, etc., each of varying complexity. This ensures that technical hiring managers have a more exhaustive view of a candidate’s strengths and weaknesses before getting into an interview.
The proficiency level is measured on the concepts, complexity and time taken to execute an optimized query. Our performance analysis highlights the setting under which the assessment takes place to understand each candidate’s competitive expertise better.
And the pro bonos?
By minimizing the shadow resource’s time involvement, and the resources required to train a recruit, we hope to bring a wave of relief for the recruiters and trainers alike. Our conversations with database engineers reveal that a minimum of 6 to 12 months is spent on training a recruit. What if DoSelect reports eliminate the need to do so because you are already aware of them? Deployment ready candidates, without training costs and time, are a reality now.
Our current release covers MySQL, PostgreSQL, and Oracle.
What are your current database hiring blues? Write to us at [email protected] and we would help you eliminate them in a cost efficient and technically exhaustive manner. In case you want to give these assessments a spin, write to us at [email protected] and we would set up a conversation.
Till next time.
0 notes
Text
Swati is now a DoNut!
And it keeps getting better! Our new addition to the engineering team, Swati is an open-source enthusiast who loves talking in code (Parlez vous Python?). She will be bringing in her superpowers to work on the backend systems at DoSelect.
As a kid, she aspired to be a scientist which she realizes today in the field of research. When she’s not writing code, you will find her nose buried in Sci-fi books. Her other passions include semi-classical and contemporary dance forms and poetry writing.
We welcome you to the team Swati!
Psst! You can read her tech articles here. You can follow her on Twitter and DoSelect
0 notes
Text
Barkha is now a DoNut!
Give it up for Barkha!! A fantastic new addition to our team, Barkha will be helping DoSelect communicate our motto more clearly to our users and customers with her awe-inspiring user-interface designs of the platform.
She is a final year I.C.T. undergraduate student at DA-IICT who is perpetually confused about what to do with her time. The ever-increasing interaction levels between humans and computers fascinate her.
A believer of the ideology that the design eventually makes or breaks the product, she spends a lot of her time thinking about the appearance of things. Barkha is a part-time philosopher, an avid reader and a traveler at heart. When she is not busy designing, you will find her quoting lovely words of wisdom.
0 notes
Text
Navneet is now a DoNut!
Introducing the latest addition to DoSelect sales team, Navneet Lekshminaraynan. He is here to add more numbers to our revenue and take the ship to next level.
He is a traveler at heart and a good listener by nature. He loves to interact with new people and believes that their stories are where the real knowledge lies. Apart from this, he enjoys good music and sometimes a song.
His best idea of a vacation would be a bike trip to the remotest part of the world enjoying with the native people and sharing jokes in a language neither of them understands. You can catch him on DoSelect here. Here is his Instagram profile.
We welcome you to the team Navneet!
0 notes
Text
Raja is now a DoNut!
Yes, you heard it right. We just got Raja on-boarded as a Market Analyst. Born and brought up in Bangalore, he has pursued his B.com from MES college.You can communicate with him in English, Kannada, Tamil, Telugu and a bit of Hindi.
He loves exploring and learning about new markets anywhere around the world. Tamil movie actor Vijay is counted as his favorite hero along with Thupakki and Kaththi as favorite movies.
His special message - Don’t sit and wait, start doing and fail and get back to your business again.
0 notes
Text
What every developer should learn from designers?
I recently completed MOOC, the end project was a peer one. During which I got a chance to review programs written by my peers who were taking the same course. I went through about eight of them and then gave up. Most of them were quite “clever” to wrap my head around. I wanted to reach out to each of the programmers and lend my two cents, which is not possible for obvious reasons, so, instead, I decided to share what I have been wanting to for the past two months…
Almost a year and a half back I was introduced to design. I loved it. Since then I have been following design religiously. The more I learnt about these professions, the more I realised that the “stuff” that makes good design and great code have very similar origins.
When a designer sits down to sketch an interaction or a wireframe his main focus is on the user. Every added or removed detail goes through a level of consideration. The motivating factor being that, their work will have an audience, in the sense that the user will directly interact and see their creation. A simple fact that many programmers fail to realise is that their code is read the number of times than it is written. The computer is not the primary audience to our craft, we don't write code just to be read by compilers or interpreters. There are actual humans with emotions and feelings that go through every line of code trying to understand the nitty-gritty of what the code is trying to do. And it is our job to make it easier for them. Just like a designer does for its audience, the end user. Designers don’t try to make an interaction twisted or clever. There are no Aha! moments in good design. Best is given to make sure all their intentions and assumptions are plainly understood. And that is what should be aimed while programming too.
It's very easy to get lost in the details of logic while programming and forget about more human aspects of the code. What I believe is that if the code is written with a simple idea in mind that someone will be going through it later, can result in more human code being written. Because when you build something you should not only be proud to show the final product but the code too.
Towards the end of the article, to make the point more crystal I would like to include some great programming advice, quotes and articles that I found scattered online. Enjoy
Senior software engineer to me while I was interning “Oh, I see how you did that. That’s very clever” my reply “thanks!” Senior software engineer “that wasn’t a compliment” (source : What is the best programming advice you’ve ever received?)
Bruce Lee was a programmer
The Art of Programming
And of course Writing code for Humans
This is a guest blog post by @NashVail which originally appeared here. Do share if you like it.
0 notes
Text
8 Reasons To Dump Your Current Tech. Assessments Vendors, Now.
Did you notice we mentioned them as “vendors” and not partners?
2017 has just begun and we have been having numerous discussions with progressive HR and Technical teams about the perils of working with vendors in the current assessment landscape. If technology pundits and experts are anything to go by, non-linear growth would be the proverbial pot of gold at the end of the rainbow for the service landscape, considering that shrinking margins and throwing “people at the problem” comprise the current linear growth models.
What does that imply for hiring teams?
You can’t be relying on your current technical assessment vendors, for the rapid pace of an organized shift in the skills bank required to achieve the new growth wave, will see you aligning yourself with partners. Partners who understand that Machine Learning, Artificial Intelligence and Mobility would be driving much of your Automation agenda. Partners who would be crunching data from external sources and helping you with intelligence about a particular candidate’s record on GitHub and Stack Overflow. Partners who are quick to adapt themselves to the changing technology landscape and able to help you with assessments on new age frameworks.
Vendors help you with shortlisting basis assessment scores on legacy technologies. Partners help you derive insights out of the scores. For a vendor, an assessment is the end. For partners, assessments are means to an end.
Which begs the question — What are the ends?
a) A guaranteed increase in quality of technical hires.
b) Insights into a candidate’s prowess around core language concepts.
c) Insights around code quality. Ask any tech. head if she can allow a candidate whose code violates conventions for a language and she will shout “Hell, No”. A partner helps you evaluate candidates on code quality.
DoSelect’s ethos before even writing the first line of its code was to shape itself as a true partner for hiring teams.
Why?
Because the founding team had worked with all popular technical assessment vendors. They were found wanting in almost all aspects which are of mighty importance to technical teams when they induct new members in their teams. Granted that the aggressive sales and marketing machinery of these vendors have served them well enabling them to fire a decent client roster for themselves, but it was imperative for us to build a tool that truly help hiring teams with better insights around the candidates they are mulling to hire.
In almost every discussion we have with hiring teams, one question invariably pops up — “How are you different from HackerRank/ HackerEarth/ Mettl/ Aspiring Minds/ CoCubes/ Codility/ Testdome/ Expert Rating/ (Insert your current vendor here)?”
The answers are many. Let us delve into them one by one.
a) Code Quality Analyzer — DoSelect’s reports point out the exact deficiencies in a candidate’s code. Whenever the code violates set conventions of a particular language, our engine detects and flags it. The underlying dangers of not analyzing code quality is that faulty code might execute test cases well but not following convention leads to “technical debt” which is abhorred by tech. teams. They are not able to scale the code for new enhancements if conventions are not followed.
The image underneath is a grab of our report which highlights the code quality score.
b) Language Based Assessments — DoSelect’s suite of assessments enable you to assess candidates on core concepts in a particular language. Vendors mostly assess these by the aid of algorithms and Data Structures whilst the role might or might not be big on algorithms. Simply put, a candidate you are considering to hire for a Java role should be assessed for concepts like Inheritance, Polymorphism, Method Overloading, Strings, Classes, Methods etc. and not mere algorithmic knowledge.
Below is an excerpt from the report that details know-how in core language concepts.
c) “Crunch” — DoSelect’s “Crunch” pulls data from external sources like GitHub and Stack Overflow to follow the technologies where there have been contributions from a particular candidate. Wouldn’t it be uber helpful if you are aware that a particular candidate who is being considered for a Python role has also been contributing to Android and PHP channels in these forums?
This image underneath showcases our report which outlines a candidate’s submissions to GitHub and Stack Overflow.
d) Measurement of API skills — For developers working on home grown products, working with external APIs forms one of the most crucial components of a typical day at work. Current assessment vendors cant’ assess developers on API skills because their core isn’t engineered to talk to other networks (read: internet). DoSelect’s API assessments see candidates working with Open APIs (Twitter, NASA etc) and solve challenges by diving into them.
Following is one of the sample problems in the DoSelect API library.
e) Automated Testing Framework® (ATF)— Current assessment engines are opaque about how they allot scores in a particular test. DoSelect’s Automated Testing Framework® makes this black box redundant by not marking candidates on mere input-output results but also the inner workings behind the functionality of the code. Simply put, whether a Java code has correct implementation of Classes would be one parameter on which ATF would evaluate final scores.
f) Auto-Droid — Android assessments that evaluate a candidate on not mere build but functionality as well. Current engines evaluate candidates on mere build (“build” stands for the concept where the mobile app. is evaluated only on one parameter — whether the code is written correctly or not — it does not enlighten you with the metrics around “correct functionality” of the code)
To evaluate for functionality, the hiring team has to download the application and check for test cases. Imagine your pain if you have to evaluate 150 candidates — you are looking at downloading 150 applications, leading to a draining time per hire and probable chances of you missing out on a great candidate if she is placed as the 75th applicant in the pool of 150.** By the time you evaluate her code, she has been snapped up by your rivals.**
DoSelect’s Auto-Droid evaluates the candidates on both build as well as functionality — the report saves you crucial hours by pointing whether the application does it’s job well or not.
The following image is a grab from our Auto-Droid report. The GIF on the right showcases the functionality of the application, in an automated format.
g) Auto UI — An automated UI assessment framework that informs recruiters whether the candidate’s application fulfills the functional accuracy in the UI front. For instance, if the candidate is creating a temperature converter, the DoSelect report can detail whether the functionality of the converter is working or not.
The report underneath details the UI of the application, spawned from the code, written by the candidate.
h) Machine Learning and Data Science Assessments — Since you are high on an automation drive, you would need to assess candidates on modern Machine Learning paradigms. An MCQ assessment can be faked, guessed and manipulated in more ways than one. Considering that the talent pool in these technologies is limited, you can’t afford to go wrong with your next hire. This team is going to drive your non-linear growth, after all.
What needs to be assessed then?
1. Application problems on real world data sets
One of the questions which are put forth in our assessments are
“You have N images with one of the two tags — “Apparels” or “Electronics”. Build a model to tag any image in the following large data set as one of the two”
2. Sentiment Analysis
“Given a set of reviews of a particular product in a marketplace, determine the overall sentiment with either a “positive” or “negative” tag”
DoSelect’s suite empowers you to assess candidates on use cases like the ones mentioned above. This is the closest your team can get to measure actual, on-job proficiency in ML and AI skills.
These 8 reasons should couple DoSelect as your ideal technical skills measurement partner, in the truest sense of the word.
The current assessment scenario needs an overhaul if vendors have to become partners of HR teams to ensure their success in identifying the right talent, in lines with the strategic imperatives. DoSelect attempts to do just that, and more, by lending crucial insights which impacts your engineering team’s performance, bit by bit, literally.
What are your thoughts? We would love to gather your brains around the seismic shift that is due to hit hiring teams and the arsenal you are trying to build for your business units.
Please drop us a note at hello@doselect or a message at +91–9711919089 and we can help you a tad (actually, more than a tad) to devise the right assessments for their skills.
Till next time.
Update 1: Some readers asked for a grab of how the candidate interface looks like in DoSelect. The following GIF is taken from a live test happening as I type this
Update 2: Readers also asked for a sample report for our assessments. One such report for a Java assessment can be accessed by clicking this link - http://dos.lc/java-report-sample
0 notes
Text
Poulamee is now a DoNut!
Today marks Poulamee Chattopadhyay’s first day as a DoNut. From the city of joy - Kolkata, she is a true bong (literally). She will help our sales squad crack more deals.
Her childhood aspiration was to become a designer or a writer. Like everyone else here at DoSelect she is inspired by her Mom. Poulamee is a bookworm, enjoys shopping religiously and loves sitcoms. Phone, chocolates, family and friends are few things she can’t live without.
She says - “ The most courageous act is to think about yourself”.
0 notes