Over two years ago we shared with you some of the most essential soft skills for jump-starting your career as a software engineer. Today, as the industry only continues to grow, software companies are constantly looking for new talent and the predictions are that this trend is not going to change anytime soon. Thus, in order to help any of you, looking to start a career as a software engineer, we’ve asked several of our team members to shine a light on the things they have learned over the past year – from embracing and normalizing the remote work to creating a personal portfolio and getting ready for a job interview.
1. teamwork makes the dream work
If there is one thing, we have all learned the hard way in the past year, that is how important and yet underrated the working environment and team spirit actually are. The people whom you work with have such a great impact on your productivity, attitude, and task management. Being surrounded by your team creates a sense of community and support that, in the right company, can be felt whether you are in the office or remote. When starting your career as a software engineer, finding that environment should be just as a priority as anything else. Here at Accedia we have embraced the hybrid work model, which allows us to combine both working from home and the office. This is all new and exciting, but what it mainly helped us do, is appreciate the human contact and connection even more.
– Gabriela Nenova, Software Consultant
2. do your homework before each interview
3. work on your personal portfolio
4. focus equally on innovative and established technologies when starting your career as a software engineer
5. prove your skills by earning a certificate
– Ivan Dochev & Gabriela Nenova, Software Consultants
6. make sure you are solving the right problem
The Pareto principle applies to software development as well – 80% of the value comes from 20% of the code. When working on a task, concentrate on the pieces of functionality that will move the needle the most. For example, it’s better to have a functioning Login or Registration form than to spend your time creating a beautiful and shiny Submit button that doesn’t even work. Here is something you should make your piece with from the start – a codebase is never perfect. You can always refactor and add more abstractions, to the point of creating your own framework or a CMS, but the best code should be simple and easy to understand. Besides that, you can spend your time working on a task that gives more value to your team and your project.
– Georgi Yolovski, Software Consultant
7. understand your client’s goals
Working with people makes your career as a software engineer even more dynamic. In order to have a good relationship with your client, practicing your communication skills is essential. Good argumentation and reasoning can often help the client make the best choice for their project. If you have any concerns, try communicating them in a way that is clearly demonstrating your support, and the fact that you are all working towards the same goal. You will never manage to find a solution if you don’t understand your client’s perspective. As a software engineer you don’t write code for the sake of writing code, but to create software that gives business value to the client. So, make sure to get familiar with the business domain, understand how valuable the feature that you’re currently implementing is, ask questions, and give suggestions – the clients will appreciate it. This on the other hand will help you gain knowledge in a different domain and industry, which can be used in future projects.
– Georgi Yolovski, & Ivan Dochev, Software Consultants
8. embrace initiatives beyond your daily tasks
Set yourself milestones, or in other words, give yourself a challenge and try to learn something new by the end of a certain period, whether it’s a week, month, or even a year. Here at Accedia we have regular Goals meetings where everyone sets their individual milestones, discusses takeaways from past performance, and focuses on future goals and aspirations.
Also, make sure to try different technologies, especially at the beginning of your career, and do not limit yourself to a single framework or technology stack. In order to constantly improve, your goal should be to become a “Software Developer”, and not specifically a “C#/Java/React Developer”. Learning a new technology gives you a different perspective, which might help you when solving problems with another framework. It allows you to see the bigger picture instead of being focused only on one aspect of software development. Plus, the new technology can become your favorite one, you can never know.
– Ivan Dochev & Georgi Yolovski, Software Consultants
9. make sure a career as a software engineer is the right path for you
Software development is one of the most attractive careers not only in Bulgaria but worldwide. For example, according to the US Bureau of Labor Statistics, the projected percentage change in employment between 2019 and 2029 will be 22% in comparison to the average growth rate of all occupations which is only 4%. This by itself proves that there is a bright future for everyone involved in software development – from engineers to testers and analysts. Still, you should be well aware of your own strengths and passions. When first starting out you have the luxury of trying out new things and figuring out what best matches your aspirations. There are plenty of people who give software development a try, sign up for classes, and then realize they would be much happier doing something completely different.
– Gabriela Nenova, Software Consultant
10. trust your mentor
Should it be during an educational course or your first months at the new job, having a mentor is always extremely useful and even crucial for your abilities and understanding of the projects you are working on? They will always be there to answer any of your questions whether related to certain technologies, internal processes, or possible career paths. Moreover, they are usually someone with years of experience in your new company, thus can help you socialize and get to know the company’s procedures better. For example, when joining Accedia as a software developer you are being assigned a mentor from day one. They are in charge of your onboarding both within the company and the project itself, work with you side by side, and support you throughout the entire work process.
– Vladimir Kostov & Daniel Georgiev, Software Consultants
Do you feel ready to put into practice all the tips and tricks we mentioned above? Check out our open positions and see what it’s really like to join the fast-paced world of software development