My learnings from my first year as a software developer
Here is what all I learned from my first year:
I recently completed a year at a startup called SHEROES as an associate software developer, mostly struggling my way out in backend. This year was exhilarating! It comprised of ups and downs, new technologies, me thinking that whether I was the right person for this job and what not.
Your first year can be quite overwhelming if you let it be, but the key is to keep learning and keep growing with it. Here is what all I learned from my first year:
Take things slowly
When I joined, I wanted to learn everything at once. My company used JAVA as their stack and although I studied C++ in college, I had no clue about JAVA. And I did what I thought would be the best possible option! Rushed through JAVA and then dived in SpringBoot learning small-small bits on my way.
Because trust me, I was dying to send my first feature to production! And so I did, within 2 months, I sent my first feature to production. But I feel that somehow cost me in the long run, as I didn't know quite some basic stuff about JAVA(That also led to getting myself embarrassed in front of the CTO!).
If you’re working with a big company or a company that doesn’t have a time constraint, I would suggest you should take things slowly and learn each and every bit of it before starting out. If not, take online courses side by side so that you know everything in and out.
Bugs are inevitable
And they don’t make you a bad developer either. My mentor once told me, “If it wasn’t for these bugs, we wouldn’t have any jobs.” I felt extremely dejected when a bug came up right after my first feature.
I thought I would be looked down upon, or be teased or even worse be scolded for it. Well, guess what? Nothing of the above happened. Obviously, sending bugs in your feature wouldn’t be the best option either.
Test your feature as much as you can, but even if then there are some bugs in it, it’s absolutely fine. You will learn with time and you will become better with time.
But you gotta learn how to fix them
I swear this will happen! I had a recent experience where I was able to reproduce a bug and I absolutely enjoyed fixing it. It was like winning a race, like solving a complex math problem.
But I remember struggling with bugs and rushing to my mentor without sometimes even reading the error logs. But if you try consistently, you will reach this phase.
Learn to unblock yourself
Developing this habit is quite essential, especially in a startup background because due to the time crunch people will not have the time to teach you.
I realized this pretty late though because I would always find someone or the other to help me. Imbibing this habit early on will help you figure a lot of things on your own and become independent.
Learn as much extra as you can. It will always help you. I’m a backend developer, but I learned shell because well, my mentor seemed really cool doing stuff on the terminal.
But it went a long way in helping me debugging and figuring out a lot of things on the server. Learn docker, learn community building, learn giving talks, learn being someone from customer support. You never know what life will throw at you and what might come handy.
Learn naming strategies and SRP early on
This will take you a long long way if you get it right and will be increasingly painful to adapt once you grow older. Although there is no way that you can compensate for your lack of coding skills by this, it sure makes life easier for you and the person reviewing the code.
Writing clean code makes it easier for others to understand your code. As companies grow, you will not have the time to explain it to everyone how your code works. So learn to write self-explanatory methods/variables so that they do the talking, not you.
Fail a lot
Fail a lot. Fail as much as you want to. That’s the only way you’ll succeed.