News for hackers. Stuff that matters.
Re:How do I know if I'm good at programming? by StephenMelon on Sunday July 23, 2017 @09:17AM (#14832125)
There are 2 types of “good” programmers, who both think the other type is useless.

The first is the “rockstar” developer type who is great at prototyping, hitting deadlines no matter what and delivering functionality, albeit full of bugs. They will write 80% of the code and will drive the support team up the wall by breaking the build, causing customer issues in production, security holes and basically seriously degrading the code base. But their boss will love them because they deliver the shiny when required.

The second type are the ones who can sort out the mess created by the first type without making things even worse. They tend to be less visible, less well paid and less in demand but every company needs them.

The whizz kids and the grown-ups basically. Companies who only have the first will burn bright but not be able to scale. Companies who have only the second type tend to move too slowly to get to market or pivot.

So ideally there is a symbiotic relationship between the two types and someone who is a combination of the two is very rare indeed, because the first either needs an ability to place limitations on awareness of the big picture (and it’s very difficult to create a blind spot on demand once you have experience) or they need to be incredible at both analysis and full stack execution. Those people are few and far between so a process that gets the best out of the two types is, in my experience, the way that most companies work.

Re:How do I know if I'm good at programming? by BoiledCabbage on Sunday July 23, 2017 @11:35AM (#14832712)
While I appreciate you sharing, I have to say that I believe this is extremely non-representative of the industry. I've work on a lot of teams across the years and have seems different people with each of those individual qualities, but have never seen any common split of people into those two combinations.

I feel this may be too specific to your personal experience / work history.

Re:How do I know if I'm good at programming? by ultimateedition on Monday July 24, 2017 @09:08PM (#14844221)
I second this, it's a nice story that programmers belong to one of these two categories, but I haven't seen it so black and white in practice.
Re:How do I know if I'm good at programming? by Johnny_Brahms on Sunday July 23, 2017 @09:30AM (#14832171)
I don't know if I agree. I have friends that can smash out amazing code in very little time.

Looking through some repositories of programs I like, some of them were prototyped in very little time, but with a surprisingly excellent first revision.

I had the pleasure to work with Zed Shaw quite some time ago, and even though his code might not be perfect, he writes a lot better code than the vast majority, in a lot less time.

Re:How do I know if I'm good at programming? by DC-3 on Sunday July 23, 2017 @09:50AM (#14832244)
This is interesting to hear. I thought Zed's book on C programming was reasonably good but I lost an awful lot of respect for him with his strange and nearly incomprehensible tirades against Python 3.
Re:How do I know if I'm good at programming? by zedshaw on Tuesday July 25, 2017 @10:12AM (#14847819)
LOL. An account with these as the only comments and no submissions? Man this place is so weird. It's like you're at a party, and then some guy can scream at you from across the room while wearing a Richard Nixon mask and everyone goes "Oh yeah that is true." Never questioning why the guy is wearing a mask at a party.

Anyway, I think you need to look up the words "tirade" and "incomprehensible"

Re:How do I know if I'm good at programming? by Zenbit_UX on Monday July 31, 2017 @07:51PM (#14896842)
Looks like you got some haters... The only reason to make a throw away in order to bash you - deservedly or not I don't know - is because you know this person and they don't want to remove their Nixon mask and risk a real life confrontation.

tldr: Welcome to the Internet

Re:How do I know if I'm good at programming? by DC-3 on Wednesday August 02, 2017 @11:14AM (#14911177)
I did not create this account as a throwaway. I just don't have the inclination to comment on HN much and was lurking for a long time until recently. As proof I point you to my Reddit account of the same name which has a great deal of activity and which is reasonably well recognised and regarded in certain communities. I say this to demonstrate that I am not creating burner personas for the sole purpose of starting flame wars - but I did think it was worth stating in this discussion that Zed has succeeded in discrediting himself in some programming circles.
Re:How do I know if I'm good at programming? by celticninja on Sunday July 23, 2017 @12:39PM (#14833092)
It seems like he is over his python 3 hate now.
Re:How do I know if I'm good at programming? by zedshaw on Tuesday July 25, 2017 @10:23AM (#14847901)
Someone linked me here asking me how I can write good quality code so fast so I thought I would come and drop a comment just in case other people read this and fall prey to the "HN must be true" virus.

I have no idea if I write code better or faster than other people. Maybe I do, but I always think that I don't write very good code most of the time so I have to be extra careful. I spent a lot of time writing code very slowly and being extra careful so that I could make sure it's good quality. I guess after focusing on quality for so long I just got faster at it compared to others. But, I'm going to guess that I actually am not much faster than other people.

Re:How do I know if I'm good at programming? by nickthemagicman on Sunday July 23, 2017 @11:39AM (#14832738)
Yeah this was my thought too. He described the two types of Junior or intermediate programmer but there's a third type that writes great software extremely fast. I've worked with them before.
Re:How do I know if I'm good at programming? by owebmaster on Sunday July 23, 2017 @11:32PM (#14835706)
Like git. The first commit talk by itself: it was made using git. Software that works.
Re:How do I know if I'm good at programming? by Animats on Sunday July 23, 2017 @03:06PM (#14833847)
All the founders of Autodesk were of the second type. Most were mainframe OS maintenance programmers who fixed kernel bugs in assembler.

A big issue for AutoCAD was "don't lose the user's work". Customers were not forgiving of that. New features were less important.

Autodesk is still around, market cap around $26 billion. They're still selling expensive software that works, and have been profitable for over 30 years.

Re:How do I know if I'm good at programming? by animal531 on Monday July 24, 2017 @09:03AM (#14838061)
Just a small comment on AutoCAD. Any software product that's successful for 34 years is pretty impressive in my book.

3d apps especially seem to suffer from bloat, which then leads to competitors getting the leg up and the original dying off; then repeat for the competitors.

Re:How do I know if I'm good at programming? by dasil003 on Sunday July 23, 2017 @01:07PM (#14833233)
In practice you might have tension on a team between those who favor speed vs stability, but I resent the characterization that it is an inherent trait of the programmer.

If you want to be a great startup engineer you have to exercise judgement; knowing when to do something quick and dirty, what to polish, what code is likely to live a long time, when and how to address various aspects of scalability, etc. Someone who just has one mode of operation and does not consider the context is always a liability unless their role is very rigidly defined and management knows what they're doing.

Re:How do I know if I'm good at programming? by StephenMelon on Sunday July 23, 2017 @06:11PM (#14834691)
In my experience everyone has a natural mode of working and the conundrum for management is do you try to get people to change (to become all-rounders) or do you develop people in the direction they are already headed and therefore encourage specialisation? In my experience it’s sometimes better to let people be the best “them” they can be, than to try and require them to change and lose their uniqueness.

I think most developers naturally become more cautious with experience (the bitter experience of debugging long into the night usually), while some never grok maintainability or documentation but can still be highly productive net contributors if you have a great testing team between their code and your customers

Re:How do I know if I'm good at programming? by mercer on Sunday July 23, 2017 @02:14PM (#14833558)
I agree. The most important quality I try to cultivate is what I guess many would call 'good judgment', and others 'intuition'.

I've worked as a freelancer, lead front-end developer, and contractor, and ranging from 'stuck in the nineties' to 'use whatever HN talks about for the front-end' companies. One of the most important lessons I learned is to use the right tool for the right job. Also to not let 'purity' or 'elegance' get in the way of getting it done (which is difficult for me). But also to never confuse 'getting things done' with laziness.

Re:How do I know if I'm good at programming? by shubhamjain on Sunday July 23, 2017 @09:29AM (#14832170)
That sounds arrogant and condescending. I don't think that you should have a ship-at-all-cost attitude, notably when it comes with creating an unmaintainable kludge, but the second type, the meticulous kind, can also be ones who over-think every aspect of the output without taking the first step, which benefits no one.
Re:How do I know if I'm good at programming? by chiph on Sunday July 23, 2017 @09:44AM (#14832223)
There's actually a lot of truth in what he said. You need both types - the mix depends on where the company is in it's life. Early on, you need more of the "rockstar" types because shipping is life. Later you need a blend with more of the latter type, because existing customers will only put up with bugs for so long, and expect to see new features they asked for.
Re:How do I know if I'm good at programming? by mercer on Sunday July 23, 2017 @02:21PM (#14833607)
I've been the latter type in the early stage of a startup, and even though I strongly believe in my more cautious approach to programming, in general, in hindsight I feel that I should've abandoned that caution or that they would've been better of with another programmer.

Thankfully I'm pretty sure the startup would've failed no matter what, so I don't feel too guilty about it. But it taught me a valuable lesson.

Re:How do I know if I'm good at programming? by StephenMelon on Sunday July 23, 2017 @11:49AM (#14832805)
Arrogant and condescending to whom? I said that both types were necessary to succeed exactly because I know the “over-thinking” types can be just as destructive to a software business as hackers who only think short term. My point is that you either identify and hire only unicorn-perfect developers, which you will probably never be able to find enough of, or you build a process that balances the strengths and weaknesses of your varied team members against each other, so that you get a workable happy medium between “move fast and break stuff” and “move slower than the market requires and don’t break stuff” in leiu of being able to hire one infallible genius after another.
Re:How do I know if I'm good at programming? by shubhamjain on Sunday July 23, 2017 @12:05PM (#14832901)
Sorry, it seems I didn't read your comment carefully. I raced past the part where you mentioned both are necessary. Now, it makes a lot of sense.
Re:How do I know if I'm good at programming? by fragmede on Sunday July 23, 2017 @12:30PM (#14833037)
Sounds like you've worked with quite a lot of wannabe rockstar programmers. Look, you're not wrong - there are certainly mediocre programmers out there who have decided that quantity is its own quality, and can bang out lots of buggy code really quickly. However, just like there are a lot of middling to good musicians out there, but only a few truly great ones, there's something that separates the good from the great, and the same goes for programmers.

Unfortunately for us mere mortals, programming is not quite a performance art (despite the existence of /r/watchpeoplecode), so there's not anything to point at globally as this is what a great programmer looks like.

Moreover, a company's culture is the culture - if they put up with assholes who can program a little bit, they'll also put up with assholes in be other positions for different reason.

Personally I'd choose somewhere else to work.

Re:How do I know if I'm good at programming? by daef on Sunday July 23, 2017 @01:33PM (#14833356)
whats wrong with you google...

  Showing results for /r/watchpeopledie.
  Search instead for /r/watchpeoplecode
Re:How do I know if I'm good at programming? by kpil on Sunday July 23, 2017 @02:27PM (#14833642)
I don't think it's Google that's the problem in this case...
Re:How do I know if I'm good at programming? by gregmac on Sunday July 23, 2017 @11:07AM (#14832576)
Full of bugs (non working) functionality that constantly causes customer issues is not considered "rockstar". It might appear that way up front, but the lasting reputation will be from the success (or not) of the final product, including whatever post-deadline work is done.
Re:How do I know if I'm good at programming? by matrixtransform on Monday July 24, 2017 @09:40AM (#14838334)
Perhaps he meant "rockstar" in the Ozzy Osbourne sense of the phrase? Flawed, temperamental but still capable of dazzling in the right context :)
Re:How do I know if I'm good at programming? by bbarn on Sunday July 23, 2017 @09:45AM (#14832226)
I don't buy this.

Lots of us are good at being excited, moving fast, when something grabs our focus. Some of us are just as excited at the quality of our "how" as we are the size and shape of the finished "what".

Re:How do I know if I'm good at programming? by computerex on Sunday July 23, 2017 @01:45PM (#14833415)
Let me guess, you are one of the "grown-ups" fixing the mess created by whizz kids?
Re:How do I know if I'm good at programming? by noir_lord on Monday July 24, 2017 @06:42AM (#14837300)
I'm type 2, I like fixing things though I just inherited a system that is so bad I'm struggling to figure out where to even start, might be the first time in my career where a rewrite might make sense.
Re:How do I know if I'm good at programming? by pc86 on Monday July 24, 2017 @10:35AM (#14838756)
Let me guess, you feel you're in the second category? You know it's possible to draw distinctions between different methodologies without disparaging the one you feel is different than you.
Re:How do I know if I'm good at programming? by whatever_dude on Sunday July 23, 2017 @12:45PM (#14833127)
I think that's just of the many axis of how a developer can be. It's not as black-and-white and it's certainly not the only axis.
Re:How do I know if I'm good at programming? by amelius on Sunday July 23, 2017 @12:34PM (#14833068)
> But their boss will love them because they deliver the shiny when required.

It seems the boss is really the problem then :)