4 ms·
In my experience there are two kinds of programmers. Those who program (largely based upon practices they are told are good) and those who also really think ab
by einhverfr 13y ago
In my experience there are two kinds of programmers. Those who program (largely based upon practices they are told are good) and those who also really think about their own programming and try to develop their own paradigms in response to their own problems.
The latter tend to be, in the long run, far more productive than the former. However, this takes both motivation and it takes extra time between iterations to think about what problems you are having with development and how to solve them. Continuous iterations get in the way of it, but it isn't clear that the heavy engineering waterfall model gets people to do it either.
Sometimes you need some distance so you can come back and ask "is this good code? What can I do better?" Without distance, it is like editing your own essays.
After 10 years of coding professionally and over 20 years of programming experience, I find that that capacity, which is entirely independent of how many hours someone actually spends coding, is the best indication of how productive someone will be.
If I am ever hiring programmers, my questions won't be puzzle questions. They will be questions like "how do you decide what needs testing?" or "when and why do you comment your code?" Those questions are likely to tell me more about how much someone has thought about their own code experiences than whether they can solve a certain puzzle or not.
- collyw 13y agoThe distance thing is the best way to improve your own code in my opinion. I have a medium sided codebase to look after. When I have not touched a bit for a few months and I need to go back, it should make sense to me very quickly (I wrote it after all). If it doesn't I ask myself why it doesn't and what I would expect to find to make it more understandable. Then refactor from there. Its too easy to be focused on the details of a piece of code, and not see the bigger picture. That's why being away from a piece of code gives me the best opportunity to evaluate it objectively.
- ownagefool 13y agoLearning 30+ years of CS knowledge from scratch doesn't sound very efficient. The truth is, anyone who constantly delivers must have the capacity to understand _why_ but they'll still be largely benefiting from the trails marked by others.
- einhverfr 13y agoCertainly we all learn from others. However there is a difference between those who sit back at the end of the day and say "what worked well?" and those who say "We should do things this way because it's a best practice."
- alien3d 13y agoif crud developer,should easily create a generator.but user experince anf business knowledge quite hard to explain.