5 tips for your first job in software development
November 30, 2022
Are you about to start your career in software development? In this blog post, we’ve asked one of our student workers Frida about her best advice for other students who are starting their first job in software development.
Frida, tell us about your experience as a student worker!
I started a summer job in software development in R&D this year, being a part of a team with experienced developers. Of course, anyone would seem experienced to me, but I promise you, these ones really were. When I left university, my classmates asked me if I thought my new job would be difficult. We were all nervous about the thought of our first job or internship. And yes, I wasn’t really expecting anything but a difficult challenge.
I joined a team who is developing Axis’s own instance of Backstage. Backstage is a new web portal originally from Spotify with the purpose of improving developers’ life. This is by providing an overview of components, systems, and APIs and how they are linked together. If you are brand new in a system or company this overview is especially valuable, which of course was a big motivation for me.
Joining the Backstage team also meant that I was facing a new code base. This can be challenging for most people, but overwhelming if the only code bases you have seen so far are the ones in school. On the morning of my third day, I stared at the code for a while, added some “Hello world”-elements, didn’t see any difference. Went to get coffee instead. I knew I needed a new approach to get started and find my way in all this new code. So, I tried one thing that I had heard about, to break things.
This approach meant removing element after element and slowly taking the application apart. Putting some bright colored background on some elements. Figuring out how it’s all connected. I did this until I understood the system better and later that afternoon, I was happy that I eventually managed to change a logo so it would work with different themes.
In the following weeks I managed to display the Friday cookie of the week on the home screen as a small plugin (this is a very famous cookie in Axis). I held a meeting with another team on how to implement a view in Backstage that they could benefit from. I spent my days trying, getting confused, trying some more, repeatedly until what seemed impossible not so long ago suddenly was up for review.
What’s your top 5 tips for software development beginners?
Let things go
When you are new at work you are probably constantly bumping into words and concepts that you have never heard of, sometimes multiple times in one sentence. This can easily make you feel overwhelmed. What I’ve found useful is to sometimes be like an ostrich and put your head in the sand for a while. Listen and learn new concepts, but also equally importantly, let most of them go. Enjoy the progress you do make and accept that you won’t be able to learn it all at once. At least not this very Monday meeting.
Break it down
What often seems so massive at first is mostly about breaking tasks down. Create a table. Fill the table with something. Ignore if at first the code is horrible, instead focus on making it work, then make it pretty. I always keep a physical notepad next to me in case I get confused. It’s a quick way to make a list of all the small tasks I must do to eventually implement my whole feature. I can then check them off one by one which is really satisfying.
It can also be useful to use the notepad to draw how components are connected, or for example the communication between front-end and back-end. It’s okay to take your time to get to know the system.
Share your good-enough code
For many beginners code reviews can be an extra challenging part. I know it can feel really vulnerable when your code is out there, and it’s easy to therefore spend days improving it. But it’s okay that the first draft turns out a bit messy or complicated. It’s also better to get feedback frequently so that you don’t spend time on things that’s not really needed. And at least the code is working (somehow).
Take breaks from trying so hard
There is no need to only focus on your code. Give yourself some time to process everything and discover your workplace instead. Drink a lot of water and take a walk. Say yes to things you would like to do outside your specific task. Or why not ask one of your colleges if they have time to show you some cool system or product they are working on? I’ve learned so many things this summer by not trying so hard to learn everything. And I promise you, the code will be there waiting for you.
Get good at being stuck
I know we all get stuck, but it can still make me feel really frustrated. And probably one of the best qualities you can have as a developer is to be good at being stuck. There are some things that can make it less unbearable. For example, sometimes being stuck forces you to practice asking questions. You need to know both which questions to ask but also how to ask them to get the answer you need.
Write the questions down and bring them to your weekly standup meetings. Often you won’t even get to the point where you eventually ask them, just putting them in writing makes you realize either the answer or how you can find the answer on your own.
Finally, one annoying thing that often works when you are stuck is to pause, leave and do something else. When you are rested and have some perspective you can look at the problem again. I know it might sound simple but sometimes when I get back to the problem, I realize that I don’t really have to solve it at all. I was just stubborn to do it that exact way.
Any final thoughts you would like to share?
Yes! It was a fun summer. Except for some minor incidents, like not finding my office and pushing the wrong code everything has worked out fine. In the beginning of September when I came back to school my classmates asked me how the summer job turned out. Was it as difficult as I first thought? I shrugged my shoulders and told them that yes, it was difficult. But we shouldn’t look for easy. We should look for encouraging colleagues and exciting tasks. And it will all work out fine.
Are you curious about what student opportunities Axis has for you?