After reading this and its complacent I've-learned-as-much-as-I-need-and-besides-I-have-kids attitude, I'd say he does a good job making a case against himself being a very good programmer. His mechanical analogy (socket wrenches) for "computer code" (sic) is particularly revealing.
Ironically, none of this has intrinsically to do with his not liking to program on Saturdays, yet ends up reinforcing the notion that, for whatever reason, there is a correlation.
I know at least five guys who have small children and hack in their spare time. Yes, it's a struggle, but they all do it. I also know quite a few with small children who never do that. They never did before they had kids, either, but the kids furnish a nice excuse. Kids are handy that way. (Edit: notice how the author plays this card, even though he already said he almost never programmed outside of work or class.) Anyway, my point is that the first group are really good programmers and the second are, by and large, not. Anecodotal though this may be, I buy the idea of a correlation.
P.S. Another trait that good programmers tend to have is not seeing themselves as good enough and not getting defensive about proving how good they are. Exercise to the reader.
I have written web apps and low level networking code and plenty of stuff in between, aka a web server. I have worked with computers that have less than 1kb of RAM and distributed networks. I have written code 100x faster than a coworker who was still better than average (30 min vs 7 days). I remember spending a few days coding something so so our customers did not have to the post office website to find zip+4 addresses and realizing using them as a backup was almost pointless because I had a better solution. I love solving hard problems, and most of the time I don't code at home.
PS: Ok, I did just start working on an iPhone app, but that's mostly because I stopped coding at work. There is a life outside a compiler and going snowboarding, watching amine, reading, or any number of other things are just more fun.
Don't be insulted; it's just an argument on the internet. Besides, the correlation people like me are claiming is at most a statistical pattern with lots of room for variation. (You sound like a good programmer regardless. But what I find endearing in your comment is how you go and spoil your argument by hacking on an iPhone app in your spare time - and feel obliged by intellectual honesty to fess up to it!)
Of course, you might also mean that the debate is insulting because it's pointless. I can understand why it would seem that way. What does it matter whether someone programs outside of their job or not? It doesn't, intrinsically.
Here's why I think the subject is interesting anyway: there's no cheap way to tell who the really good programmers are. This is not just a hard problem, it's a hard problem that seems like it ought to be an easy one. Why can't you just devise a test? People have tried to figure this out every which way, spending many millions, maybe billions in the process. And no one has a good answer. That's genuinely surprising.
Given that situation, any criterion one can use as a (cheap) proxy for "good programmer" is of interest, even if it's imperfect.
What makes the "hacks in spare time" correlation with "good programmer" interesting is not that it captures all of the good programmers. There are certainly good ones who don't do that; i.e. the test does produce false negatives. What makes it valuable anyway is that it excludes the overwhelming majority of bad programmers, the ones for whom it's a job that they aren't very good at and aren't motivated to get good at, who form 90% if not 99% of the professional population. In short, the test is interesting because it excludes many more false positives than it admits false negatives.
A corollary is that all the people who protest "I don't code in my spare time, yet I am a good programmer" aren't really adding much data to the discussion. The ones we need to hear about are the bad programmers who do. :)
Even if all good programmers were programming at home the knowledge that a programmer is coding at home wouldn't give us much.
G - good programmer
C - coding at home
P(G|C)*P(C) = P(C|G)*P(G)
P(G) = 1% # percent of good programmers among all
P(C) = 20% # percent of programmers that code at home
P(C|G) = 100% # assume that all good programmers code at home
Probability that a programmer is a good one given that it codes at home:
I think 20% is on the low side. But, you really need to define your terms. I would call 1/3 of all programmers useful, in that they can create more value then they cost. However, when you have a tiny budget and need to find useful programmers willing to work long hours for low pay then you really want young smart programmers with a lot of experience. And they only way to have a lot of experience at a young age is to do a lot of side projects.
There are plenty of programmer that will blow your mind making 150+k/year, finding programmers that will blow you mind and are willing to take far less and a slice of equity is far harder.
PS: There are talented older people that are also under payed, but that's normally because they are happy where they are. Finding them and getting them to work for you is hard and expensive.
Good points. It's worth remembering that when it comes to this stuff, we're all anecdotalizing in the dark. I say that because it sounds like we've had quite different experiences. (20% of programmers work on side projects sounds low to you, very high to me.) Frankly, I'm not even sure it's possible to properly define these terms, let alone measure them.
I just wanted to point out the interesting juxtaposition of
"P.S. Another trait that good programmers tend to have is not seeing themselves as good enough and not getting defensive about proving how good they are. Exercise to the reader."
followed immediately by:
"I find this debate insulting."
This seems to always happen with hiring debates - last time, it was the "Would you hire someone without a college degree?" question on Reddit about 8 months ago. Interestingly, all the degree-less folks I would hire kept their mouth shut in that debate. They know that they're good enough to hire with or without a degree, so they don't need to prove anything to anybody. It's the folks who aren't quite sure that need to rant on and on.
It doesn't matter if everyone likes you, so long as someone likes you. Applies as much to jobs as it does to friends, girls, or customers.
FWIW, I do code at home. And I find this debate rather baffling. I code because I want to, not because I care whether someone will hire me for it. If it gets me a job, so much the better, but if it doesn't, I can always start a company, compete with them, and kick their asses. It doesn't have to be mutually exclusive to having a life, either. I read, too, and play violin, and occasionally go hiking or see a movie with friends, or play Starcraft or board games after work, or any of a number of other activities.
> After reading this and its complacent I've-learned-as-much-as-I-need-and-besides-I-have-kids attitude
If you think he's claiming that he's learned all he needs, I don't think that you really did read TFA.
> I know at least five guys who have small children and hack in their spare time. Yes, it's a struggle, but they all do it. I also know quite a few with small children who never do that. They never did before they had kids, either, but the kids furnish a nice excuse. Kids are handy that way.
Yeah, well, work sure does furnish a nice excuse for not being present in your kids' lives too. You can play this from both angles.
Obviously I read the article. Does "its complacent I-learn-as-much-as-I-need-by-osmosis-just-by-working-at-a-startup-and-reading-reddit-and-besides-I-have-kids attitude" work better for you?
Actually, I was careful not to say that he isn't a skilled programmer. I have no way of knowing whether he is or isn't. What I said is that his piece does a good job of making a case against his own argument.
Oh come on. "Any of Ted's past stuff"? I've read a lot more than any, and all I remember are a lot of sarcastic rants alleging stupidity on the part of others. I played along for a while, thinking that the author had a minor gift for satire, until it became clear that he was writing the same thing over and over again and never going deeper. But there's a more substantial point here. You can't tell from blog posts whether someone is a skilled programmer. You can only tell that by working with them or with their code. I haven't done either, so what I said was true.
The gap between blogging about programming and actually being skilled at it is no different than the general gap between talking about any X and doing X (which is one of the most noticeable properties of the human race).
I'm not sure Pressflip is very good evidence for him being a skilled programmer. I've seen some of his Google code and it's pretty decent though. I just wish he didn't have the habit of throwing shit at other people.
Judging by your post, I'm going to go out on a limb and say that you don't have children....Your anecdotal observations about parents did little to advance your point.
Either way, I think the entire debate belongs in the 'bike shed' category.
Just as another data point, I too have a small child (toddler in this case) who gets just about every minute of my time outside of work. The three hours every night after she goes to bed is spent either with my wife or coding.
With that said, not one of his comments contradicts any of my personal experience working with other parents.
(You know a thread is getting too big when you have to click "parent" to figure out if someone is talking to you...)
I'm going to go out on a limb and say that you don't have children
Heh. Wrong.
I'm afraid your inferencing could use a little sharpening. If you're correct about this (and you may well be)...
Your anecdotal observations about parents did little to advance your point
... then there's probably some extraneous reason why I'm so hung up on the matter of parenting, programming, and spare time. I wonder what that could be? (And how is it that I know so many programmers with small children...)
"I love it when twenty-something engineers take such a hard-line position on something they have so little experience with, like hiring."
Uhm, the author graduated from college 3 years ago. It took me about 2 minutes of searching to find out that the "twenty-something" he's referring to (raganwald) is about 20 years older than him.
Yes, especially since I agree with much of what Ted is saying.
p.s. Not that anyone needs further evidence I am imperfect, but if we must have a bash at it, here are two flaws with my original article that I think have merit:
1. I presented a dichotomy between two strategies, first hiring people who know me or whom I know through networking, the Internet, and so on. Second, using monster.com and recruiters. Isn't this a false dichotomy?
2. Although the linkbait headline of my post said something about people who code outside of work, the post itself actually said something about networks and communities. Clearly someone can belong to the HN community without coding oustide of work. According to my headline, I wouldn't hire them. According to my post, I would. Which is it, Mr. Braithwaite?
Note that I didn't actually agree with all points (well, rather the point implied by the title) of your original article, I just thought that the irony was thick of someone who appears to be about 24 leading their argument with a dig about the other side being a bunch of inexperienced 20-somethings.
Yeah, I can see that... but I also understand it. I've told people older than me to grow up before. Sometimes people are older/younger than their age suggests.
And, in Ted's defense, back when he started writing he was in the right a lot. I remember his huge article about Meebo, the one that made Uncov famous, because it was all about bashing people for attention. He made point after point about Meebo's failure as a service and he was dead right about all of them. A lot of his earlier posts—the ones about Mahalo and Scoble and Pownce in particular—were smart, critical, and not entirely derogatory either.
I thought it was going to be a cool story about how he showed the girl how to turn down her speakers or turn AOL sound effects off, and then they hooked up. Boy was I off the mark.
I think that, regardless of whether the hypothetical correlation applies to Ted, it could survive weakening to eliminate his complaint and still be useful: "Good coders have coded outside of work at some point, or used coding to solve non-work-or-school-related problems." it doesn't mean you're still doing it now when you have -5 hours to spare a day, but it means you would be if it wasn't a matter of prioitizing. Bad coders don't assign "coding as a hobby" a priority value--they simply never consider doing it at all.
I don't think we should treat this as a discussion of good coders and bad coders. "I wouldn't hire someone who ____" is a hiring filter. And ANY worthwhile hiring filter will be over-aggressive. So it's more a distinction between groups that contain close to 100% good coders vs groups that contain a much lower percentage.
The point of a hiring filter is to weed out bad coders, and hirers should realize that any filter you set that will weed out most/all bad coders will also weed out a LOT of good ones. So if someone says, "I wouldn't hire someone who ______", they're NOT necessarily saying, "All people who _____ are bad programmers".
Instead, the smart hirer is actually saying, "People who _____ are Group A and everyone else is Group B. Group B contains many great hires, but it's really difficult to distinguish good hires from bad ones, and Group A has almost no bad hires. Therefore I'm only hiring from Group A."
Agreed. There's definitely more important things in life. As long as one can demonstrate that software is a passion for him/her, there's no issue, even if that person hasn't been able to find the time to scrape much code together for their own pet projects over the last six months or the last year or whatever.
This concept of only hiring hobbyist programmers exists because we've all worked with the complacent "career programmer" -- people who don't really care and went into the field because someone told them it was a good living and they needed a major. These people are usually bad programmers. Coding as a hobby demonstrates that you're not one of these people, but arbitrary standards like "Wrote at least six muffin-fulls of code last week", like most arbitrary standards, are much too restrictive and unforgiving.
> You know what's more awesome than spending my Saturday afternoon learning Haskell by hacking away at a few Project Euler problems? Fuck, ANYTHING.
I feel extremely lucky to not only have known what I wanted to do from a young age, but enjoy it, and can make good money doing it.
I like to ride my bike, hike, climb mountains, go to the beach, and walk my dog as well as solve problems, math or otherwise. I really hope for Ted's sake that he enjoys development at least a little bit. No one wants to work with people that aren't happy.
I worked with Ted at Google. Trust me, even though his articles have a certain sarcastic tone to them, he was definitely enjoyable to work with and clearly did like solving hard problems in development.
His point in this post is that you can do a great job at work but then enjoy your life outside of work.
His point in this post is that you can do a great job at work but then enjoy your life outside of work.
Is doing a little coding outside of work mutually exclusive to enjoying your life? I feel like the article draws a false dichotomy that either you have a life and don't code at all outside of work or you spend all of your non-work time coding.
That's my biggest gripe here, too. Why are people so black-and-white about this? I work 40-60 hours/week depending on what's going on. Sometimes while working 40 hour weeks I don't write any code at home preferring to do one of the many other thing I enjoy. Other times I'm practically buried in work and come home and poke around on a side project. This just varies depending on my mood and what (if any) interesting stuff has my attention. If you enjoy something, you'll find time. If you don't enjoy it, why is it your career again?
If you ask me the whole point of this discussion shouldn't be 'coding at home' but instead 'giving a crap'. Even just a little passion for your field will get you a long way in any profession - and I think that is especially true in creative fields like programming.
Here I am on a Saturday afternoon putting some thinking time into my field... have I devoted the day to it? Hardly!
You're right on that there's absolutely nothing mutually exclusive about enjoying coding (and lots of other completely unrelated stuff) as a hobby and as a career.
The point to be taken, whether the article states it or not, is that you can choose to code outside work, or you can choose to not code outside work, and neither choice is mutually exclusive to enjoying your life or being good at your work.
How much your work life and your after work life resemble each other is entirely up to you. People who judge you based on that (in either direction) are to be avoided.
I suspect he does enjoy development. Just doesn't want to do it all day, every day.
He writes in terms of 'enjoying solving hard problems'. If we can assume that's his motivation then 1) as long as his work includes hard problems he'll probably enjoy it and 2) being only allowed to work on the hard problems contained in the field of computing would be counter-productive.
For all this person claims to be wise and experienced, this is a very contentless and juvenile blog post. The tone is condescending and reeks of insecurity.
I agree absolutely with him and I disagree with raganwald. Why is this?
Because there are only so many rockstars you can have in one joint. There are only so many people who live and breath code you can have in one room before trouble starts brewing.
Every team needs a crop of solid, dependable and slow developers that do the boring tasks. The guy who does not mind going over all the functions and commenting them. The guy who is satisfied to port a C script to Mac OS X, even though it is mindless bug testing.
And those type of guys don't code at home. If you will never hire such people, then who will do the boring tasks? Your highly intelligent and highly paid coders? You recruit them to put them for 3 months working on some inane and boring database program?
Intellectual diversity is a neccessity in any shop that makes its living from brainwork.
No they are not! My colleague is Mr "Can't Do". Where the rest of us see opportunity and "cool" he sees problems. He has put his job on the line for us many times over telling the CEO to curb his dreams and enthusiasm and ship something that works first. Incidentally, he has been .NET/PHP corporate programming guy and never ventured outside reporting and billing software.
Today he is our rockstar. Every time the rest of us are getting ahead of ourselves we turn to him for feedback and if he is even marginally un-pissed-off by our ideas, we know we're doing the right thing.
If it wasn't for him, nothing would have shipped and none of us would still be on the project, since 3 of us are dyed-in-the-wool technophiles (hello? 2 Lispers and a game developer?)
I have a friend who is a very good developer, he happens to be reliable, dependable, and can get things done. He comes in and leaves at the same time each day (dependable).
Myself, I developed the intial product and the next generation product, but I would work all night, weekends, sometimes several days straight. I wasn't coming in and leaving at the same time of the day. In the end dependable was better then myself, he is buying two houses, going on nice vacations, while I was left out in the cold when things were temporarily difficult. I would prefer to be in a different situation. If I was just dependable it would be better then imaginative. I would prefer to crank things out rather then go so hot and cold.
Exactly! I used to work with geniuses, and when I started working with someone slow and steady I was amazed out how much more effective things became. Previously, we were like birds - someone would mention something new and everyone would run off chasing this new idea, before something else cool comes along and we all scatter and regroup.
With dependable people, things just get done. One feels a bit ashamed to bring risky but cool things to the table.
I can't believe people are agreeing with you. I'm not even sure you've ever written software professionally. C script? C is compiled. Nobody says "C script". One developer commenting other developers code? That's ridiculous. You're either a highly effective troll or totally clueless.
One developer commenting other developers code? That's ridiculous.
It's not. When you write something, it's often not at all obvious what to write as a comment, precisely because the purpose and detailed reasoning is obvious. When someone else comes along and doesn't immediately understand the code, they're in a much better position to comment it.
I maintain a C++ app. Making the GUI, implementing the button callbacks, and writing the settings save/restore logic is all easy and boring compared to the signal and image processing core. But I can't possibly automate this, and I would be very happy to let a decent but less passionate or experienced, day-job coder do the GUI code while I take care of the more challenging parts. Even if I had to take more time teaching him than I would be doing it myself, I'd do it! More enjoyable and useful in the long-term.
I'm not sure I'd consider GUI design as easy and boring, just requiring a different set of skills to most programming work. Designing a good UI can be extremely difficult.
I also don't understand why you can't automate things like saving and restoring settings. It seems to me that there are plenty of things interesting things you can do in a UI framework.
> I also don't understand why you can't automate things like saving and restoring settings.
Because of C++ :)
More seriously, it's the actual design of the options screen. Different variables are hooked to different controls, and I have to make sure that eg. when a frequency (in Hz) is loaded from the registry, it is converted to GHz and the control is set to the appropriate value. Little things like this. I use Qt which is very good and abstracts the actual registry/config file access, but it cannot guess things for me.
GUI design isn't always easy and boring, but I work on physics data acquisition apps that have 2 or 3 users in total, so literally nobody cares about the UI as long as the experiment data is fine. It could take 10 minutes to figure out the controls and the user would still be happy. Physicists are used to making and using GUIs that would make you weep!
In my case the GUI is a very easy to solve problem compared to the rest of the code. Of course things would be different if I made an app with millions of users, a web app, etc.
How do you automate the writing of a script that copies data across 5 servers? Or an Excel macro for some business thing? Or porting an app to another platform
You need developers for many things that cannot be automated.
The answer is often by answering a higher level problem.
For instance, writing a script that copies data across 5 servers with no major issues in the way is boring, but writing a script that synchronizing data across an arbitrary number of servers can be hard, interesting, and more valuable. When it is done, just hand it to the admin to apply to those particular 5 servers.
Simple macros are often done by business power users instead of developers, but if it is something complicated then it is complicated and interesting.
As for porting an app, there is some work on automating that depending on what the source and destination platforms are. The proper choice of language can minimize the work in the first place, and then you can build (or buy) tools to help automate at least large portions of the automation.
Also, keep in mind there is a difference between knowingly hiring "bad programmers" and hiring "junior programmers." Bad programmers as the term seems to be used in this thread have no intention of improving, are good enough to get the job done eventually, but make no outside efforts. "Junior programmers" are often willing to do the boring stuff when they get started, but then they get better. You may have to deal with the fact they will want either promotion or to change companies in the near future, but in the meantime you get to benefit from the fact that they are constantly improving and using their own resources to do that.
I always laugh at people who talk about the job security in writing bad code. The most secure job is for the one person that knows what he/she is doing, because they will find another one easily.
Your assumptions are wrong. Egotism makes a programmer weaker, not stronger. Those who consider themselves rockstars are, in my observation, never the best. And they're a pain to work with because they get defensive about ideas.
The great programmers I've known have also been the most fun to work with. It's a team sport.
I agree that everywhere I've worked, there's been a residue of boring yet necessary stuff like your describing. Sometimes the residue could be reduced by automation; not always.
However I'm very concerned about the potential of these 'slow' developers injecting bad code into the codebase. By bad, I mean redundant. The 'slow' developer will create code that later gets maintained by the 'quick' developer - who is soon disgrunted and slow. Unless he just rewrites it from scratch.
If you really have a steady stream of 'stuff' to feed the 'slow' developer, great. Otherwise he will work through his queue and end up smearing cruft around.
I don't know the answer, but I'd rather have a very bright, very inexperienced developer for that role than a 'slow' one.
The rockstar thing is a strawman wrt to me. I never said I wanted to hire rockstars. What I said was, I only interview people I know or who know me through my physical and virtual networks, and doing so has by and large given me a decent number of hires.
p.s. And that is an entirely debatable strategy regardless of whether such people are or are not rockstars :-)
"So, I rigged up a Python script to play AOL instant messenger sounds randomly every 5 to 10 seconds, turned up my speakers, pointed them at the wall, and went on vacation for a week."
ARE YOU F'ING KIDDING ME? You write a blog post on hiring and then proceed to relate a story about how you escalated a personal conflict way beyond reason? This is precisely the kind of guy you don't want on your team, because working in the real world involves resolving personal conflict without needlessly pissing people off.
Ted is like Ali G / Borat / Bruno. It's a lot more fun to sit back and enjoy the show than it is to scold him for being an ass. Esp when he's so obviously going out of his way to be an ass. And like Ali G's antics, the AOL script was really funny. I hope he open sources it.
"Instead, I spend my free time saying nasty things about people who do - it's easier and more fun!"
Although, to be fair, in this case I agree that it's not an appropriate question for an interview, although I would be unhappy if I didn't have at least a side project or two to hack on, though. I have less time for that now, with a child, but it's something I need to do.
Oh, and I'd much rather spend my time riding my bicycle than fiddling with it. My mechanic is way better and faster than I am in any case.
Although, to be fair, in this case I agree that it's not an appropriate question for an interview,
Why?
As an interviewer, I think it tells me a great deal. It certainly should not be the focus of the interview, but I want to know things like:
1. Will this candidate mesh well with the existing team?
2. Is this candidate going to take the initiative to learn useful things on their own?
"I like to spend free time wrenching on a car or a bike, but I don't set out on Saturday morning and say "I'm going to learn how to use a torque wrench today, because those things are the future of tools"."
Really? I'm getting kind of tired of the tool analogies. They are thrown around as answers in place of actual thinking and reasoned arguments. The comparison between learning how to use a torque wrench and learning a language is absurd.
Learning a significantly different language can be mind-expanding. Going from C to Lisp is not just picking up a different tool. More like a brain transplant.
Going from Java to C# is more ho-hum. There will be no epiphanies. More like "Oh, Microsoft solved problem X. That's nice."
That really is like replacing a Husky brand wrench with a Craftsman brand wrench.
I would hire someone who didn't code in their spare time, but I definitely wouldn't hire Teddy boy. Who would want that kind of publicity-addicted blowhard polluting their team?
On a somewhat related point, I think the best advantage of hiring people who code in their free time is that none of them will try to take your job as long as they can use their favourite editor. Think of that as the early Steve Job strategy ;)
This can also backfire. I have a friend who hired a very well known developer to work on their startup in large part for PR reasons. The product had already been developed and was doing well, but he wanted to expand his team and gain more mindshare in the developer community.
Long story short, when things went south, this "A-list blogger" took all the credit for the companies success, and made a big stink about it, airing his dirty laundry in public, which was all anyone ever heard about it because he had a legion of screaming fanboys to spread the dirt even though not one of them had the slightest clue what really happened.
The problem I've noticed with hiring people based on whether or not they code on their free time is that whether they do so is often dependent on how much their work/coursework sucks. If it sucks pretty badly (which it usually does), then the folks who enjoy programming will tend to do as little work as they possibly can, and save their energy for their side projects.
One interesting thing you can infer from this is, if you're running a shitty shop, you actually want bad programmers, not good ones. Bad programmers with a high degree of discipline. I don't mean for this to get sucked into that other discussion about immigration and employment, but I've long thought that this is why the big employers like IBM like to hire foreign talent (it's not for the same reason why we want to keep foreign talent here).
I am not sure I agree. The main reason is that when all you do is work, you are only exposed to one codebase, written by one small group of (perhaps inexperienced) people. You are never going to get any new ideas from that; you are going to spend your 8-hour day reinventing the wheel and doing things wrong. You will just continue the same monoculture forever. This may "meet the business needs" (the favorite excuse of the non-programmer], but it's not going to be good code.
(You could be taking an interest in outside programming "stuff" at work, perhaps, but between meetings, lunch, and getting your actual work done, how much time do you have to learn new programming languages and peruse open-source projects? Probably not enough. This stuff is time-consuming!)
So anyway, you can probably be a good programmer by not being interested in programming outside of work... but you probably won't be a great one. How many great authors claim they don't read books outside of their 9-5 workday? How many great artists would rather spend time with their kids than painting?
Cormac McCarthy famously said he didn't read Proust or Pound, because to him that wasn't literature, and it wasn't what he wanted to write. There are lots of artists who famously didn't do much work, because they preferred only to work when they were inspired.
The moral is that it's possible both to be good and hardworking and good and not quite so obsessed.
Neither of these are "show up in an office at 9am, work for 8 hours, go home at 5, not think about anything work-related for 16 hours, repeat", however.
So anyway, you can probably be a good programmer by not being interested in programming outside of work... but you probably won't be a great one. How many great authors claim they don't read books outside of their 9-5 workday?
For me, this sums it up. It seems really uncontroversial ... I don't see why some folks get so defensive about such a simple idea.
Ted's an asshole, and most of the time I'm pissed off by his writing. When Uncov came "back" early last year it was terrible. That said, this article I agreed with entirely, all respect to raganwald, and it pisses me off that people would stoop to namecalling rather than discussing it. I think this is the rare Dziuba piece worth a good debate.
Above all, I can't stand insulting somebody by insulting the work they've done. Ted is obviously smart, he put a lot of work into Pressflip before retiring to have a kid, and Pressflip, while not brilliant, wasn't terrible when I used it. I just didn't see the point to it. Now he's off working on new things, so he's not exactly lazy or coasting.
Any insults that Ted Dziuba receives are well-deserved.
He's written dozens of trollish articles on how useless other startups are or how he hopes they'll fail. It seems fair to me that people are insulting his failure to produce a successful startup when he's spent so long being a hypocrite. You can't expect to be the Glenn Beck of startups and not be on the receiving end of the trolling.
Here are some of his headlines from Uncov, incase you've forgotten his work:
"Fanboy Driven Development with Arc"
"Paul Graham, Just Shut Your Face Already"
"RockYou Dominates The Fake Business World"
"Surprise, Mahalo Still Blows"
"Mahalo Is Hawaiian for Useless"
"Guy Kawasaki Should Stick To Contentless Blog Posts"
"Web 2.0: So easy a 14 year old can do it"
"Middio: Another Marginally Useful Feature As A Product"
"WriteWith: Everybody Point and Laugh"
"YouOS: YouHave To Be Kidding Me"
"Wellsphere's Fail Tale, Part 2"
"Firefox Fanboys: The Only People More Dangerous and Less Competent Than ..."
"Did Enron Cause Web 2.0?"
"Web 2.0 Amateur Hour: Sputtr"
"VoSnap: An Overnight Delivery Of Fail"
I actually liked all of those articles, except the Paul Graham one, which was part of later Uncov. Back in the day, Ted had the knack for saying exactly what needed to be said about a lot of ego-laden fellows. He's more a critic than he is a builder; I'm one of those weird fellows that thinks a critic is a valuable part of any ecology.
I'm fine with negativity as long as you're saying something useful. The OP just snarked without any meaningful criticism; I attempted to criticize him and got downvoted to the depths of Hades, which I guess is how it goes sometime. For all his numerous failings, I still like Dziuba more than I dislike him, especially when he insults somebody along with a well-delivered counterpoint rather than just insulting.
> Above all, I can't stand insulting somebody by insulting the work they've done.
1 comment previous:
> But I don't blame you for needing to snark at other people after seeing adamhowell.org.
"Above all" is kind of a relative term for you, huh?
I worked at Google, too, so I wouldn't go around your whole life using that distinction as your measuring stick for smart people. "Any club that would have me for a member" and all that.
You see, the fact that I took your exact line and modified it to mention your web site instead of his web site ought to have ticked you off that perhaps I was trying to point out how immature your post was.
I worked at Google, too, so I wouldn't go around your whole life using that distinction as your measuring stick for smart people. "Any club that would have me for a member" and all that.
I know. It says so on your web site. It also says you founded JotSpot, an unoriginal wiki concept, and that Google bought you to make Google Sites, which is one of Google's failed services.
I'm sure that you're bright and motivated and very very capable. My point isn't that you're any sort of failure. My point is that neither is Ted.
I liked the article, so no worries if you do as well. And as others have pointed out, I'm (a) old, (b) have two kids of my own., and most importantly (c) just spent my Saturday morning racing a bicycle rather than learning Haskell or solving a Project Euler problem. I suspect I'd like Ted if we ever met ff.
I wouldn't hire somebody who publishes a picture named "obama-winning-the-nobel-proves-that-white-guilt-is-one-of-the-most-awesome-powers-on-earth.jpg" on his blog (although I'm open to interpretations of that filename).
Is it because he thinks that Obama didn't deserve the peace prize, or because he thinks that white racial guilt is a factor in the President's incredible popularity?
I guess this is another example of why keeping your political opinions to yourself if you disagree with the majority is good for your career.
Actually, the commitee is five Norwegians, age 58-68, all members or former members of the Storting (Norwegian parliament). One man, the chairman, four women.
IMHO this isn't about politics. Political issues include: strategies in foreign policy, the introduction of new taxes, the reform of the health system etc. I wouldn't care if somebody posted commentaries pro/contra this or that position. A political statement doesn't refer to the opponents race, gender etc. though.
I would def hire someone like that. He'd be the comedy relief for the rest of the team as we make our way through various crazy adventurous situations :D
That's uncomfortably in the realm of PR bullshit for me. Give the answer, and don't spin it. The sorts of jobs you can only get through spin are jobs you don't want to have.
It depends on what X and Y are. If they are something closely related to programming then it can be directly positive (as a personal example, I spend what I call free time working on a masters in math).
If it is something that makes you sound well rounded, then that can play well, at least to certain types of interviewers (one interviewee talking about writing fiction on the side, not directly related but it showed well rounded intellectual interests.)
On the other hand, if your answer involves watching tv, playing video games, or reading popular fiction, then it will probably not help (though reading may be a notch up from the other two) for most positions.
I have a family. I understand where he's coming from, but only to the extent that I have to balance family time with passionate hobby time, but...
I would not hire a writer that does not write in his free time.
I would not hire a lead singer that does not sing in his free time.
I would not hire a chef that does not cook in his free time.
I would not hire a prostitute that does not have sex in her 'free time'.
OK, that last one is a stretch perhaps, but my point is simple: if someone loves what they do, the act of doing it is not a chore and never "something they do for money" but "a state of mind". You can never learn all there is to know "on the job". Perhaps MANAGERS do not have to manage in their spare time, but anyone producing tangible stuff better love it.
He sounds like he's trying to tell himself he can still be a good programmer without putting in the time. I'd like to tell myself the same thing, but sadly, those days are really gone (it's a slippery slope, it started with a kiss, a gf, a relationship, living together, marriage, children... pooof!)
I tend not to code in my free time, because whenever I feel like coding, I apply that effort to a project designed to make me money, so that time becomes work time.
The debate is not really about whether you program in your spare time. It's a debate about whether you love programming.
1. People who love doing something are on average going to be much better at it than people who don't.
2. People who love something find a way to do it, meaning that programming in your spare time is a very strong indicator of whether you love programming.
3. Therefore, whether you program in your spare time is a very strong indicator of your programming skill.
Whether you program in your spare time is a proxy for whether you love programming, which is a proxy for your programming skill.
If this author has only coded for pleasure one time in his entire life, including college (!), then the probabilities say he's overwhelmingly likely to not be a very good programmer. Maybe he's the exception, I know nothing about him other than what's in my comment.
If you code in your spare time, it could simply mean that what you do for work isn't challenging or satisfying enough. If you're a good programmer you need to make something beautiful, you need to leave your fingerprint somewhere. If you can do it at work, good; if you can't, you can't not do in the evenings...
It can be a drag though. Few people can do actual coding more than 5-6 hours a day when they're in the good shape. Trying to do a good job and still satisfy your own itches the same day may not be possible, either.
Two excellent points! Add to that: I code at work the same type of things I'd make at home else. That free up some time, and wow, you get paid for that :)
Not only are you an asshole (that would be excusable), you are an asshole that consistently writes articles full of sound and fury, but completely vapid. As a writer, you are incompetent, albeit rabble-rousing.
To top it off, from what I gleaned from your articles, you know very little about programming. You consistently seem to misinterpret ideas, either deliberately in order to mock them on unsound grounds, or simply through ignorance.
I work in IT, and the way I see it, there is a certain amount of time that I want to work on computers. When I'm working work on computers 40 or more hours a week for work, I'm unlikely to want to spend any of my free time working on computers. When I've got a lower work load, I tend to spend more time on personal projects related to computers.
If I were actually a programmer, I would probably fall into the same pattern.
Well the obedient type is normally what a company would want to hire to work under it. The crazy people who code in their spare time are more startup-founder type anyways. And these types have a tendency to fail the hiring process more often.
I've met lots of really smart programmers that don't even seem to talk about coding during lunch, much less program during free time.
I'd certainly code more at home if I didn't have a family and lots of other interests besides programming.
If Ted doesn't code at home, doest he blog about code at home? Or at least blog about not coding at home? Doesn't that mean he's thinking about it, which is effectively the same thing?
Ironically, none of this has intrinsically to do with his not liking to program on Saturdays, yet ends up reinforcing the notion that, for whatever reason, there is a correlation.
I know at least five guys who have small children and hack in their spare time. Yes, it's a struggle, but they all do it. I also know quite a few with small children who never do that. They never did before they had kids, either, but the kids furnish a nice excuse. Kids are handy that way. (Edit: notice how the author plays this card, even though he already said he almost never programmed outside of work or class.) Anyway, my point is that the first group are really good programmers and the second are, by and large, not. Anecodotal though this may be, I buy the idea of a correlation.
P.S. Another trait that good programmers tend to have is not seeing themselves as good enough and not getting defensive about proving how good they are. Exercise to the reader.