Screening developers on all levels before receiving a job offer is standard as in every other industry. Whether on a whiteboard, solving a time challenge, or implementing a take-home project – many senior-level developers wonder whether programming exercises are still something they should participate in.
It is an understandable consideration when you are a seasoned tech professional. Do you, a ten-year-old veteran with a wealth of technology experience, still have to prove yourself in (maybe trivial and banal) coding challenges? And vice versa, should a company even consider you if you reject a coding test?
There is no categorical answer – it depends. If you refuse any part of the interview process, expect the company to abandon the process entirely. Put yourself in their shoes: why would you want to hire someone who disapproves of “industry standards” for the interview process?
If you refuse to code anything as part of the interview process, the most likely scenario is a rejection. It shows the employer that you are ready to cause trouble about something that is a well-known practice. In addition to your professional skills, you also have to fit the company culture. By refusing to take coding tests, you make marks in the sand before you even sign the job offer. Technical exercises are not exclusively used for hiring decisions.
Suppose you are asked to invert a binary tree on the whiteboard or similar nonsense. In that case, most HR managers will likely accept your counter-offer for a programming exercise or technical homework. But instead of saying, "I'm not doing this," you'd better say it like this: “I'm not sure if a whiteboard is the best way to show my knowledge. I understand why we have this, but I would be much more comfortable with a mini-project.” Or another good way could be to suggest pair-programming. Spending 1-2 hours together screen sharing will soon give you and your interviewer a feeling if both of you are “compatible”. You will find out if you like the way the company approaches tasks and vice versa.
Many recruiters or hiring managers may not have pondered the test assignment. Chances are they hate it as much as the tech pros interviewed. However, if you can give interviewers an alternative, they can reconsider their process.
In addition to whiteboards, there are other options for companies testing your knowledge: take-home projects and on-site tests. The on-site challenges are what one would expect: They sit down at a computer, explain what to do, and give you a timeframe to complete the task. Most of the time, the company just wants to see if you've mastered the basics. In other cases, the tests are impossible to complete; they just want to see how much you can achieve.
In our opinion, the live test is a good compromise. It does not leave a bad taste of a whiteboard in one's mouth, but it helps your potential employer recognize whether you have the necessary core competencies. Technical homework is a bit more convenient, but it also has its peculiarities.
Coding skills tests are time-consuming. But be careful if the company asks you to take the test for their platform. Are you being asked to fix a bug or create a feature for an existing app or service? If it is not a test for an application, it is already working for them. In the case of technical tasks that you should work on at home, make sure that these do not get out of hand. Some companies claim that you only need to spend a few hours on the project, knowing that you will need to invest much more time and effort. Moreover, if a project produces results that the company can use in production, or if you are asked to spend a day or more on a task, it is certainly not inappropriate to ask for compensation.
Opting out of any programming as part of the hiring process will most likely end up the process. You know your skills. Potential employers just want to see whether or not you are the right person for the job. The ideal way is to find common ground so employers can see what you are capable of and you do not feel exploited.
Therefore, we created a collection of guides to prepare you for your next job interview (growing continuously):