DEV Community

loading...
Cover image for How to grow as a developer

How to grow as a developer

michaelcurrin profile image Michael Originally published at michaelcurrin.github.io ・4 min read

Become a well-rounded developer and keep improving

Intro

This year I've spoken to couple of beginner developers who need advice on how to grow their skills and career. Here are some ideas which are top of mind from my recent discussions.

The tips are aimed at beginners, but will also be useful for someone with experience who is looking for ways to improve themselves all-round or try a different direction (like hobby projects or open source or learning a new language). I plan to use this as a reference to keep myself challenged and inspired when I feel like I am stuck.

For background, I am Senior Software Engineer and I have been developing professionally in Python and JavaScript since 2017. The tips here are things that have I have discovered on my journey and they have helped me.

Stay curious

On the technical side, you're going to have to keep learning in your career or hobby as a developer.

There are plenty of free online courses and sites with material for you to use.

Don't stuck in tutorials - take the concepts and syntax you've learnt and put them into practice. Build something. Experiment. Throw away your code or keep it as a reminder of what you made. Don't feel like you have to know a lot about a topic or tool to use it - you just have to know enough to get started and you'll figure things out as you go.

Draw your application on paper before coding. What are the pieces needed and how to they relate? What are the opportunities and costs of decisions? How will another developer or an end-user use your application?

Goals

Keep your goals small and achievable at the start so you'll build confidence, focus on a few well-defined problems and avoiding getting discouraged when you feel stuck or overwhelmed.

Don't get obsessed over perfection and understanding everything. Be patient with yourself. Being a developer means sometimes accepting uncertainty or being patient as you work through it.

Don't get sidetracked with bikeshedding. Debates like tabs vs spaces and which language or tool is "best" takes you away from writing better software. Your development style will change over time as you write code and learn from other codebases and experts. Seek to improve, but don't expect to get to perfection as real life changes and you have to adapt parts of your code and even rewrite or get ride of applications that no longer fit your needs as personal project or the needs of end-users.

Connect with people

Go to coding meetup events in your areas. AWS also has a few online sessions a month that you can join, covering both presentations and the chance to chat to others over a chatroom or video.

Share your learnings and what you've made with your friends and colleagues and in some public space (like GitHub or a blog). You'll be encouraged by positive reactions. You'll get feedback on how to add to your code or application in ways that you hadn't though of. And you'll find out about bugs or friction that people experience installing or using your application.

Get help from the open source community

If you're lucky, you'll get contributions to your repos from the GitHub community such as issues or Pull Requests. Go to the Settings section of your repo. Disable this option: Restrict editing to collaborators only. Then when someone makes a fork of you're repo, they'll be allowed to submit a Pull Request. Also, this option allows anyone to add issues to your repo.

Be kind in your code reviews. Not everyone knows the language, tools and projects a well as you. They may have ideas or code styles which are different to yours. Seek to learn, understand and ask questions, before judging someone and their input or code.

Contribute to the open source community

Find ways to contribute to Open Source projects - such as repos that you like or packages that you use. I would not recommend focusing on contributing to Open Source too early on as a beginner. Start with your own projects where you have a lot of freedom to mess around.

Over time, you'll find public projects that matter to you and you'll be able to match your skills against the problems.

But when you do get to the point of having your Pull Requests on repos merged, it is very satisfying.

You'll also learn a lot about CI (automated tests and deploys), reviewing code and getting familiar with another codebase. These skills are invaluable for working as a developer and getting practice on open source repos is a great way to hone these skills. Plus you're making the tech world a better place.

Conclusion

I hope these ideas resonate with you and that you can pick at least one idea and run with it.

Related

This is a re-post from my blog on GitHub.io - I have some older posts there which are similar, if you are interested.

Credits

Photo by @yogendras31 on Unsplash.

Discussion (5)

pic
Editor guide
Collapse
alxtrnr profile image
Alex Turner

Don't feel like you have to know a lot about a topic or tool to use - you just have to know enough to get started and you'll figure things out as you go.

Don't get obsessed over perfection and understanding everything. Be patient with yourself. Being a developer means sometimes accepting uncertainty or being patient as you work through it.

Very relatable and worth remembering. Thanks for taking time to write.

Collapse
michaelcurrin profile image
Michael Author

I am glad to hear this resonates with you. My mentors have encouraged me to focus on these things. and that has helped calm me down when things seem overwhelming and I am reminding myself of these things too.

Collapse
stevieemmit profile image
stevieemmit

Thanks a lot. I really needed this.

Collapse
lazytechie_ profile image
Ola-oluwa

This is definitely helpful... It was worth every minute spent

Collapse
michaelcurrin profile image
Michael Author

Thanks for all the positive reactions and comments.

If you have any questions on these or related areas, let me know and I'll respond with a comment or make a separate blog post.