Some tips for anyone thinking of changing jobs and embarking on a career in software development – from the perspective of a software company owner.
Current market situation
Working in the programming industry, and more specifically with start-ups, I sometimes observe changes and trends occurring in the field. In Poland, there has been a massive increase in the number of people who have decided to retrain and become software developers. The market has never experienced such interest and influx of candidates. At the same time, many companies are willing to employ experienced developers rather than people taking their first steps in the profession. For all those who are just starting out, finding their first job turns out to be quite a difficult experience.
Their decision is often motivated by a good salary which I fully understand. The problem arises when it’s the only reason for someone to start coding. After all, we do not take such momentous life decisions as a complete change of our professional path only to realize that we don’t really like our new job at all. And quite a unique kind of job, come to that.
But just suppose it was a carefully thought-out decision. You have already completed a few courses, you have also learned a lot yourself, you are starting to look for your first job. What challenges are you going to face?
Employer's perspective
There are quite a few software companies on the market, and yet it may take a while to find one that will give you a shot and hire a developer with no commercial experience.
At the beginning, the company will have to invest in you a lot of time of their more experienced developers who will train you, explain the rules, introduce you to projects, answer questions and help in case of any problems. Sure – it all depends on the difficulty of a given project and how quickly you learn – but I know from my own experience that such training takes from 3 months to a year. And it doesn't matter if you are a recent IT graduate or you came from a completely different sector. In your first job, you just have to learn a lot of new things that you have never had a chance to learn before.
Each boss, when deciding to hire an employee with no experience, has to invest his team's time in them. And this is a considerable investment.
The second reason is pure cost calculation. If a potential employee has high financial expectations (since that’s the reason they’ve probably become developers in the first place), and they will code twice or even three times slower than senior developers, additionally "devouring" their time for training, then employing someone with experience may simply be cheaper for the company.
A place for newbies
I know that this may all have sounded rather discouraging so far, but awareness of the employers' situation will allow you to better understand the recruitment process of new employees and properly prepare for interviews. Because there are also lots of reasons why companies should hire novice developers.
The IT industry is changing so fast that finding someone truly experienced on the market is becoming more and more difficult. In fact, hiring a junior developer and training them sometimes seems faster than the constant search for a senior developer who just wants to change jobs.
Developer’s first job
When looking for When looking for a perfect first employer, remember about the most important features of such a company:a first company on your professional path as a coder there are a few things worth keeping in mind.
Ideal first company for someone with no commercial experience should have specific characteristics:
- It shouldn’t be very small. You need people to learn from – if a company employs several senior developers, there is a higher probability that there will always be someone who will have time for you. The more experienced people to observe at work, the better for you.
- Larger companies have larger budgets, so it’s easier for them to invest in hiring and training you.
- At the beginning, you may find it easier to navigate through smaller projects. Look for a company that deals with such projects. Large and complex projects can be a great option if they are at their initial stage. Then you can learn as the project develops.
- You don't know what projects the company deals with? Do thorough research. Finding this information may not be the easiest thing to do, but knowing what technology a company is using, browsing through its portfolio, and looking through its website will give you a good idea.
You also need to know that if a company isn’t currently doing a project that they can hire you on, that doesn't necessarily mean they won't be doing such a project in a few months. After some time, write them an e-mail, ask if anything has changed and just remind them about yourself. Maybe they now have something new, or maybe next time they will remember you.
The same goes for sending out your CV. You will probably send dozens of them. Do not be discouraged by the lack of a reply – I know from my own experience that such e-mails are surprisingly easy to overlook in a busy workload. Send a reminder after a week or two.
Competition in the developer market
The company has invited you for an interview? Great! In that case, it’s good to be aware of two things:
- You compete with students and graduates who have just left universities. Even if you have the same level of knowledge and skills, age is their undeniable advantage. The employer in Poland pays much lower taxes for employees under the age of 26.
- Moreover, a younger employee usually has lower financial expectations. Although it’s not always the case, usually people who change jobs are at a different stage than students. They have personal and financial obligations and are used to a certain standard of living. The initial salary they expect will, therefore, be higher than that of people who are just beginning their professional life. And even if your financial expectations are the same, remember about the those lower taxes.
Unfortunately, such are the facts. So what you can do is convince your potential boss that you are better than other candidates and it will pay off to hire you:
- Your advantage is experience from previous work and what you already know about yourself as an employee. Maybe you have leadership qualities, maybe you get along well with clients, you are a master in organizing your own work or you have always met your deadlines. Use these things.
- Write at least one app, but what's important – make sure it's the best code you've ever written. You think it's not bad, but one or two things could be a little better? Then make them better. Correct everything you can before showing it to your prospective employer.
- Be determined. People who are considering hiring you want to see that you care about this job – that you are committed and that you would really like to work with them.
- There are several things you can do regarding the financial side. If you've never been self-employed, consider starting your own business. During the first years you will have considerable tax discounts, thanks to which you will be able to lower your salary expectations towards the employer and you will have exactly the same amount of money in your account.
- Another way – make a suggestion that for some time you will be prepared to work for less (it must be, however, a clearly specified period). This time will give you a chance to show your skills and prove yourself. The employer, on the other hand, will be able to assess your competences and contribution to their team's effort. After this period, you will be able to revisit the subject of your salary.
These are, of course, just examples. Since creativity is also important in this industry, feel free to suggest your own solutions.
Haven’t got a response from the company you were interviewed for? Send a short email and remind them about yourself. Even if they have chosen someone else, you'll get valuable feedback and learn what you should work on.
Remote work
While you’re still a junior developer, your boss will probably prefer you to work in the office rather than from home. There are several reasons for that:
- Face-to-face exchange of information is much quicker, so you learn faster,
- You have better contact with experienced developers – for them it’s easier to train you in the workplace, and for you it’s easier to get help,
- You get to know the team and become part of it.
So if you are entering the profession with the idea of working remotely, you must have good arguments. Find tools that will allow you to work from home and learn how to use them well; check what aspects of work they will facilitate. Working remotely requires much better communication skills, especially when team members do not synchronize their work and perform their tasks at different times of day (and sometimes at night). Find your own way to do that, suggest solutions. You need to convince your employer that you can handle it and that your work will be as effective as in the office.
To sum up…
The decision to change your profession and start programming is not and probably should not be easy. There are hundreds of hours ahead of you in front of the computer, lots of exercise in motivation and self-discipline, and finding your first job can be time-consuming and stressful. However, just getting through these stages says a lot about your determination and readiness for hard work. That’s a good start!
If you are tempted by IT, but the final decision is yet to be made, remember that there are many more possibilities than just programming. The software development process itself requires testers, sellers, analysts, designers and many other people. Before you decide - check, maybe you will find something more to your taste than programming.