5 Simple Tips to become a better Software Developer at your first job
After working for a little more than a year as a software developer in the industry, I would like to share what I have learned as a professional developer and how my perspectives changed after graduating.
A little about me
In 2019, I graduated with a computer science degree and joined Quantiphi as a software developer(my very first job ::yeahhh::). I had basic knowledge of React, nodejs by doing some college projects and some machine learning before joining Quantiphi. In this article, I want to take some time and document my learnings (as well as some tips for new graduates starting their career).
Lesson 1: Software engineering is not just about code
Well, this is something I am sure you must have heard or read somewhere. Well, I definitely read this a lot while I was in college, but never understood it properly. Building solutions requires a team, each member is equally important. You need to discuss your ideas, thoughts and have a clear understanding of what exacty is required. I mean in college, what we normally do is have a idea and jump in start building it. Whereas, industry requires a proper a list of features, architecture diagrams and research before we even start writing code. And believe me, it is a very interesting cycle to understand the problem and what we need to do resolve it.
Lesson 2: Ask Questions
What I mean by “ask questions” is whenever you go to meetings(internal or client), make sure that you are involved in discussions. Sometimes, things could be difficult to understand but thats exactly when you need to ask clarifying questions. Now you might think that “what if I ask some silly question”(believe me I thought so too) but asking them is better for 2 reasons. One you dont know whether they are really silly or not. Two, even if they are, it sometimes help team members to realise that they are not considering that situation/scenario. I am really glad, that I have asked questions, not just for my understanding but for the team as well to see the solution from different perspectives. Slowly over time build your skill of asking the right questions, specially when you have been assigned a task. Ask if you have doubts regarding the approach to take, if you are stuck while working on a feature or anything else that you are exploring and need more insights on.
Lesson 3: Testing
Testing your code is very important, something most people dont do for college projects. We just consider the happy flows while building the project but that not how real world use case work. As a developer, you need to be able to think from all perspectives. Lets take a simple example of an input form, you need to add appropriate validations for your inputs. Another example could be a API service, you need to add validations for request body, query parameters and various other things. Besides these, you need to write unit tests for your code. Even after this, the QA(atleast thats what we call test engineer in our company) will report some bugs to you. Take it as constructive feeback and thank the QA, learn from it and move on to the next bug. The QA and the developer need to work together to make sure, everything is working as efficiently. You definitely dont want your code to break in production.
Lesson 4: Come up with ideas
Slowly as you get adjusted to the team, work and buisness, try to come up ideas of how you can speed up things or automate reptitive tasks that you or your team internally might be facing. Be obersvative, what problems are the teams are facing? think about different ways it could be done better. Do some research, watch/attend conferences you may find something that can help solve the problem. Maintain notes of you problem understanding and research done, it will help you in future. Once you feel confident enough, share it with you team members or your manager. Discuss with them and take feedback. This process will eventually help as we grow in career. Start small and eventually you will grow to architecturing bigger problems.
Lesson 5: Explore as much as possible
Now, this point may not be valid for all companies but at Quantiphi, I got to learn a lot of other roles(infrastructure, machine learning, data engineer roles) about what kind of work they do and how they do it. Sometimes I was also given those tasks and it was really fun, trying new things out beside software development. So even if you dont get that chance, you can ask a friend for help or discuss about their work(This may also help to understand what problems they are facing and how they resolve them). Why I feel a knowledge about other roles could be important is because as we grow in our career, we need to able to see the process as a whole(an end-to-end solution) which have multiple department/roles involved. Starting early should definitely help!!
I hope this article would be useful to some of the new folks starting their career in any of the roles(not just software development). If you ask me for just once advice then would be : Be Yourself
Leave a comment