10 lessons for software developers before they start applying for a job

10 lessons for software developers before they start applying for a job

Finding the right environment that best supports one’s professional goals can be a daunting task, especially in the current labor market since it offers an abundance of opportunities. Based on many years of experience conducting hundreds of interviews at Ragnarson, I would like to share a few observations of our team to assist job applicants.

All opinions in this article are derived from direct interviews with potential candidates. Admittedly, they are mostly based on Polish software developers in their 20s and 30s. We haven’t done any research to confirm these findings, and the information is just based on empirical evidence from my day-to-day interviews and work environment.

Market characteristics

As of August 2018, software developers in Poland are still in high demand. The supply of talent remains too low. Companies in the market mostly try to appeal to developers by offering even higher salaries and numerous perks.

Software houses are the most common employers. They acquire software projects from their customers and hire developers to do the job. There is a smaller number of product companies, which build their own software. Some of them are founded by local entrepreneurs; the rest of the companies are mostly Western-based and rely on Polish developers to a various extent.

In short, developers have plenty of options in the job market and also hold some leverage over companies that are in need of talent. Employers are quick to identify potential job applicants in order to attract them. In our opinion, in many cases, such dynamics exacerbate the essence of the problem, which will be described in more detail below. This is also, most likely, not the only issue. However, this article aims to provide some perspective regarding what can be improved in relation to developers rather than offering a comprehensive study of the industry’s misdeeds.

Recruitment process

Interviews with candidates are the most important tool in our recruitment process. They allow both sides to get to know each other to make certain there is a fit. In order to ensure long-term satisfaction, such an evaluation is crucial. More information about our recruitment process can be found in this video (Polish language only).

Before we delve into our insights based on interviews, one important caveat must be mentioned. What we like or don’t prefer in our candidates is not necessarily true for other employers. Every company has its own unique situation and accepts candidates based on its own specific requirements. Our suggestions might be useless for some developers. Nevertheless, these lessons can be generally helpful regardless of any specific context.

What the applicants do well

Asking questions

The most rewarding interviews for our team are the ones where the applicants come prepared with questions. An interview should not be an asymmetric process for an employer to only learn about the candidate. It should be an exploratory process for both parties. A promising developer will prepare a comprehensive list of questions to learn about the work the company does and its environment. The best questions ask us to elaborate on our workflows, self-management practices, and culture.

Understanding business models

An understanding of our business model is another indicator of a mature developer. It’s not merely knowledge related to how the company makes money but also how it adds value. The division of work and cost of bureaucracy are important elements of a business model, as well. The most valuable insights we have received usually came from freelancers and startup/agency founders, who had worked for themselves before and had learned from their own setbacks.

Handling a reasonable number of simultaneous applications

The best recruiters have an excellent process in place. The ones who rely on their gut instinct are less successful on average than those who rely on data. This means that every decent recruitment process is going to be time-consuming. A reasonable developer plans ahead regarding how many companies he/she is able to check simultaneously and how much time the process will take. The savviest candidates carefully plan to review 8 companies over the span of 4 weeks with only 2 companies under evaluation at any one time.

Offering something in return

The abundance of opportunities in the market has narrowed candidates’ thinking about their potential contribution to their future working environment. A what-can-I-get attitude has become dominant, which leaves almost no room for a consideration about what one might be able to contribute. Programming skills are still essential, but they usually are not a good differentiator of one’s potential since so many others code well, too. In our company, it’s not a factor that makes you stand out although we acknowledge that this may make us unusual. Developers with a good understanding of their strengths in relation to the company’s needs and shortcomings are immeasurably valuable. An example of these types of unique qualities might be product design skills or experience as an interviewer.

What the applicants can improve

Setting goals

Most of our applicants are looking for professional growth, and it has been mentioned in almost every interview we have conducted. In many cases, however, the applicants struggle with explaining what that might specifically mean to them. Even if there is some understanding of the scope, the applicants haven’t defined a clear timeline. The biggest confusion arises when we ask about their daily habits that might support their goals. More often than not, there are none.

Understanding the industry

Many candidates apply to three different types of companies at once. When asked why they have done this, the look on their faces reflects wonder and astonishment. Startups, software development agencies, small companies with a flat structure or bigger companies with a hierarchical structure all offer very different working conditions, goals, mindsets, and cultures. When an applicant doesn’t have a preference and applies everywhere, it’s usually the result of poor career-planning and a lack of understanding about the market rather than an open-minded attitude.

Doing homework

The recruitment process is the earliest opportunity for both parties to make a first impression. There is hardly anything more discouraging than an applicant who is unprepared. Employers are often at fault of being unprepared as well, but in their defense, their volume is much higher. When an applicant doesn’t spend time researching a potential employer and doesn’t complete the recruitment tasks in a timely manner, it is very telling. It communicates the following messages: I’m not that interested. I don’t care that much about where I will spend the next years of my life. I have plenty of offers on the table, and you are the one who will need to make an effort. I don’t know what I’m doing. Applicants should evaluate the messages that they intentionally convey as well as the ones that they inadvertently share.

Evaluating oneself

Regrettably, we are rarely required to self-reflect. Candidates who have limited experience identifying their strengths, weaknesses and past efforts are easy-to-spot. Sometimes, it takes the form of an inadequate picture of one’s skills and competencies. Other times, there is nothing compelling about their past performance. Put bluntly, mediocre results follow mediocre efforts. Their awareness of strengths, especially those that can be brought to the table apart from coding, is astoundingly low. Perhaps, additional skills are seldom expected on the market.

Learning negotiation

The art of negotiation is an important life skill. Many candidates, ironically, who are looking for a win-win deal, start off the negotiation process on the wrong foot. Specifically, they often propose a much higher salary than the one they are truly willing to accept. Some applicants even suggest a higher salary than the salary range that was included in the job description. Our process is a ruthless evaluator of inflated proposals, but it’s not just about who is right. It’s about identifying mature partners by taking into account an understanding of added value and current market conditions. Most likely, many employers can be accused of falling short when it comes to negotiations as well. When this does happen, it should be an important caveat for the applicant.

Respecting current employers

At the end of our recruitment process, we ask our candidates for references. We are not looking to read an enticing letter from their previous employers or customers, but we would much rather have an honest conversation with a current supervisor. Oftentimes, the embarrassment of the developer is hard to miss. This kind of reference requires them to reveal their plans to leave once they are already on the run. The best developers who have left Ragnarson let us know far ahead of finalizing any deals and gave us sufficient time to prepare, which may be more time than any notice period agreed upon in their contract. If an applicant had a hard time being transparent with their current employer, why would the applicant act differently in the future?

The essence of the problem

If I were to summarize all of the described issues into one bold statement, I would say that people don’t know what they want and how to get there. The lion’s share of the fault may not even lie in their hands. It is difficult to analyze all aspects related to such a complex problem, and I won’t dream of even trying. What I do know is that the developers who apply to our company are talented people who occasionally appreciate some guidance, honest feedback, more transparency in the industry, and a reminder of the importance of their non-technical skills.

On the other hand, the industry is pressured by market forces to lower its expectations to meet demand. It has never been easier to land a job as a software developer quickly. In the long run, however, the employees who let circumstances control their futures may end up in an ocean of mediocrity. Only deliberate effort that is focused on developing a broad skill set and discovering one’s goals and values will allow applicants to identify the right path and ensure that they stand out in the crowd.


Understanding one’s values and goals is crucial in finding the optimal, supportive environment. The exuberance of the market with its favorable circumstances for applicants is a double-edged sword. The applicants who forget the rules of competition might be left behind in the long run. Mentorship, honest feedback, and self-evaluation are still important factors in true professional growth.

If you happen to be a software developer, I suggest that you take a look at our job board. All candidates receive honest yet encouraging feedback no matter the results of the process. If you just need some guidance, feel free to share any questions and/or comments on Twitter or via email.

Profile image of Maciej Gałkiewicz

Maciej Gałkiewicz

CEO at Ragnarson. Building web apps for startups. Transparency and decentralization enthusiast. Motorcyclist. Music lover. Living a purposeful life.