Being a software engineer is one of the most interesting and uniquely challenging professions that you will find - you get to work alongside some of the most innovative companies in the world and the pay isn’t bad either. Learning to code isn’t an insurmountable job; you don’t necessarily need a degree; you just need confidence, discipline, and good habits to keep learning. My name is Roberto, and I am a Fullstack Software Engineer. These are some basic tips that have helped me level my developer skills. Every person has a different way to learn, some learn faster than others. I'm the type of person who needs to know every detail and see the whole picture to understand. The following tips have helped me improve day after day throughout my career.
1. The Art of Reading Documentation:
At the beginning of my journey as a developer, I used to watch a lot of videos to understand and see how things were done when using a library or a framework. This is a good practice because you will see an example that will help you to understand the concept better. However, with time I have realized that often the best way to understand the ins and outs is by reading the official documentation. For me, the documentation is like the Holy Bible, where you will find most of the answers that you are looking for. I’m not going to lie, some documentations are hard to read and they lack examples and others are BEAUTIFUL; the React documentation is a great example. When I started working with their framework, I loved learning through their documentation because everything was so detailed and easy to understand. React documentation is perfect for beginners since they have a lot of content and playgrounds where you can start learning how to use their framework. Unlike many other frameworks, which already assume that you know their product and forget that some junior developers will be using their technology for the first time. I think that reading is a very important habit that a developer needs. I mention this because I was the type of person that when I needed to do an implementation, I always looked up video tutorials and ultimately lost a lot of time, instead of going directly to the documentation and grabbing what I really needed. If you like to read books, I recommend that you read Clean Code (by Robert C. Martin) and Atomic Habits (by James Clear). This is a good combination because with one you learn to write quality code and with the other how to build good habits. Clean Code is a book that every programmer should read since it will show you the best practices of writing quality code. Trust me - you will learn something from it. Understanding of documentation led to successful implementations.
2. Embracing Code Reviews:
Code reviews can be daunting, but they are a goldmine for learning. When I started working as a junior developer, I did not feel comfortable doing code reviews since I was afraid to ask what I felt were basic questions. I always was the junior of the team and It was often hard to understand the implementations that my co-workers did. But let me tell you something: the best way to learn and understand the code of another person is asking why they did it that way. Don’t be afraid of making a mistake with a suggestion that you want to give or thinking that you are asking a “stupid question”, there are no stupid questions. The point of doing code review is to learn to read other people’s code and develop the ability to see code and suggest an efficient way of doing it. Developing solid code review practices will help you to learn new techniques and tricks on how to do things. Also, a good way to quickly improve your code when you’re starting out is to get lots of feedback, and often, ideally from various developers. I remember one of my first pull requests that I did at my first software engineer job. It was my first time working with React and I had to implement a rich editor that allows the user to write article posts.
I had somewhere around 19 requested changes from my co-workers, but those suggestions made a big difference because the code was more organized and readable. Don’t get frustrated if that is happening to you, because with time you will improve your coding skills. We all have our own way of going about a problem, and finding the right solution will be easiest with a variety of unique ideas. The reviewer will give you feedback on how you can refactor your code to be more efficient and elegant. These reviews have not only improved my coding skills but also built my confidence in my work.
3. Consistent Practice:
As a wise man once told me, coding is like sports, to be the best you need to practice and maintain consistency. There are a lot of online platforms that will help you practice coding, one of my favorites is FreeCodeCamp. You can find practice work and exercises on different topics and programming languages and the best part is that it’s FREE. Another thing that you can do is make a monthly challenge for yourself: select something that you want to learn and practice every day for one hour until the end of the month. You will see more improvement than you think. I put this into practice in my work and it helped. Most of the time in my work I like to take front-end tasks because I feel more comfortable, I handle them much faster, and because I don’t like the back-end as much. To be a very productive developer is good if you know how to handle both areas. So, to improve that area in my career, now I tackle difficult tasks that require back-end and front-end. Another resource that helped me to have a better understanding of algorithms and data structure was this book “Grokking Algorithms”, by Aditya Y. Bhargava, it gives you a better view of how algorithms work and behave. Sometimes you need to challenge yourself, get out of your comfort zone, and work in areas you’re less familiar with to force yourself to learn new things. But you have to make sure that you are UNDERSTANDING what you are doing to be able to move forward.
4. Teamwork and Collaboration:
Although being a developer is often an independent job and practice, you don’t have to be learning and working alone all the time. Sharing knowledge with your colleagues, or even similarly skilled friends, is very helpful because you will be learning new things constantly and having great communication makes you a better developer. Sometimes when I’m stuck with an implementation and I have been trying for several hours I pair with a partner to discuss the situation and all the things that I’ve tried. This is very helpful because you start discussing code and possible solutions for the problem. Don’t be afraid of reaching out for help - sometimes you’ve just been staring at something for too many hours and need a fresh pair of eyes to help you come up with the solution you’d been missing.
5. Staying Calmed Under Pressure:
I enjoy being a software engineer because every day you are faced with a new challenge; sometimes it’s easy but sometimes you have to spend hours or maybe days trying to find a solution for your problem. So hey, don’t get frustrated when things don’t go as expected, because those long hours of work are the ones that are making you a better developer. That’s what I love about my work, I get to work with hands-on tasks that continuously challenge me in new ways. Is good to chill out when you are stuck on a problem. When I’m in that situation I always go out for a walk because it helps me to clear my mind. Trust me, that will help you to get back and solve that problem.
The journey of a software engineer is filled with continuous learning, challenges, and growth opportunities. By embracing these practices, you can enhance your skills and thrive in this dynamic and exciting field.
Top comments (0)