How to become a Backend Developer
Find out who is suitable for the profession of a backend developer, how to study, where to gain experience and how to find a job. Here are some tips from Google Software Engineer Vlad Gaevsky.
Who is suited to the profession of backend developer
— In 2014, I joined EPAM as a junior backend developer. I've been writing in Java ever since. After EPAM, I moved to an American product company, which was later taken over by Google. That's how I ended up in Warsaw in one of Google's offices.
Who's the right fit for the backend developer profession? Definitely someone who likes to understand how things work and what will work in a given situation. If, as a kid, you were interested in seeing what was inside a toy — taking it apart or breaking it down to see how it worked — you might be a future backend developer. Or do you have an interest in physical processes — wanting to understand why something freezes or something flies? In general, if a person has a zeal to understand the causes of things, then this is the profession for them.
The profession may also suit those who are good at describing any kind of algorithms. Later, this skill will help in writing code. Anything can be described by an algorithm. If a person notices that they can write a recipe very clearly and well, step by step, so that absolutely any person can cook it (not just someone who has a lot of experience in cooking) then they probably have the necessary ability. If someone is good at explaining something step by step, using a clear series of actions, this is an algorithm, and they may want to try their hand at the profession of a developer on the backend.
How to learn backend development from scratch
— Learning many things requires theory and practice. Backend development is no exception.
There are quite a few resources that you can start diving into, some of them are even free. First, there are books available on any programming language. Download the pdf format and start reading. I recommend:
- Head First Java by Kathy Sierra and Bert Bates;
- Effective Java by Joshua Bloch;
- Thinking in Java by Bruce Eckel; and
- Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert Martin.
For those who don't like reading books, you can start by watching YouTube channels with titles like “Java for Beginners,” “Ruby for Beginners,” etc.
You can also read professional articles. This will all help to build up your theoretical base. In my opinion, it's not necessary to pay a lot of money for courses to learn the theory unless doing so motivates you to complete your study of the material.
— Practice should reinforce the theoretical knowledge that you gain. And this is where attending courses can help. But you can do without them, too. I advise you to start solving the simplest problems. Take any common question or issue, for which a solution will help you in your life, and write a code for it. For example, calculate some compound interest in the bank. Write the most trivial program without an interface, something like: how much money I will get in N years, if I deposit X amount of money in the bank at Y rate of interest. At first, you can do this as a calculator for your specific variables. Then, you can make it more complicated. Any issue that you need to solve in your daily life can be automated and transferred into the program. Doing this for even the simplest tasks will help, because at the early stage of practice you have to just start writing code. If this is your thing, the process will take you over. My younger brother also decided that he wanted to program. First, he made console games in Python, something like tic-tac-toe. Now, he's implementing emoji for his beloved Minecraft. Personal engagement is very important for motivation.
After this stage, it's important to get into internships and work on real projects. To do so, you need to look for companies that offer such internships. Google, for example, arranges internships. In an internship, you can work on tasks that are close to the real world and real work and, if you finish successfully, you may get a job offer at that company or another one.
Duration of learning
— When I began my journey, I had college studies at the same time. With a distracting factor in the form of studies or other work, you can still learn to develop on the backend in 6 months. If you try very hard, perhaps even in 4 months. This period covers the time from when you start reading the first book, to the time you get an internship. Basically, it will take you 2 months for the theory and 2 months for practice. It is unlikely to happen faster.
You don't have to have a college or university degree, though. Skills are more important in this profession.
Where to get experience
— To get experience, you need to look for companies that offer internships. If you can't find any, you can include your own projects in your CV. The main thing is that they should be interesting and not too easy. You can emphasize that, in addition to the main language, you used several third-party technologies and/or frameworks. One of my first projects was a web page for online translation. I didn't actually do the translation, but I did the wrapping around it. This is the kind of project that you can talk about in interviews. The main thing is to put it all on github.com. The first stage of any job interview, for any company, is the tech screening, which checks to see if the candidate can write code in principle. Having a page on github.com will show that you know how to use other technologies. This will raise the interest of the employer.
Tips for the novice backend developer
— What advice would I give to newcomers? The most important thing, if you have already joined a company, is to constantly keep an eye on what your older colleagues are doing. Work will be boiling around you, and you will have a lot of tasks, but it's always good to see how others solve problems. Look into their code and gain experience. Never get hung up on one technology stack. Once you've been chosen for a project or an internship, it will generally focus on one technology stack. For a junior, however, it's deadly to get hung up on one particular stack. If there is no possibility to study another stack at work, then go to the Internet and watch reports about another stack. You need to broaden your horizons all the time.
It is also very important to go to conferences. This was more difficult during the pandemic, but offline conferences have been revived. I recommend offline conferences — they help expand your networking, and also awaken your desire to get involved in the specialty. Tickets are usually pretty inexpensive, and the experience always pays for itself. And, of course, MITapps. They are often free. If you simply sit at home and work, your development and movement in the profession will progress more slowly.
Is it hard to become a backend developer
— Is it difficult to enter the profession? Nothing is impossible. At one point, it seemed even easier than I thought it would be. Everyone has their own obstacles, though. Success is not decided by innate ability or by your grades in mathematics at school. All that matters is whether you really want to follow through. If you take on the challenge, and set a goal to learn to be a backend developer, success is possible for almost anyone. The level of difficulty is determined by your intrinsic motivation.
During all the time that I've been in IT, I've had a lot of people ask me what textbooks to read, and what to look up on YouTube. I even had a ready answer for these requests with a list of links. But 90% of the time, providing this information got me nowhere. People didn't pursue it. Bottom line: there is not going to be a single link that I click that will get me work tomorrow. Instead, there will be many links, many opportunities, and if you have the will to follow through, you will definitely be rewarded.
- ChatGPT will not replace a human: an expert opinion on IT hypeWork27 February 2023
- How can a programmer without work experience find a jobWork01 February 2023
- How do you increase productivityLearn02 March 2023
- How to learn EnglishLearn04 August 2022
- How to give and receive feedback correctlyWork17 February 2023
- 5 qualities of an ideal Software EngineerLearn17 February 2023
- How do you choose the best IT profession for you?Work17 March 2023
- IT language of Data AnalystsLearn06 February 2023
- The basic rules of the interviewWork08 February 2023
- Skills of a Community ManagerWork06 March 2023
- What does a cosmetologist do in ITWork10 March 2023
- How to distribute an iOS App: 4 casesLearn15 February 2023
- What you need to know to relocate to SerbiaRelocate26 May 2022
- How to find your own direction for development in ITWork22 March 2023
- 30+ useful books for designers in ITLearn20 March 2023
- 6 stereotypes about life in HungaryRelocate30 June 2022
- From security guard to DevOpsWork13 March 2023
- How to compose a resumeWork16 August 2022
- How to look for a job in 2023Work13 February 2023
- The easiest programming languages to learnLearn07 September 2022
- "By the time they come back with an offer, you can give birth"Work27 January 2023
- What is bootcamp: how does it work and for whom is it suitableWork30 January 2023
- Tips for relocating to SerbiaRelocate02 June 2022
- Soft skills are 85% of a person’s success in a professionWork29 December 2022
- IT language of the TesterLearn09 January 2023
- Tips from a career consultantWork20 January 2023
- How to become a Tester in three weeksWork19 May 2022
- How to start an IT career in testingWork01 June 2022
- English through music: learn and have funLearn04 November 2022
- How to ask for a raise or promotionWork09 December 2022
- What is mentoring in IT and how does it help you master the profession?Learn27 December 2022
- Where is Python used and why should you study it in 2022Learn13 July 2022
- How does a junior get their first job in Singapore?Work22 November 2022
- How do you draw positive attention to yourself?Work23 December 2022
- The incredible success story of a switcher in ITWork17 January 2023
- IT language of the Business AnalystLearn23 January 2023
- IT Beard talks about Anywhere Club IT communityCommunity19 May 2022
- To learn how to write code, you have to write codeWork24 May 2022
- Project Manager responsibilities: tasks and skills vs realityWork31 October 2022
- Who can you become in IT?Work13 December 2022
- Why do job applicants lie in interviewsWork12 January 2023
- Living in Serbia — pros and consRelocate16 June 2022
- Relocation to GeorgiaRelocate20 September 2022
- 7 soft skills for developersWork27 September 2022
- What should a beginner Automation QA Engineer learnLearn29 September 2022
- Best countries to relocate for IT specialistsRelocate06 June 2022
- What are some of the unusual jobs in ITWork21 June 2022
- What is Data ScienceWork09 August 2022
- What do you need to know about the south of SpainRelocate22 August 2022
- Relocation to TurkeyRelocate31 August 2022
- How to become an HR managerWork05 September 2022
- How to become a DevOpsLearn06 October 2022
- How to manage interview anxietyWork12 October 2022
- Life in Italy: what you need to prepareRelocate19 October 2022
- What to read and watch for a novice Java EngineerLearn19 May 2022
- Relocation is like the first child's birthRelocate23 May 2022
- Home for every IT professional in the worldCommunity19 May 2022
- How to avoid burnout and stay productive in 2022Work06 July 2022
- From travel agent to a Tester in ITWork20 July 2022
- The real story of a radical change in professionWork18 July 2022
- Why time management doesn't workLearn19 September 2022
- “Forget about impostor syndrome”Community18 October 2022
- 3 facilitation case studies: better and worse scenariosWork31 October 2022
- What does a botanist do in IT?Work04 November 2022
- Effectively launching as a junior: an expert's viewWork23 November 2022
- 3 ways to find your dream jobWork24 November 2022
- Sent out 500 resumes and moved to UzbekistanWork28 November 2022
- Trends in IT company eventsCommunity30 November 2022
- "Where else but Spain?" — the experience of movingRelocate06 December 2022
- Teamwork: 5 factors of effective interactionWork03 January 2023
- 10 things beginner startups don't need to doLearn05 January 2023
- 5 myths about IT: true or falseWork19 May 2022
- 5 common questions about relocationRelocate19 May 2022
- What is a vocation, and does it exist in 2022Work20 June 2022
- An 8-month journey to Front-EndWork04 July 2022
- Life hacks and impressions of moving to PolandRelocate28 July 2022
- What impresses in MontenegroRelocate18 August 2022
- Doctor in ITWork24 August 2022
- Pros and cons of life in MontenegroRelocate08 September 2022
- Lithuania: features and life hacksRelocate10 October 2022
- 10 ways to stay on top of IT trendsLearn25 October 2022
- Business Analyst in IT: what you need to know and doLearn14 November 2022
- How to effectively give feedback?Work18 November 2022
- How to learn Ruby on your ownLearn25 November 2022
- Juniors are needed for companiesWork22 December 2022
- The reality and myths of life in TurkeyRelocate19 May 2022
- Android: what should beginners and professionals doLearn09 June 2022
- How do expatriates live in UzbekistanRelocate15 June 2022
- How to support someone who is stressedCommunity23 June 2022
- The psychological trauma of emigrantsRelocate28 June 2022
- The joys and challenges of relocation to HungaryRelocate11 July 2022
- Top 5 startup books to read in 2022Learn27 July 2022
- Family traumas in emigrationRelocate03 August 2022
- The Brain-Up project is looking for volunteersVolunteer11 August 2022
- Where to make friends with blockchainLearn25 August 2022
- Top iOS Developer resourcesLearn12 September 2022
- Features of life in GermanyRelocate05 October 2022
- Facilitation: how to conduct it effectivelyWork17 October 2022
- 8 reasons to move to KrakowRelocate26 October 2022
- What to do to get into IT todayWork12 December 2022
- Mass layoffs in IT? An experienced financial advisor shares his thoughtsWork27 March 2023