You can find many online publications on improving as a developer. In fact, there are so many of them that it’s easy to think the subject has been sufficiently discussed. However, I would like to examine this issue from my point of view.
Everyone is different. Each person needs different amounts of encouragement. Ask yourself a question: “Do I want to be in the same place in six months, in two or in five years?” If the answer is no, check the list below to see my personal choice of path to becoming a better developer.
It’s natural that we feel more comfortable with things we are familiar with. New means unknown. To embrace it all you need to do is change your attitude. Stop being afraid of new things. Start to be curious about them. Don’t follow the path everybody else does. If you believe that something can be done differently, do that. Don’t be afraid, because...
I don’t mean that you need to know every JS framework and remember its documentation. What I mean is: learn about mechanisms, design patterns and similar things, go deeper in the framework you already know and use the most of it, learn how it works underneath. Maybe you should learn a new language, or if you are a front-end developer, check the other side — the back end. No, it doesn’t mean that you have to go full-stack. It will simply allow you to know what the back end is capable of, what are its restrictions, why a back-end developer implemented a specific endpoint in that way etc. It will increase your awareness of application software as one coherent system. I believe that this approach will open your mind to new technologies, make you aware of new possibilities and improve your skills.
The times when access to interesting articles was really hard are gone. Nowadays, there are tons of articles published every day. I think the most popular place is Medium. You can subscribe to the topics that you are interested in and there are many publishers that you can find there and follow.
I would like to take this opportunity to invite you to subscribe to the Future Mind newsletter on project management, design, mobile and business. A new article is posted every week so we won’t spam your mailbox.
I know it’s difficult to remember, or to force yourself, to read regularly. But you can create reminders to read once or twice a week. You can bookmark articles you want to read and get back to them in your free time.
If you have a difficulty with logical thinking or with complex problems, try to solve algorithmic puzzles. Check out the https://www.codewars.com page. Choose your language and start. You can begin from one per day or even two per day. Some are easy, but some are mind killers. After you submit your solution, you can check how other developers solved the same problem. This demonstrates easier, and maybe cleaner or faster, ways to achieve the same goal, and you’ll learn some useful hacks.
Communication is as important as your programming skills. You can be the best programmer in the world but if you cannot communicate with others, no one will want to work with you. Focus on reporting issues, don’t be afraid to ask questions, make reasonable decisions and be able to defend them. If you have any code-related problems, talk about them, don’t keep them to yourself. This has a big impact on how the project is being developed. You can ask your teammate or another person — one you think is good at communication — to give you honest feedback. Explain that you want to be better in that area. Teamwork isn’t the easiest thing — I would compare it to class naming or cache invalidation — but it is essential in this job.
When you have a better understanding of the client’s needs and the purpose of the project, you are able to make better decisions. Try to think if your solution will help the clients to achieve their business goals. If you don’t know those goals, ask your product managers, they should have asked the client about them, even before the project has started.
You cannot go from one task to another and not worry if it makes sense or not. If you think something could be done in a better way — suggest it, recommend another, better, solution. And not only in project-related cases but also in your open space or any other company environment. Make suggestions, show you care about your teammates and co-workers. You cannot, for example, leave the coffee pot empty. Your colleagues will appreciate it for sure.
Talk to your superiors every six months or once a year and be honest. Ask them about your progress, good and bad things that happened, and work out some conclusions. It will show you the areas in which you have improved and those in which some work is still required.
And the last point is the most important — you must want to improve yourself as a developer. If you do, you are already half-way to success. You’ve got the motivation, you know what to do, so… just ‘implement it’ :)