10 Things My First 6 Months Taught Me About Great Developers
On August 22nd of last year, I started my first-ever job as a software developer. Since then I have gained 6 months of experience in the development field and have learned some valuable nuggets that my 6 month-younger-self was not fully aware of.
Starting out learning to code, I had never written a single piece of code. HTML, CSS, and Javascript were completely unfamiliar to me, but I set a goal to become a developer within a year. I decided to learn coding by picking up recommended books, taking courses, doing projects, and getting guidance from other senior developers. All of the learning I made by studying self-taught for 10 months was enough to get me multiple job offers. It got me in the door, but it wasn’t enough to make me a great developer. However, working with great developers on a daily basis gave me a clear road map of what it takes to become one.
As a junior developer, you don’t know what you don’t know. The template projects and case studies you code while learning to code, will never fully prepare you for the tasks you’ll face at your first job. Getting good at development comes with experience. After half a year of working as a developer, I have noticed patterns that developers do that make them great. Here are 10 of the main factors that will make you a great developer.
1. Communicating well with your team
In most software developer jobs, there will be a team of front-end and back-end developers working together on a product. Communicating well with the team is essential to being a great developer.
Being forward-leaning with your thoughts, ideas, and questions will help the team become better as a whole. And it will also make you an increasingly valuable asset to the company.
2. Documenting properly
Making tasks, creating new branches and pull requests are a daily part of any software developer's job. Taking the time into documenting properly when doing these tasks will make you a better developer.
Making your points clear and concise makes it easier for anyone on the team to quickly understand what you are trying to communicate.
This is one of the most important things to focus on improving on if the goal is to become a great developer.
3. Knowing your code base
Starting out you’ll have to spend some time learning the code base properly. Knowing where things are in the code base will make you a much more effective developer. As you get more experienced working with different code bases, the process of getting familiar with new ones becomes much easier.
Great developers know their code bases well. Being comfortable with any code base comes from working on different tasks involving all corners of the code base. If you are restricted to certain parts of it, and you’re comfortable with that area then I would ask my manager if I could start working on other areas.
Overall, this will make you grow quicker as a developer and add value to the company. Great developers often will take ‘ownership’ of a product and will know most of the code base.
4. Be good at Git & GitHub
One of the things that separate a good developer from a great one, is their ability to use Git and Github effectively.
This comes down to how you communicate through your commits, pull requests, and branch naming, but also the ability to know how to do more advanced git stuff like rebasing and reverting branches.
The more you use Git in your day-to-day the easier it gets. Great developers are good at using Git and GitHub.
5. Reaching out to others when stuck
Inevitably, there will be times when you’ll get stuck on a task as a developer. A great developer knows when to reach out to others for help finding a solution to a problem.
They try their best to solve the task, but when they feel stuck they reach out to others.
6. Challenging yourself
Great developers constantly challenge themselves to become better. They don’t shy away from difficult tasks, because they know that with challenge comes growth.
Junior developers especially should constantly challenge themselves and not always go the easy path. Making a habit of going out of your comfort zone will eventually align you with other great developers.
7. Staying curious
To become a great performer in any field your curiosity is one of the main vessels that will get you there. Asking questions about why and how things are done will fast-forward your learning process immensely.
Don’t be afraid to ask the ones that are more experienced than you any ‘stupid’ questions. Sure, at that moment you might ask questions that maybe you ‘should’ve’ known or that might be common sense to the more experienced developers, but that doesn’t matter because you will learn from it. And that is what matters, that you stay curious so that you never stop learning.
Over time this will lead to you becoming a great developer and helping others who are on their way up as well.
8. Thinking how this will improve the product
Junior developers often will have a ground-level point of view of things. They work on one task and then the next without considering the grand scheme of things. How will this task benefit the product? How will it benefit the company? Is the task worth the cost it takes to complete it?
A great developer has a birds-eyes-view of the tasks they are doing and considers if they are taking the product in an overall better direction. And if they are not, they come up with suggestions for alternative ways of doing them that will create a positive outcome for the company.
Try reflecting on the tasks that you are doing on a day to day and how they will affect the end product(good, bad, or indifferent).
9. Don’t learn everything at once
Learning everything at once often leads to not learning any one thing well. To become a great developer focus on mastering one area fairly well before moving on to something else. That can be learning front-end development well before learning about the back-end. It can also be learning one language really well before you learn new languages. Or it can be certain aspects of a language.
Get good at one area, then go and get good at another area, and so on. Over time you will have multiple areas that you are good at instead of a bunch of areas that you know a little bit about.
10. Considering the cost versus benefit of tasks
One of the major things that great developers focus on is how tasks are going to affect the bottom line. Things can always be improved endlessly, but any task that developers do costs the company money. And so, sometimes the saying ‘if it ain’t broke don’t fix it’ is something great developers are very familiar with. Sometimes it is not necessary to improve something if it is not going to have a significant return on investment, especially if that something is going to take a long time to complete.
Junior developers are often excited to be given tasks and to work on them without really considering the cost versus the benefit of the task.
As you grow as a developer these are some of the points to be increasingly mindful of, and which will benefit both you and the company you work for long term.