You have finally taken the first step into your software development career. You came into the software development field filled with excitement and expectations only to find out it is nothing like you expected. You thought you’ll be building the next world-changing software, but all you have been doing is maintenance work.
I’ve been developing software professionally for 3 years now and much of what I do is nothing like what I expected. So, in this post, I want to focus on some of the things that new developers think they will be doing when starting out.
Not Understanding the Role of a Software Developer
I used to think that all a software developer do is code. Turns out that is only a small subset of what a software developer actually do. Most of the time was spent on solving problems with software — automating a solution for a problem. I spent the majority of my time thinking about how to solve a problem than coding. I was attending meetings to gather domain knowledge and to understand the problems that are trying to be solved with software.
Writing Code All Day
You wouldn’t be writing code every day. Most of the time you’ll be working with legacy code by reading and interpreting the codebase. You will be fixing bugs in an existing application. If you’re lucky, you get to rewrite some code by refactoring some code smell. But mainly, you’ll be doing maintenance than writing new code.
Working on New Projects All the Time
You will rarely get a chance to work on new (green-field) projects. In most cases, you’ll end up working with an existing (brown-field) project. It doesn’t mean there will be no opportunity for you to create something new, just that it is not common. So, don’t be disappointed if you’re not working on something new and exciting.
Problems Don’t Have Clear Solutions
When you’re learning how to code, the problems you’re trying to solve tend to have a clear solution. However, software in the real world tends to not have a clear solution. There is always some sort of trade-off and it is up to you to learn and figure out the best solution suited for the situation. The best solution for one situation may not be the best for another case.
Most of Your Time Is Spent on Learning
You’re going to be learning a lot as a software developer. When you first get into the field you’ll feel like you know everything only to find out you don’t know anything. But don’t panic… it’s normal in the field of software development. You’re always going to be working with something you don’t know. So, you’ll spend a good portion of your time reading books, articles, blog posts, and documentation about the technology you’re using.
It’s Not All About Technical Skills
In your first few years, you’ll be growing a lot in your hard/technical skills. You might be getting one promotion after another. Then suddenly it stops and you’ll not be sure why.
Once you reach a certain point with your technical skills, it is your soft skills that matter. It’s simple to understand why that is the case because higher promotion means you’ll be leading other developers. If you’re not good with people then you’re not suitable to lead others. Would you want to have a leader who yells at you? Would you want to have a leader that doesn’t care about your success?
I hope this post was helpful to you. If you found this post helpful, share it with others so they can benefit too.
What are your experiences with software development so far? Has it matched your expectations?
To get in touch, you can follow me on Twitter, leave a comment, or send me an email at steven@brightdevelopers.com.
Additional Resources
- 10 Tips for New Programmers, Developers, and Engineers
- Speed up Your Learning
- What to Do When You Are Feeling Lost While Learning
- 6 of the Most Important Skills for Software Developers
- Are you passed the beginner stage of being a software developer?
- Learning a New Framework and Programming Language
- Dealing with Impostor Syndrome
- What software developers do