I stayed away from pursuing programming as a vocation for almost 15 years.
I intuitively knew as a child that there were parts of programming and using computers which "weren't work" for me, but also very much ones that were, and I foresaw the probability that I might cease to enjoy the "not work" parts after being ground down by too much work.
As I come back to it now, I still think that. Increasingly I think it really, genuinely, depends on the style and language of programming you take up, and what you do with it. When I code in something like Lisp or Haskell, it doesn't feel like "work," it feels like problem solving. I tend to focus on CS topics as well; I built a VM, and a couple of programming languages, because they too were fun to think about, not work.
For me, I have progressively gravitated to more and more expressive languages, while moving away from more imperative ones which descend into repetitive "design patterns". I burned out quickly on the world of web programming, which inherently seems to require a whole lot of tedious yak shaving if you're flying solo.
Of course, the flipside which anyone bothering to read this may already be hastening to chastise me with is that none of this is likely to necessarily lead to actual employment.
Someone has to do the "work." And the amount of "work" to be done is a lot greater than there are people who don't find it work, which is why there will always be a lot more demand for that. In part I suspect this is because some kinds of "work" are self-replicating (Java programming begets the need for more Java programmers ...), but I nonetheless find myself fearing that my chosen "not work" is merely a fool's fantasy; and I occasionally have guilt complexes about "why am I not just learning JavaScript so I can at least get a gruntwork job at Rovio or somewhere" ...
I took a major pay cut so I wouldn't have to work with certain popular commercial languages ever again, and now enjoy working in a small studio where we create DSLs in Scheme. Every week I discover something new about Lisp and then use it on independent hobby projects, whereas before I didn't even want to look at a computer after work.
Small stealth mode startup in Vancouver, Canada that does custom DSLs for the oil & gas industry. I found the job on my local CL, they were advertising looking for anybody who had read SICP, or had experience doing functional programming. It doesn't pay a lot but enough to live comfortably while single plus I get to hack around in Scheme all day, though now they want me to learn Haskell too.
I work 6hrs a day usually and spend the rest of time experimenting with my own DSLs for future side projects or enjoying life whereas before I'd go to work before the sun came up, work in a windowless office under constant unachievable deadlines then leave at night. I had money but no life.
A job for the oil & gas industry which requires SICP level coders which doesn't pay well? I'm not sure what to think - that that industry really doesn't pay well, or that you need to read patio11's guide to salary negotiations.
Because if he's making a below-market salary as it sounds like, he could be doing better. With a higher salary, he could have more savings, more security, more easily afford a family or the things he wants, donate more to charity, spend more on personal hobbies, etc. Money has many uses.
And I could ask you the same question: the startup founders and oil industry would live comfortably enough if they made a little less and paid him better; why is that not enough? Why should they be making more?
I'm pretty sure one of the reasons Paul Graham and Robert Morris started their own company was because they didn't want to take a job writing software for Windows.
I also believe the guys who started ITA software wanted a problem domain where they could justify using Lisp.
So there are a few precedents for finding an excuse to use more expressive languages to solve challenging problems, in a way that makes money.
Something I've come to understand as an expat is why so many expats and immigrants wind up starting their own businesses rather than seeking local employment; it's not necessarily fun to work through bureaucracy with a language barrier involved, but at least your day to day job is in the language you know and you can get on with it.
Perhaps there's something to that in programming languages as well; I sometimes wonder if the reason for the explosion in startups and web applications is that for as much as I hate fighting with CSS and HTML templates, at least it's better than trying to make sense of the Windows API. And if you've grown up, as many young startup coders do, with the world of JavaScript and the web, it's what you know as much as Lisp was what guys like Paul Graham knew.
Comments
I stayed away from pursuing programming as a vocation for almost 15 years.
I intuitively knew as a child that there were parts of programming and using computers which "weren't work" for me, but also very much ones that were, and I foresaw the probability that I might cease to enjoy the "not work" parts after being ground down by too much work.
As I come back to it now, I still think that. Increasingly I think it really, genuinely, depends on the style and language of programming you take up, and what you do with it. When I code in something like Lisp or Haskell, it doesn't feel like "work," it feels like problem solving. I tend to focus on CS topics as well; I built a VM, and a couple of programming languages, because they too were fun to think about, not work.
For me, I have progressively gravitated to more and more expressive languages, while moving away from more imperative ones which descend into repetitive "design patterns". I burned out quickly on the world of web programming, which inherently seems to require a whole lot of tedious yak shaving if you're flying solo.
Of course, the flipside which anyone bothering to read this may already be hastening to chastise me with is that none of this is likely to necessarily lead to actual employment.
Someone has to do the "work." And the amount of "work" to be done is a lot greater than there are people who don't find it work, which is why there will always be a lot more demand for that. In part I suspect this is because some kinds of "work" are self-replicating (Java programming begets the need for more Java programmers ...), but I nonetheless find myself fearing that my chosen "not work" is merely a fool's fantasy; and I occasionally have guilt complexes about "why am I not just learning JavaScript so I can at least get a gruntwork job at Rovio or somewhere" ...
I took a major pay cut so I wouldn't have to work with certain popular commercial languages ever again, and now enjoy working in a small studio where we create DSLs in Scheme. Every week I discover something new about Lisp and then use it on independent hobby projects, whereas before I didn't even want to look at a computer after work.
If you don't mind offering up the information, where do you work? Or at the very least, what field do you work in? That sounds extremely fun.
Small stealth mode startup in Vancouver, Canada that does custom DSLs for the oil & gas industry. I found the job on my local CL, they were advertising looking for anybody who had read SICP, or had experience doing functional programming. It doesn't pay a lot but enough to live comfortably while single plus I get to hack around in Scheme all day, though now they want me to learn Haskell too.
I work 6hrs a day usually and spend the rest of time experimenting with my own DSLs for future side projects or enjoying life whereas before I'd go to work before the sun came up, work in a windowless office under constant unachievable deadlines then leave at night. I had money but no life.
A job for the oil & gas industry which requires SICP level coders which doesn't pay well? I'm not sure what to think - that that industry really doesn't pay well, or that you need to read patio11's guide to salary negotiations.
Or that the employer correctly realized a six-hour working day is a valuable enough perk that they could exchange it for a substantial salary cut.
He explains that he's happy and says he lives comfortably. Why is that not enough?
Because if he's making a below-market salary as it sounds like, he could be doing better. With a higher salary, he could have more savings, more security, more easily afford a family or the things he wants, donate more to charity, spend more on personal hobbies, etc. Money has many uses.
And I could ask you the same question: the startup founders and oil industry would live comfortably enough if they made a little less and paid him better; why is that not enough? Why should they be making more?
Do you get equity, as partial compensation for the lowish pay?
I'm pretty sure one of the reasons Paul Graham and Robert Morris started their own company was because they didn't want to take a job writing software for Windows.
I also believe the guys who started ITA software wanted a problem domain where they could justify using Lisp.
So there are a few precedents for finding an excuse to use more expressive languages to solve challenging problems, in a way that makes money.
Something I've come to understand as an expat is why so many expats and immigrants wind up starting their own businesses rather than seeking local employment; it's not necessarily fun to work through bureaucracy with a language barrier involved, but at least your day to day job is in the language you know and you can get on with it.
Perhaps there's something to that in programming languages as well; I sometimes wonder if the reason for the explosion in startups and web applications is that for as much as I hate fighting with CSS and HTML templates, at least it's better than trying to make sense of the Windows API. And if you've grown up, as many young startup coders do, with the world of JavaScript and the web, it's what you know as much as Lisp was what guys like Paul Graham knew.