We are in a situation where every company is looking only for experienced and senior software engineers nowadays. Since my career started, this is maybe the hardest moment to find a job if you are starting your career as a software engineer. There are several factors behind this situation that I will mention to explain why, and then will also focus on some ideas for juniors on how to gain experience and what is important so they can be valuable to companies.

Lowest amount of investments in the IT field in recent years (post 2022)

Venture Capital Funds shifted their model from looking for companies with potential for growth to companies with strong business models and traction. There were also decreased volumes of money because of the economic recession, the war in Ukraine, and money being redirected back to traditional businesses due to the recovery of “business as usual”. This is leading companies to tighten their belts and not expand their teams at the pace seen in the last 15 years. This has been felt very strongly since the beginning of 2023.

Shift in skill expectations driven by the IT revolution

The traditional learning path has collapsed. In the past, juniors were learning by fixing bugs, working on small features, and through repetition, but now that is done by AI. The level of abstraction has increased to a level where senior engineers are reviewers of AI output and can use a combination of frameworks, SaaS, and PaaS platforms to minimize or even remove all low-level tasks. They are becoming architects and orchestrators of AI-generated code and platforms. So from “Writing code“, the needed skill now is “Problem Solving“, combining architectural knowledge, good AI prompting, understanding business needs, and seeing the bigger picture while thinking about how to provide a solution to the client.

Oversupply of entry-level talent

Over the last decades, it became very popular to be a software engineer, which led schools, universities, and academies to put many people on the market. They were already competing for companies’ attention in recent years, and now with the drop in demand, it further increases the barrier to entry.

How to overcome this and enter the market if we love software engineering?

There are several things that could help you succeed, and this advice is not only for today’s situation but is generally the right way to succeed in this dynamic industry. I also personally believe this approach is applicable to most other industries.

Participate in non-paid projects and initiatives

Start participating in initiatives outside of university/academy. This could be any kind of non-profit initiative or project. There are multiple foundations and NGOs that are looking for volunteers. This could be the first place where you can gain valuable experience. Of course, it may not be the best, but I believe there is no bad experience— even wrong decisions are experience that make us better people and specialists. You have two options here: you can find a local initiative that gives you not only experience but also networking and new connections that could support your career growth. The second option is to find a remote NGO to join, which is also a good option as you can improve your foreign language and remote work skills.

Check if there are local events in the industry you are trying to enter. These could be hackathons, seminars, conferences, or discussion groups—try to participate in as many as you can. One tip: if some of the conferences are paid, write to the organizers and ask for a free pass—you are a student and trying to save money. Another tip: many of these conferences have calls for volunteers at the beginning (I know this is not programming, but believe me, this is the right way).

Companies often have open days or participate in career festivals. These are places where you can speak with potential coworkers or future managers. Be open, positive, and open-minded. Don’t start with “I am looking for a job”, but ask what they are working on, talk about your projects and interests, and focus on positive outcomes of what you are building. Before going to the event, research the companies that will be there—check their websites, projects, and managers. It is possible to meet some of them at the event.

Work on your pet project

As soon as you have some programming skills, think of a problem to solve—it could be your parents’ business, a friend’s need, or something for the community. If you start working on something for the community, put it in a public repo and see if more people can contribute. Now, with the potential of vibe coding, it can be done quickly and become something useful and impactful.

Working on something driven by you will open your eyes very quickly. Building something from the beginning and solving real problems is aligned with the type of engineers that companies are looking for today—problem solvers who think outside the box and are goal-oriented.

All of this, especially if you are contributing to open-source projects, will be visible to your future potential employers and companies.

Cover all disciplines in the software development process

Even if you are fascinated by only one specific area, try to cover all directions in the development process. I am listing them below, but think of them as a whole. To align with what businesses expect today, software engineers must work as a complete team.

I know this seems like a lot. It is not necessary to become a guru in all of them from the beginning, but you should have basic knowledge of each. During a university degree (in computer science or informatics), you will go through most of them. If you are studying in an academy, probably only a few will be covered, so you need to actively fill the gaps.

Find good sources of content creators for software engineering

There are thousands of podcasts, authors, and content creators talking about software development. Find a few that work for you and follow their content weekly. It will help you stay informed about trends and technology direction.

Become a good engineer

It sounds broad, but especially at the beginning of your career, you should focus on the fundamentals of software engineering—good coding skills, understanding data, algorithms, software architecture, and other “boring” things. The better you become at these early on, the more opportunities you will have in the future. Use your university time to learn theory and apply it through experimentation in your pet projects, NGO work, or anywhere you can, to truly understand the abstractions you are using.

Use AI, Vibe Coding, and Context Engineering as primary instruments

You are in a great position—today’s AI tools allow you to do things that were impossible for entry-level engineers just a few years ago. AI is one of the main reasons for the current situation, but it is also the future of the industry. Choose the tools that work for you as AI coding assistants, use them heavily, improve the output, and understand it. This is how software will be developed in the near future.

Work on your personal network

This is an extra piece of advice, but maybe one of the most important. The way the world operates is based on human interactions and trust. The more people you know and who trust you, the greater your potential. You build connections through family, school, university, work, and all other interactions. The more touchpoints you have, the more people become part of your network. Start structuring this network early—keep useful information about people you meet: key skills, facts, and interests. Try to be helpful when possible and don’t fail them when you take responsibility. Over time, this network becomes one of your biggest assets—some of these people will become partners, sources of knowledge, investors, or coworkers.

Work on your CV

Start building your CV with both hard and soft skills, and include all projects you have participated in. Add live demos and public repositories. Include hobbies and achievements outside engineering (sports competitions, certificates, recognitions, etc.). Create a social media profile (LinkedIn is a good place), follow relevant groups and pages, and be active with comments and posts.

Some final words

This is not the fastest way to become a software engineer, but it is the right one. In recent years, there was a fast lane—learn some coding skills and enter the industry—but those times are over. If you want to build software, it is no longer a “code monkey” job, but an engineering one, and it takes time. If you enjoy it, then this is a great career path for you. If you enjoy it, all of the points above will come naturally—without stress, but with motivation and curiosity.

Good luck and enjoy! 🙂