I know one programmer who I would call great. Here's what I've observed from him so far: 1-A serious amount of fucks are given both via attention to detail, polish, and no corners are cut. I have been lazy comparatively and often accepted "good enough." I'm working on changing this so that my priority is what is awesome for the user, not easiest for me to implement. 2-At the micro level, before setting out with any n…
What Makes Great Programmers Different?
51–60 of 62 posts
Re: What Makes Great Programmers Different?
#52> The other group, the reckless, consists of those who have the skills but don't have the discipline. They are the cowboy programmers of yore. They code according to their own desires, do nothing to integrate their work with that of others, scrimp on basic discipline, and cause work for other team members. It is worthwhile to note that Steve, Linus, Feynmann (last one in physics, not coding) all belong to this catego…
I've never understood the hate for cowboy coders. A great cowboy coder can do the work of an entire team. It's so typical for people to cry that the cowboy causes work for others, but I've never seen it myself, and I expect the great many who claim it are just following the group-think they've had drilled into their heads. If you inherit a program from some other maintainer, there is a learning curve no matter what.…
Re: What Makes Great Programmers Different?
#53So, how do you know if you are a bad programmer? It seems that a programmer could be bad but think they are great....
Bad programmers I've dealt with tend to share certain traits: - Their code is large, messy and bug-laden - They have very superficial knowledge of their problem domain and their tools - Their code has a lot of copy and paste, and they have very little interest in techniques that reduce it - They fail to account for edge cases while inefficiently dealing with the general case - They're always rushing around putting ou…
Re: What Makes Great Programmers Different?
#54I know one programmer who I would call great. Here's what I've observed from him so far: 1-A serious amount of fucks are given both via attention to detail, polish, and no corners are cut. I have been lazy comparatively and often accepted "good enough." I'm working on changing this so that my priority is what is awesome for the user, not easiest for me to implement. 2-At the micro level, before setting out with any n…
I was able to improve my own skill in the matter with the "Learn to Debug" section in the "How to be a Programmer Book": http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
Re: What Makes Great Programmers Different?
#55The only way you can be a great programmer in a meaningful sense is by putting in your best effort every single time you do some programming work, always looking out for ways to improve your work and always looking for feedback from other people, basically cultivating a "beginners mind". Once you start thinking of yourself as a great programmer, you start paying less attention to what you are actually doing and start…
This is very high praise.
Re: What Makes Great Programmers Different?
#56I know one programmer who I would call great. Here's what I've observed from him so far: 1-A serious amount of fucks are given both via attention to detail, polish, and no corners are cut. I have been lazy comparatively and often accepted "good enough." I'm working on changing this so that my priority is what is awesome for the user, not easiest for me to implement. 2-At the micro level, before setting out with any n…
Point 2 is something I've heard Jeff Dean strongly suggest. Write microbenchmarks for all the basic operations of the "black boxes" you'll be using to build the system. That way, you can do quick back-of-the-envelope calculations to estimate the performance of the system before actually building it. You can explore the problem space much more quickly when you can simulate the important characteristics in your head in…
Re: What Makes Great Programmers Different?
#57I know one programmer who I would call great. Here's what I've observed from him so far: 1-A serious amount of fucks are given both via attention to detail, polish, and no corners are cut. I have been lazy comparatively and often accepted "good enough." I'm working on changing this so that my priority is what is awesome for the user, not easiest for me to implement. 2-At the micro level, before setting out with any n…
Point 2 is something I've heard Jeff Dean strongly suggest. Write microbenchmarks for all the basic operations of the "black boxes" you'll be using to build the system. That way, you can do quick back-of-the-envelope calculations to estimate the performance of the system before actually building it. You can explore the problem space much more quickly when you can simulate the important characteristics in your head in…
Re: What Makes Great Programmers Different?
#58Is memory really that important? I'm just starting out with programming right now and I have rather poor memory.
Yes, but you don't have a poor memory, you have an untrained memory. Nobody has an innately poor memory unless they've received egregious brain damage.
Re: What Makes Great Programmers Different?
#59Is memory really that important? I'm just starting out with programming right now and I have rather poor memory.
Yeah, memory is important. It's easy to hack, though. The techniques are called mnemonics. Learn and practice a bunch of these, pick a few that work well for you. Eventually they will be very natural to you.
Re: What Makes Great Programmers Different?
#60Is memory really that important? I'm just starting out with programming right now and I have rather poor memory.
It's important, but I don't think it's crucial. I've seen a couple programmers that are really good that do not have good memories. They always have apis and cheat sheets open in their browsers they are constantly referencing, along with frequent searches on google.