Hacker News new | past | comments | ask | show | jobs | submit login

when i'm working a 9-5 job, the last thing i want to do is go home and program more. i'd rather throw the ball around with the dog or rock out on my guitar.

in my experience the people who say "you have to have side projects to be a good developer" are either people who do program in their spare time, or people who want to hire the type of programmers who voluntarily chain themselves to their desk.

this is one myth i'd really like to see die. good accountants don't balance checkbooks in their spare time, do they? lawyers don't hold mock trials, doctors don't do surgery on their friends as side projects, and construction workers don't pour concrete for kicks on the weekend.




All those activities in other professions don't involve learning. Presumably, balancing a checkbook is a solved problem but an enthusiastic accountant may have brushed up on Sarbanes-Oxley legislation to learn how their craft would get impacted. Lawyers may not hold mock trials but they may read journals in their spare time which cover interesting precedent-setting cases. Doctors don't do surgery for fun but they may read up on newly discovered surgical techniques for reattaching severed nerves. And someone in construction might read up on new, energy-efficient construction techniques and materials... but odds are good they don't lay bricks at home.

So yeah, don't go home after work and write Hello World or re-implement bubble sort yet again. But do keep up with developments in your craft. If you don't have this opportunity at work, hopefully (for your own sake) you still do take the opportunity outside of work. Software changes so fast that most don't have time during work to keep up. If you let your knowledge get too out of date, your value diminishes rapidly. I think this speaks for a need for more work-sponsored learning opportunities, whether that's courses, conferences, or Google-style 20% time.

Personally, I wouldn't want to be operated on by a doctor whose knowledge of surgery stopped in 1960.


I find it much easier in the evenings to read about programming than to program. For me that is not the same, although it is very useful also, on a bit different level.


> when i'm working a 9-5 job, the last thing i want to do is go home and program more. i'd rather throw the ball around with the dog or rock out on my guitar.

Just my two cents: I don't see programming in my spare time as, well, just programming. I see it mostly just as a tool that helps me with my hobbies. I like to read history very much, especially about my city, then why not build a heat-map based on the constructions years of its buildings? (thanks, gheat! http://code.google.com/p/gheat/). And how to get said constructions years? By just writing a small Python script that parses some big real-estate agent website.

And you can do the same thing if you like sports, going to the theater or if you like Medieval history (I have a home-project for each one of these domains). And while you're at it, why not learning a new language/technology when trying to implement them?


I think it depends.

I can't speak for developers but almost all of the best designers or creatives I know experiment a lot outside of work. Myself, I do interactive side-projects all the time as I can execute sites that I would simply not be able to do in my full-time job.

Regarding medicine: My Dad is a doctor and spends a lot of time outside of work reading dense materials about certain diseases or findings, which is definitely not light reading nor recreational. I also have had friends who've volunteered their medical expertise to aid the homeless or less fortunate.


> construction workers don't pour concrete for kicks on the weekend

My father was a contractor (now a building inspector) and over the last 20 years he has rebuilt his house one room at a time.

He gets excited when a new dumpster is delivered so he can start tearing another room apart.


  > good accountants don't balance checkbooks in their spare
  > time, do they?
How much did balancing checkbooks changed compared to that of 20 years ago?

  > lawyers don't hold mock trials
IANAL, but I assume a big part of lawyers work is that would be considered "side project" in programming, namely going through different cases and looking for stuff that can be useful.

  > doctors don't do surgery on their friends as side projects
Doctors don't experiment easily on one hand, and on the other hand, if I am not mistaken there is some mandatory training once in a while to ensure that doctors are informed of the latest best practices in the field.

  > construction workers don't pour concrete for kicks on the weekend
Are we talking about code monkeys there?

The thing is: software development is still young and evolving field. Unless your employer sends you to the training courses, conferences, and has some kind of "20% for own project" rule the side projects is pretty much the only way to learn new things and experiment.


Not to nitpick, but lawyers are a special case. Lawyers don't do side projects because they can bill clients to do that research. Assuming they can find an excuse as to why it's relevant to the client.


> Lawyers don't do side projects because they can bill clients to do that research

This is actually true of software engineers as well. Sometimes you can convince management/clients. But you may have a hard job on your hands because people have come to believe that this sort of thing will be done on your own time.


The best lawyers, I would expect, read about law in their spare time, debate their friends on legal issues, and keep honing their skills. The best doctors, I would hope, keep up with medical literature, reading up on the latest advances and changes in their spare time. The best artists, I am fairly sure, will continue to sketch and paint in their spare time. The best carpenters, cabinetmakers, etc will continue to work wood even when they're not on the job.

No, it's not restricted to programmers, although continuing to focus on honing work does seem to be far more prevalent in the creative professions.


My dad - who owns a construction company - actually DOES pour concrete "for kicks" on the weekend. LOL.


Doctors and lawyers have continuing education requirements that have to be fulfilled to keep their licenses. This is in addition to day job.


In California, physicians are required to put in 50 hours of continuing education every two years (http://www.medbd.ca.gov/licensee/continuing_education_option...). Let's call that 25 hours/year. That's something you can accomplish by going to seminars.

By contrast, a software developer who codes recreationally for 5 hours a week, 50 weeks out of the year, is spending 250 hours per year coding outside of work. That's 10 times as much "continuing education" as the physician. If 10 hours per week, that's 20 times as much as the physician.

Of course, a good doctor probably reads medical journals in addition. But a good developer reads blogs, websites, SO, HN, etc. as well.

So does a software developer really need to spend 10-20x as much time as the physician in continuing education in order to be considered "good"? Why?

To look at this another way, a developer who wants to structure their life to match a good, passionate physician, would probably:

- Work 45-55 hours per week (and be on call for occasional emergencies) - In the evening/weekend, spend some time reading blogs, journals, books on programming languages and software development, etc. - Go to one week-long conference per year (e.g. WWDC)

And that's it. No github account. No contributing to open source.

Yet there are apparently a great many people on HN who would not consider the above developer to be good, who would not hire such a person, and would question their devotion to the profession.

But does a developer really need to spend 10x the time a physician does in continuing education in order to be considered good?


A physician is not generally creating new stuff, just using stuff that is created by someone else. Programmers create, and creation requires a much deeper understanding of a subject than just using.


I find your comment profoundly unappreciative of the skills needed for a good physician. I really hope you never get treated by an idiot with equivalent expertise to the one expressed here.

Doctors do not blindly apply "stuff that is created by someone else". For the most part, they use known techniques within the context of each individual patient and each individual ailment. The techniques are mere tools, used to diagnose and treat cases. Some cases are routine, but some others are really challenging.

Programmers, not surprisingly, use known techniques writing the context of each individual project and each individual requirement. The techniques are mere tools, used to design and implement projects. Some projects are boring, but some others are really challenging.

A minority of physicians or programmers develop a career in research, where they push the limits of their respective professions. But most people end up working on operative, day to day, jobs. And the skills are not transferable. Excellent researchers do not necessarily make excellent practitioners, and viceversa.


As mentioned, lawyers and doctors are required to stay up to date in their fields in order to continue practicing. In California, lawyers need 25 MCLE credits every 3 years (http://mcle.calbar.ca.gov/) and doctors need 50 CME hours every 2 years (http://www.medbd.ca.gov/licensee/continuing_education.html).


Programming isn't like any of those examples, though. Try making the same argument but use 'painters' and 'musicians'. Code is an art-form. I experiment in my spare time because I enjoy it.

I don't actually think not programming in your spare time will make you a 'bad' programmer, though. Only that being interested in it hobby-wise is a good sign. Practice helps you get good at anything, for one thing, and keeping up with the industry/etc is a big deal.


> good accountants don't balance checkbooks in their spare time, do they? lawyers don't hold mock trials.

I've worked for a law firm, they get round this problem by not giving their lawyers spare time if they can help it.


Let's say you and I started writing code at the same age or time, and you code only 9-5, whereas I code an average of 15 hours a week more than that in my spare time. Two years later, I've gotten as much experience (or at least put in as many hours) as would take you >3 years to gather. Five years after we started, I'm 3 years your senior in terms of experience.

It's not that you won't be a good developer if you don't work on side projects; it's that as compared to anyone your own age who codes in their spare time, you're going to have less experience. You'll probably be way better at the guitar, or taking care of your dog, or whatever else you're doing instead of coding, but they'll be a better programmer.


Actually, that's not true. Their is a limit to how much each day you can "practice." I believe the number is 4 hours. Putting in more time doesn't mean you are learning more. It simply means you are putting in more time.


Experience != skill. You can spend 10 hours a week doing project euler questions, or hacking together whatever CRUD app sounds cool. But that doesn't automatically increase your skill at all.

Sure, the more time you spend practicing, you will likely be better than had you not spent that time. But to compare it across people is meaningless. There are countless numbers of those who have spent decades in the grind and aren't much better than they were when they started. Compared to someone fresh out of college who can code circles around most.

Experience itself means little, if anything at all.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: