4 ms·
Ask HN: What specific techniques do you use to improve as a programmer?
How do you all make an effort to learn and avoid repeating coding errors? I'm thinking about starting a running document where I will catalogue things that I get stuck on and how I overcome them, in an effort to crystallize new knowledge and logical thinking.
How do you get better?
- beobab 14y agoPractice, feedback, practice, feedback, ..repeat..
- eranation 14y agoAs beobab said, code, debug, feedback, rinse and repeat Other resources that were helpful for me as well Books: - SICP (http://mitpress.mit.edu/sicp/full-text/book/book.html) - The Pragmatic Programmer: From Journeyman to Master Courses: - Almost all udacity CS classes - SaaS courses at edx.org - Scala course and most CS courses in coursera Open source: - browse most popular OS projects on GH, and try to contribute - create your own open source project, and get feedback / pull requests Q&A sites: - Stackoverflow - http://codereview.stackexchange.com and of course most coding related articles here on HN edit: SICP has an online course at MIT OCW: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/ http://ocw.mit.edu/courses/electrical-engineering-and-comput... it might cover a lot of things you know, but I think it's a must have for every developer out there.
- anujkk 14y ago1. Sharpen your saw. Keep learning new technologies and programming methodologies. 2. Make an effort to use what you have learned from past experiences to write better code in terms of usability, efficiency, readability, maintainability, etc. 3. Read Code(good ones). Sometimes, looking at other people's code allows you to have a fresh perspective about coding style. 4. Contribute to open source. It will help you immensely in understanding what it takes to write code that others can read and maintain. 5. Help others on sites like stackexchange.
- feralmoan 14y agoLearn a new (people) language to shore up your propositional calculus skills. If you're a native Germanic (English) language speaker, learn an Altaic one (like Japanese for example) and vice versa. It has certainly helped me write elegant code. Code isn't just code, its a mindset and approach with a lot of room for creativity.
- staunch 14y ago1. Learn more languages and technologies. 2. Create new projects as often as possible.
- fidanov 14y agoThere is no shortcut to get better. You have to write software. Write, write and write again. Take part in different kind of apps. Small web apps, big and complex web apps, simple mobile apps or more complex mobile apps. Each of these will teach you on how to think and organize your work. Try learning different programming languages for example Clojure, python, ruby, javascript, C#, java and haskell. You don't need become an expert but each language will teach you a different way to tackle problems. Another thing that I've found useful is looking at other people's code. Github and the thousands open source projects there, make this super easy. Learn what you should do and what you should not.