6 ms·
Ask HN: How can I become the best software developer I can be?
I’ve got about three years of experience so far doing software development (front end) and I’m enjoying it so far. I just want to make sure I set myself up for continual growth so that 10 years in the future I’m really beginning to reach my potential.
- throw8932894 6y agoTake an opensource project you like and follow its development. Each bug has description and commit that fixes it. If you can reason how bug was fixed, you will be good. Also some projects have very good documentation. Read it from start to finish. Do not drink coffe, sleep well, avoid stress.. anything that reduces your cognitive abilities...
- CoffeePython 6y agoI'm around the same YoE but some things that I've felt have accelerated my growth: - build things outside of your comfort zone - work with smarter people than you - be intentional about your work. Always have a theme of something you want to improve And the biggest one: - Choose to be an excellent developer. Mindset is important. If you tell yourself you're an above average developer, you're more likely to improve your craft because it's part of your identity.
- juangacovas 6y agoSo you want to be a wizard? by Julia Evans is a nice "zine" of her. https://wizardzines.com/zines/wizard/ https://wizardzines.com/zines/wizard/
- sharp11 6y agoRead Anders Ericsson’s book on deliberate practice
- nicbou 6y agoMake time to reiterate. Despite proper planning, I always find better ways to do things once the code is written. In my opinion, refactoring code is the best way to improve your coding skills. Writing a lot of tests also forces you to think about better ways to write code. It encourages you to write simple, modular, and often stateless code. Linting and code reviews are important too. I learned a lot from my coworkers, but also from AirBnB's coding standards.
- austincheney 6y agoPractice. A lot of practice, and that practice has to be challenging. Be constantly trying to invent new things that are amazing but ensure your code is secure, fast, simple, and easy to read. Constantly challenge yourself and question/revise your approach.
- vimy 6y agoSpaced repetition. http://www.jackkinsella.ie/articles/janki-method http://www.jackkinsella.ie/articles/janki-method
- edylemond 6y agoGood read! I ran into points 3) "learning out of context" and 6) "missing the big picture" regularly myself when studying with Anki. I created a spaced repetition app [1] which lets you link and nest flashcards (like notes in roam research) to address this. The name of your method suggest it's tied closely to Anki, but from what I read it would work even better with connected notes? [1] https://traverse.link/ https://traverse.link/
- IamZeroBalance 6y agoRead books. Reading is one of the best ways to learn new tricks.
- realgabriel 6y agoAnders Ericsson's Peak was already suggested and I think it offers great advice on how to become the best you can be at any given pursuit. A few keys from it: 1- Push yourself out of your comfort zone; 2- Have clear, well-defined, goals for what you want to achieve, either in the overall skill and for each practice session; 3- Total focus while practicing; 4- Get feedback from people who know what you want to do looks like
- segmondy 6y agoKeeping challenging yourself. Become a T-shaped person, know enough to be a generalist, then also specialize in the area you have the most natural talent. Learn to focus on the none code things that increase quality of software development, things such as planning, design, giving estimates, documentation, user interaction, simplification of problems, communication, teamwork, etc.
- kleer001 6y agoBe more conscientious: https://daringtolivefully.com/how-to-be-more-conscientious https://daringtolivefully.com/how-to-be-more-conscientious https://einzelganger.co/how-to-increase-conscientiousness/ https://einzelganger.co/how-to-increase-conscientiousness/ https://www.psychologytoday.com/us/blog/finding-new-home/201902/three-potential-ways-become-more-conscientious https://www.psychologytoday.com/us/blog/finding-new-home/201... Be physically healthy: https://www.harvardhealthonlinelearning.com/courses/cognitive-fitness https://www.harvardhealthonlinelearning.com/courses/cognitiv... https://biostrap.com/blog/mental-acuity/ https://biostrap.com/blog/mental-acuity/ https://joovv.com/blogs/joovv-blog/mental-acuity-tips https://joovv.com/blogs/joovv-blog/mental-acuity-tips
- chirpalytics 6y agoBe relentlessly curious and share what you know. The curiosity will drive you to learn from multiple sources, including books, video, blogs, formal, or whatever appeals to you most. This builds your backpack of tools for potential use in software development. Sharing what you know forces you to think deeper and find ways to explain in the simplest way possible for someone else to understand. As with learning, use the means that appeals to you most. In addition to personal growth, you will have contributed to the community as a whole. Remember that it's a journey, not a destination, and while you'll experience moments of accomplishment, you should enjoy as many days as you can along the way.
- tiddles 6y agoAs others have said, practice! Everyone has a (few) million lines of awful code in them initially. Some recent revelations I've had in the last few years that I've been applying with great effect: - Write code that's clear, not clever. Other people who will have to read and understand it (including your future self) won't be impressed by "clever" code, it just makes it way harder to understand. - Write code to be disposable. I know for a fact that in a few months time I'll have to revisit my code to refactor or add new functionality, and writing it with mindset that it should solve only the current problem and nothing else prevents code creep/YAGNI.