4 ms·
I'm young enough that I can still change my career easily, and I often worry that I'm not one of the super productive programmers, and that I'm wasting my time
by tigerthink 17y ago
I'm young enough that I can still change my career easily, and I often worry that I'm not one of the super productive programmers, and that I'm wasting my time and that I should choosing a different career.
Is uber-productivity significantly enhanced by choosing the right development methodology (e.g. test-driven development) or is it mostly something innate? Aside from stories like rdouble's (which I don't find that helpful, since it doesn't contain information on rdouble or his employer's domain expertise), what is the evidence that super-productive programmers exist?
- maddalab 17y agoI have found that uber-productivity is domain specific. I might be uber-productive in a particular domain (Java programming), however put me in an environment that does Groovy programming and I will stink as much as the next newbie. However good programmers develop techniques for meta-uber-productivity. They know what it takes to get uber-productive in another domain in a short time and what works for them. My way to try and me more productive in any environment is to get my hands dirty, start soon and make changes often. Practice makes perfect. As an individual you can be uber productive, just practice more of what you want to be productive at. Want to be productive at running a business, start your own and practice it. Want to be uber productive at programming, write code lots of it, and so on and so forth.
- ahlatimer 17y agoI've found that most of the competent developers I've met haven't had a whole lot more difficulty switching languages than the significantly better developers. There's a lot of synergy between modern programming languages. For instance, I started with Java, then moved to Python, learned COBOL and a little bit of php and ASP around the same time, then finally switched to Ruby, where I do most of my programming now. A lot of the things I learned in Java were still relevant in Python, and the same was true with the switch from Python to Ruby. COBOL was a bit of an outlier since I wasn't using the OO version of COBOL, but I already had a grasp on logic and flow of control, so even that wasn't that much of a stretch. I'm definitely not one of those elite programmers, even though I do seem to grasp concepts better than a lot of my classmates, so I find categorizing domain as a programming language in relation to programmer ability is flawed. Once you've achieved competency in a few languages, you should be able to switch languages without too much trouble, assuming those languages at least have a moderately similar paradigm (a notable exception might be, say, Java -> Lisp). It's the ability to understand concepts that tend to separate the good from the mediocre, and that might have been what you meant when you referenced "domain."
- abdulhaq 17y agoI can see two sides of this here: Negative: you're considering changing career, seems like you don't really love hacking. It's really hard to be a great hacker if you don't love it. Positive: You want to learn. A key ingredient to becoming a great hacker is being keen to learn new techniques, practise them, and admitting that there are better ways to do it than the way you are doing it now.
- Deestan 17y ago> Is uber-productivity significantly enhanced by choosing the right development methodology (e.g. test-driven development)? Yeees...-ish. All methodologies have their pros and cons. Therefore you should be experienced in as many of them as possible, so you know when and where they are best used. People who only know one methodology really well tend to overdo it - they don't know when to stop shoving tests and patterns into their codebase.