She isn't quitting her passion, she's quitting doing it for someone else, i.e. her job.
>"It’s not to say that I have no interest in software. Of course I do...What I mean is that I can’t do it for someone else the way I used to...I have some ideas of what I want to do software-wise, but I’m not ready to announce them yet."
She hasn't been self-employed in 38 years. Unless she is in some very unusual life situation, you don't try your hand at self-employment, after 38 years, unless you can afford to fuck up in grandiose style and still be financially secure.
You retire when you hang up your hat and start getting pension. You can keep you opinion, but I prefer the one without brave assumptions about a person I don't know.
It can be compared. Both require to mentally navigate certain set of constraints and rules and build up a mental model of the domain problem, after which you produce a concrete result. In programming it's software, in law practice it's mostly a written consultation or a decision.
The point I'm making, is that both are mental endeavours. Programming isn't constantly typing at a desk, hitting TAB, and letting the IDE do the rest, but actually solving the problem in your head.
If I quit a programming job, that doesn't mean I stop thinking on programming problems. Same goes for law.
The problem that the author is describing, is that she has reached the limits of her profession to such an extent, that even thinking on (most) programming problems isn't interesting to her anymore. Which is a sad thing.
"Practicing law" specifically means performing legal services, in the real law system, for a real client. It is a term of art, not a generic English use of the term. Practicing programming has a much fuzzier meaning, because it is the generic English term.
My point is your snark doesn't hold, because "practicing law" is fundamentally a different thing from "practicing" programming.
Just because my initial comment was a short sentence, doesn't mean it was snarky; like this one.
And although I agree with your definition within a professional legal context, that context is irrelevant to the discussion, since we are discussing a person's personal relationship to the discipline.
Many people certainly will – because they're already not doing it in their free time. In fact, in most professions you won't find many people who enjoy the same things in their free time as they do in their job.
As for me, I still have >35 years ahead of me, so we'll see.
I would hope when I retire I will have the money to immediately forget anything about programming and instead remember how to say "Where is Gate A?" in 20 different languages.
I have no idea how the middle section of this post is relevant to the rest of it. It just seems like the author needed to flesh out another rant or justify a choice no one questioned them on and decided to find any reason to diss the web. An error in the W3 validator is not really an 'error', especially considering the type of errors that are included in those 600 odd (Most of them are about missing spaces).
EDIT: Just seen the date on the article, likely the hundreds and hundreds of errors at the time are gone now, seeing as there's only like 50 showing now
I'm grateful for the opportunity to work from home, support my family comfortably, be in a field with lots of employment opportunities to fall back on, and be constantly learning new stuff.
Sorry it didn't work out for you, but it sounds like you found other interests to occupy you and (hopefully) support you, e.g. fantasy/scifi writing.
Unless I missed it, she didn't say for how many of those 38 years that programming sucked, though. Her examples of suckiness were all from just a few years ago.
Anyway, that's a potentially long time to be doing something you don't enjoy.
That's a difficult question. Essentially, some part of any job sucks. Even within a given field, some jobs and/or projects will suck more than others. Some tools and languages suck more for certain applications than for others.
I've always enjoyed—and still enjoy—the technical aspects of programming.
Since this just came in my email….
"Working at $FIRM offers you the opportunity to work in a fast-paced, challenging, startup environment with a team of passionate individuals who love bringing ideas to life. At $FIRM, no role is small and every person plays a part in the development of our game-changing technology."
fast-paced = you won't have time to think to solve the problems better
challenging = no one knows how to behave themselves, least of all the founders
startup environment = so forget reasonable workweeks and having any time on weekends
team of passionate individuals = they don't have lives, either
no role is small = you will be assigned roles that the last person quit over because it was so trivial
Yes, you and everyone else. That's why I don't do that much software anymore either. People are happy with a paycheck rather than to do good work and be proud over that. Then they sit on HN and criticize every other field they know even less about.
Hm, a rather cynical comment. It seems to me there are lots of highly enthusiastic participants on HN, and I'm blown away by how knowledgeable they are in many other fields as well--the sciences, culinary arts, music, sports....
It's quite a diverse crowd. It's safest to not generalize... ;)
This is nonsense. Anyone who knows anything about developing on the web should know that W3 Validation means nothing. It's not even something worth striving for. They are not analogous to actual programming errors.
I think many comments like this are missing the point. You don't get a "Haskell/C/Java/Lisp validator". You have a compiler, which will flag obvious crap as crap. The possibly crap stuff are flagged as warnings. And then you have a linter when you want your crap to smell slightly better. But the point is that obviously wrong stuff on the web should give you errors, not a vaguely working page, sometimes, in some browser version.
It is you who has missed the point. I mention in my comment specifically that W3 validation errors are not comparable to compiler errors or run time errors in programming.
As far as things working in one browser and not another, if you're working with standard features they tend to work across all modern browsers. If you are using features which are still only candidates, then yes they may not work but you've chosen to implement non-standard features so you've done this to yourself.
I love programming when it is for myself or something I am passionate about. However writing CRUD apps or other mundane LOB apps is pretty mind numbing after a while. I don't regret leaving programming as my job but I could never give it up fully. I love it too much. The best bit about doing it just for myself is I can use what I want, this makes all the difference to my enjoyment. If I had to write everything in Java I don't think I would enjoy it quite as much ;)
Programming is nothing but transforming data from one form into another.
Once you reach a level of competency where like the author of this article you can implement any kind of transform you like then 99% of programming becomes rather boring.
Sure there are still the 1% of interesting problems and algorithms that are fun to work on, but you can only implement so many basic CRUD API's, and boilerplate business logic classes, and cut and paste website designs before you tire of that stuff.
After 30+ years of coding I'm sure the author of this article has implemented pretty much everything she has ever wanted to. It's natural that she would find implementing the same things over and over again for other people to be unrewarding, and instead desire to pursue the new challenge of designing an interesting new product of her own.
Yep, you've got it. Once I realized I had the skill to accomplish a workable version of anything is when I started noticing that there weren't many problems I cared enough about to feel like they were worth my time.
There are things I'm interested in implementing still. I still enjoy working in Ruby, and my Python's gotten rusty, but I actually work mostly in PHP these days (because of WordPress). I keep promising myself to learn Swift, but I lack Swift-type problems to solve that I care about.
The other thing, as one gets older and has a lot more experience: how much of your remaining unknown quantity of time are you willing to spend doing programming vs. some of your other life goals?
> Instead, I need to pick projects that I care about and not spend long stretches of time on things I don’t.
I'm getting this feeling myself more and more lately. And I've only been doing this for a little over 5 years. Although, I wonder if I'll have this thought regardless of what field I am working in.
After similar lines of thought, my conclusion is that you have to embrace the process of writing code and not get too personally invested in the end product - it doesn't belong to you, and a company can and will sell it, scrap it, or let it decay slowly. Step back and be grateful for the opportunity to apply your skills to help someone else create something they felt they needed, and don't worry about what they do with it after the fact. I've found over and over that caring about a project too much leads to disappointment - the more bleeding edge the project, the more interesting it is, and the more likely it is to die. Embrace the idea that your job is to help someone with a short term goal. It can be fun, but don't let it be your life. Life is about people, not things, and certainly not the code you wrote last week. Help someone by using your skills and move on, it's very rewarding.
Thank you. That was a much needed pick-me-up. And yeah, you're absolutely correct, but it's sometimes easy to get lost under pressure (speaking for myself).
The brick does not love you. The company funding any project is a brick. No matter how much you love the project (or enjoy the people you're working with), it's temporary.
Detachment is the only way to stay sane long term, but then you're not viewed as "passionate."
That is so depressing. I'm not saying you're wrong, or wrong for saying it, but it's still depressing. For years I've taken pride in my ability to see beyond the code I'm working on, to how that code or other activities (e.g. teaching or even blogging) can contribute to business goals and/or make the computing world a better place. It's what we're supposed to do. We're told we'll be rewarded for it, and sometimes we are financially (thanks boss), but it still takes its mental and emotional toll. Others will undermine your efforts with a competing project or contrary message, or outright pull a project out from under you, often with the best of reasons or intentions, but it still leaves you feeling betrayed.
To end this on a more positive note, consider this: "we're not here to make friends" is EXACTLY WRONG. The friendships you make are the only thing that will last. The "legacy" of your code will become smaller and less valuable over time, even if it's really awesome code; more likely it'll just be tossed aside without a second thought by the next developer or exec with their own agenda to pursue. Your money will be spent. All of the companies I worked for twenty-plus years ago, their technical and financial assets gone as though they'd never been, but some of the friendships I made back then continue. Make code, make money, make friends, but only one of those will last.
My own view is evolving in this regard. There are some immensely compelling and critical problems facing humanity generally. Most offer little by way of "market opportunity", and much of what is marketable is ... at best irrelevant, and far too frequently, actively harmful. Finding how and where I can apply my skills to net benefit is an exceptionally challenging problem.
I got the "...back in my day, everything was all neat and tidy...now it's all gone to shit..." sort of feeling while reading this article. Websites have always been shit, and if you approach rendering/parsing/consuming web content programmatically and expect perfection...you're in for a frustrating experience.
Wow, I'd expect people here to be more empathic towards a person having a career in software engineering longer than most of the lifetimes of the HN crowd (assuming the article is truthful).
Instead one gets a bunch of dismissive, I-know-better-then-all-of-you BS. And they say bankers are arrogant.
It's easy to get down on the negative sides of programming... the rub is that there are negatives to every job. There are widespread problems in every industry that need fixed/improved.
In the end, we all have a choice of what we want to focus on and what to do about it.
Stay focused on the bright side, minimize the negative, and keep on keep'n on.
Wow, I thought I was critical, but there's some serious negativity going down here.
Maybe the article is a little scattered, but the tl;dr is Deirdre switched to programming for herself, and quit making crap other people want. For those reacting to the title without reading the article, she clarified that programming is awesome, but programming for money on other peoples terms sucks.
I don't know about you guys, maybe you're too young, but it resonates with me. Maybe I would have wasted fewer years programming for others earlier in my life if I'd known how bummed I'd get about it, or how excited I'd get about programming on my own terms.
I feel she was gloating more on what she did than why she quit, but I am in the same boat, I hate programming for others. I have a single client I work for that pays my bills and the rest of the time I build my own stuff. Sometimes the work for them is so mind numbingly boring and not interesting to me, that I could go a whole month only putting in 15 hours of work.
Were I gloating, I'd point out that I a) had code in space before I turned 18 (digital tape driver); b) had written (in Pascal) the code to control emissions for four power plants by the time I was 22.
Truth is, I feel like there aren't any more really interesting problems for me to solve. I've accomplished enough of each kind of thing that really engages me that I'm done.
I'd turned down an Apple job in the mid-80s and always regretted it, so once I spent 5+ years on the Safari team, I felt like that was the only checkbox left.
I totally get burning out or losing your passion etc. But I'm not sure how other people's web pages being of poor quality affects one's own work -- if anything, it motivates me to do a better job (and gives me a competitive advantage, or at least a reputation which attracts the right kinds of clients/customers).
Actually, I deleted my github account while I was a software engineer at Apple. Here, have a photo of my Steve Jobs engraved iPad I got while working on the Safari team:
Presence or absence of a github account isn't meaningful. Plenty of really great programmers have never had them, and there's plenty of crap code on github. (And the inverse is also true, of course.)
92 comments
[ 2.7 ms ] story [ 146 ms ] threadPeople like the OP make the rest of us miserable with their constant complaining.
Glad she wised up, but wow, took long enough.
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newswelcome.html
They're not quitting, they're retiring. What a silly article.
Did you read the article?
She isn't quitting her passion, she's quitting doing it for someone else, i.e. her job.
>"It’s not to say that I have no interest in software. Of course I do...What I mean is that I can’t do it for someone else the way I used to...I have some ideas of what I want to do software-wise, but I’m not ready to announce them yet."
So yes, she is retiring.
The proper analogy would be: "So, after a lawyer retires s/he immediately stops practicing law?"
Yes, s/he does.
The point I'm making, is that both are mental endeavours. Programming isn't constantly typing at a desk, hitting TAB, and letting the IDE do the rest, but actually solving the problem in your head.
If I quit a programming job, that doesn't mean I stop thinking on programming problems. Same goes for law.
The problem that the author is describing, is that she has reached the limits of her profession to such an extent, that even thinking on (most) programming problems isn't interesting to her anymore. Which is a sad thing.
My point is your snark doesn't hold, because "practicing law" is fundamentally a different thing from "practicing" programming.
And although I agree with your definition within a professional legal context, that context is irrelevant to the discussion, since we are discussing a person's personal relationship to the discipline.
As for me, I still have >35 years ahead of me, so we'll see.
EDIT: Just seen the date on the article, likely the hundreds and hundreds of errors at the time are gone now, seeing as there's only like 50 showing now
Writing code that must absolutely positively do the right thing ... with other people's unvalidated crap ... might just colour your views slightly.
I'm grateful for the opportunity to work from home, support my family comfortably, be in a field with lots of employment opportunities to fall back on, and be constantly learning new stuff.
Sorry it didn't work out for you, but it sounds like you found other interests to occupy you and (hopefully) support you, e.g. fantasy/scifi writing.
What? The author was in the field for THIRTY-EIGHT YEARS!
Anyway, that's a potentially long time to be doing something you don't enjoy.
I've always enjoyed—and still enjoy—the technical aspects of programming.
Since this just came in my email….
"Working at $FIRM offers you the opportunity to work in a fast-paced, challenging, startup environment with a team of passionate individuals who love bringing ideas to life. At $FIRM, no role is small and every person plays a part in the development of our game-changing technology."
fast-paced = you won't have time to think to solve the problems better
challenging = no one knows how to behave themselves, least of all the founders
startup environment = so forget reasonable workweeks and having any time on weekends
team of passionate individuals = they don't have lives, either
no role is small = you will be assigned roles that the last person quit over because it was so trivial
That's the kind of thing I'm done with.
Hm, a rather cynical comment. It seems to me there are lots of highly enthusiastic participants on HN, and I'm blown away by how knowledgeable they are in many other fields as well--the sciences, culinary arts, music, sports....
It's quite a diverse crowd. It's safest to not generalize... ;)
"Deirdre Saoirse Moen is a science fiction and fantasy writer, photographer, and graphic designer from Menlo Park, California."
What? I thought this was a programmer quitting his job..
Even then OSI had It's "kids on the variety sunshine coach" members who couldn't implement to standard I am looking at you Sprint and ICL.
:( There are better ways to express this than shitting on special needs kids.
As far as things working in one browser and not another, if you're working with standard features they tend to work across all modern browsers. If you are using features which are still only candidates, then yes they may not work but you've chosen to implement non-standard features so you've done this to yourself.
Once you reach a level of competency where like the author of this article you can implement any kind of transform you like then 99% of programming becomes rather boring.
Sure there are still the 1% of interesting problems and algorithms that are fun to work on, but you can only implement so many basic CRUD API's, and boilerplate business logic classes, and cut and paste website designs before you tire of that stuff.
After 30+ years of coding I'm sure the author of this article has implemented pretty much everything she has ever wanted to. It's natural that she would find implementing the same things over and over again for other people to be unrewarding, and instead desire to pursue the new challenge of designing an interesting new product of her own.
There are things I'm interested in implementing still. I still enjoy working in Ruby, and my Python's gotten rusty, but I actually work mostly in PHP these days (because of WordPress). I keep promising myself to learn Swift, but I lack Swift-type problems to solve that I care about.
The other thing, as one gets older and has a lot more experience: how much of your remaining unknown quantity of time are you willing to spend doing programming vs. some of your other life goals?
I'm getting this feeling myself more and more lately. And I've only been doing this for a little over 5 years. Although, I wonder if I'll have this thought regardless of what field I am working in.
The brick does not love you. The company funding any project is a brick. No matter how much you love the project (or enjoy the people you're working with), it's temporary.
Detachment is the only way to stay sane long term, but then you're not viewed as "passionate."
To end this on a more positive note, consider this: "we're not here to make friends" is EXACTLY WRONG. The friendships you make are the only thing that will last. The "legacy" of your code will become smaller and less valuable over time, even if it's really awesome code; more likely it'll just be tossed aside without a second thought by the next developer or exec with their own agenda to pursue. Your money will be spent. All of the companies I worked for twenty-plus years ago, their technical and financial assets gone as though they'd never been, but some of the friendships I made back then continue. Make code, make money, make friends, but only one of those will last.
Maybe not having anytime to yourself isn't important, but im not a coding robot and need a nice amount of downtime!
Instead one gets a bunch of dismissive, I-know-better-then-all-of-you BS. And they say bankers are arrogant.
In the end, we all have a choice of what we want to focus on and what to do about it.
Stay focused on the bright side, minimize the negative, and keep on keep'n on.
Maybe the article is a little scattered, but the tl;dr is Deirdre switched to programming for herself, and quit making crap other people want. For those reacting to the title without reading the article, she clarified that programming is awesome, but programming for money on other peoples terms sucks.
I don't know about you guys, maybe you're too young, but it resonates with me. Maybe I would have wasted fewer years programming for others earlier in my life if I'd known how bummed I'd get about it, or how excited I'd get about programming on my own terms.
Truth is, I feel like there aren't any more really interesting problems for me to solve. I've accomplished enough of each kind of thing that really engages me that I'm done.
I'd turned down an Apple job in the mid-80s and always regretted it, so once I spent 5+ years on the Safari team, I felt like that was the only checkbox left.
- "There a problem in software, no one is taking it seriously" - "There's no problem in software that I know of, why do you even care?"
http://deirdre.net/wp-content/uploads/2011/10/SJ-engraved-iP...
Presence or absence of a github account isn't meaningful. Plenty of really great programmers have never had them, and there's plenty of crap code on github. (And the inverse is also true, of course.)