3 ms·
Ask HN: What do you do to become a better software developer?
- makecheck 15y agoLearn multiple programming languages, so that you are in a better position to use the one that is most suited to a given task. This also exposes you to new ways of thinking...some languages aren't nearly as good at expressing certain concepts as other languages. The ability to "glue" is a related skill. One type of glue is inter-process communication and shell scripting, allowing you to tie small programs in multiple languages together. Another type of glue is a generator tool like SWIG or Cython, where a single large program can take advantage of a high-level language and a low-level language instead of being confined to one suboptimal language.
- yijinsei 15y agoThanks for your recommendation! I came from the standard OO background but after reading "Coder at work". I am quite inspired to learn Haskel and Erlang
- deleted 15y ago[deleted]
- StudyAnimal 15y agoPractice, learn from others. Don't spend more time reading than coding, but a couple of books with good tips include "The Pragmatic Programmer" and "Apprenticeship Patterns" Also going to dojos and doing katas.
- yijinsei 15y agoI guess I prone to the problem of reading more than i code. Got ton of e books from the recommendation at Stackoverflow. Think i should inspire myself to code 10,000 hrs
- ericHosick 15y agoNot in any order: Learn to do more than just write software. In fact, learning how to minimize source code is a good start (really source code is bad like crossing streams bad). Learn how to read and leverage off of existing, hopefully open source, resources. Learn how to design away problems instead of coding a solution for them. Learn to keep things simple. Learn to design/mockup and get feedback (UX, etc.) on your solutions before coding them. Did I mention the try not to write code part?
- yijinsei 15y agoEmm... but why not write codes? I think, for example, code down algorithm is both good to understand the practical side of comp sci as well as a better way to remember algorithm.
- ericHosick 15y agoEvery time you write code you have to/should: Define requirements for it, define tests for it, continually run regression tests, design it, implement it, debug it, peer review it, etc. All of this is done to solve some problem in a specific domain. That is a lot of work when all you want to do is add some small feature to your overall software solution. In software development communities, people are now able to pull from the works of others and build on it. Let's take the Rails community as an example. Many of the features I need in a software program have already been written and available for me. I need an SMS system? Done for me already. User authentication? Done. Persistence? Done. One way of becoming a good software developer is to become better at taking existing solutions and integrating them into your final software solution. This should involve as little source code as possible.
- kat 15y agoPersonally I learn best from others.Two heads are always better than one, and it keeps me engaged with the material. Ask your senior co-workers for help, or even your peers. I've learned a lot over code-reviews, whether its a sit down formal affair or a 5 minute, let-me-run-this-past-you sanity check.
- nreece 15y agoWrite lots of "bad" code. Read lots of "bad" code. Fix lots of "bad" code. In essence, fix lots of bugs.