> I am burnt out on having a “40 hour” work week that actually occupies the majority of my mental time.
This really resonated with me. I can't just stop thinking about this stuff just because I'm at lunch or at home if I'm working on a hard problem.
But I don't get paid for that time.
It is when it interferes with stuff you actually care about. Like when I'm supposed be having family dinner or playing with my daughter and I realize instead I've just spent the past several minutes staring into the distance thinking about a work problem.
Sometimes I really envy people who never get the urge to work (either actually or mentally) on work after leaving the office at 5 pm.
I've learned to accept that work should only be a certain percentage of your life. Occasionally it can bleed over, sure, but unless you want it to be 100% then you need to drop it and think about other things. Maybe I'm just lazy, but when I'm with other things I care about - especially people - then work can kiss my ass :)
You don't have to convince me...it's my brain you need to talk to :)
I've gotten very good at sticking to a 40 hour work week and haven't worked a weekend in over a year. I manage to leave the office before 6 pm at least 9 days out of 10. The 'problem' is that once someone dumps an interesting math or programming problem in my brain then it takes over everything and I can't let go of it.
Something physically taxing and which requires complete attention. My best example is skiing. Try to think about a hard problem at work, while doing 15mph on a black slope, and you'll soon be hugging a tree or doing a five point yard sale[1].
Of course, you generally can't ski often enough to relax. Other activities abound. Tennis occupies mind and body, most team sports too. Swimming, cycling and running don't cut it for me, but for some people do.
I learned to ski as an adult. I get to 30mph comfortably (my max gps tracking was at 72km/h), but certainly not on difficult slopes. I need to find a good stretch of straight wide slope so I can schuss and pray at the same time :-)
I have found going outside and observing nature or looking at fields/birds if they're close by can help your mind drift. I work in an office but if I get chance I like to go outside and sit a short drive away by the fields.
For the most part though I use my lunchtimes working on my own code, as I am in the "working" mental state; it is easier to use the drive home as the unwind time (resisting the urge to drive fast, as this doesn't help unwinding).
If you enjoy it, then it's a benefit. I find that having bigger problems really helps me switch context. I have young children at home who demand a lot of attention. It's impossible to focus on work when they're around, so I don't.
Me too. Regardless of how many hours I 'work' (which constitutes writing emails, designing systems, taking calls about future or current systems, and, of course, writing code), I'm thinking about 'it'. Other people I know literally turn off their jobs when they leave. I never do. I'm not sure you really can and be effective at it. That part is probably the most exhausting aspect to it. It's never done.
That's why it's a career, not a job. That's why professionals introduce themselves with, 'I'm a doctor' or 'I'm a lawyer' or 'I'm a developer.' That's why we are (or should be) salaried. We are our professions; in a very real sense, we can't be anything else.
Exactly. Some people will experience their work as a career (as their identity), and these people will be HAPPY. Those who experience their work as a job will not be as fulfilled.
I think it boils down to whether the overtime your brain is doing is satisfying. If I’m spending my commute and evenings worrying about work or otherwise stressing out negatively, I’d want to end that. But if my job ends up posing interesting problems that I can’t help wanting to solve off-duty, then that sounds like I’ve found the right profession and company.
I do have interesting problems to solve.. and I do enjoy that part of it actually (agree with your point). Problem solving is the fun part for me (and for most who are in this profession). However, if you're any good at it, there is no shortage of problems to solve (or people that will give them to you).
This seems the natural progression for programmers now. 10 year slog of hope decaying; relatively monotonous work, then a sudden urge to do something antithetical in pursuit of happiness. I guess I'll be in a log cabin in Iceland in 5 years time!
your goals don't coincide with what others want to do. Even if u share the same long term goals, your short term goals usually don't conicide or atleast that's what i've found when i'm with my friends.
It seems the author of the article had spent a lot of time in a windowless, fluorescent-lit room. No wonder the urge to be outside is so great for them.
This article is very uplifting and easy to empathize with. However, I can only hope he ends up as happy as he might think he will. I've done farming when I was young as well as some manual labor jobs. It's not fun, you sweat a lot, your back hurts, the sunlight burns, at the end of the day you are physically burnt out so much that you can't actually think. I am much more happy to be closing tickets that are undoing previous tickets, while sipping white chocolate mocha. Good luck with everything :)
I had sort of the opposite experience. I moved furniture for a number of years...manual labor at its finest. I put on 10 pounds of muscle, melted any extra fat from my body, slept like a baby every night, and had no back problems compared to slumping in a chair all day. It was certainly hard work, but I look back on it with a simple fondness that I can't conjure for all my past office jobs. All I see is this weird fluorescent limbo in my emotional memory despite all the interesting software I've worked on.
Since I've done cleaning, not moving, I think I can still suppose that it is quite different than farm work. I can see how it's physically hard, but I think I would actually prefer moving. When I move heavy stuff, and I moved probably 10 times, I have a whole routine for picking stuff up correctly, and it's kind of like squats. Anyway, I think farming might have actually given you a more visceral experience than moving. In general, I think the hardest things we used to do when growing up are our brightest memories. For many people I know from Russia, it is the army.
The point I'm trying to make is that our experiences are complicated and are a combination of many circumstances. Programming is certainly more abstract and hard to remember as an overcoming experience, but it is what you make of it, and what you want to make of it in the future. If you ended up in software, there must be a reason for it, and hopefully it's more than just pay. I'm an introvert, I've always loved reading, programming, and abstract tasks, so I am happy. Maybe for you, programming is not as interesting as being social, physical, traveling.
Maybe the author is more like you than me, in which case, great. To each their own!
Actually, I do both daily. I program only for fun, but work on the computer and also do manual work. I also started a little bit with farming, but for pleasure mostly and healthy food, not as a way of living.
It's very good thing to switch between totally different tasks, makes you miss all of them occasionally and in the end you remember only the good things about each one of them :-)
There are things I liked about it, like delicious food I grew myself, watering can be kind of fun, at the start... and I try to get out there. But picking weeds, digging earth, pushing/carrying heavy things... gets tiring even if it's just 4 hours a day.
You take an incredibly advanced and complex programming language,
and dumb it down to the absolute bare essentials in order to embark
on the journey of learning a new system.
The purpose of the "Hello, World!" program, at least as I've understood it, is to make sure that you can actually get code running with whatever language, frameworks, and build process you have. Printing out a simple phrase is sufficient to demonstrate that that all works and that you can start making more complicated things.
If we're talking about the modern purpose of a "Hello, world!" program, then I agree. However, at the time the idea was originated, and I'm sure for a good time afterwards, build processes and frameworks weren't as mainstream as they are today. Therefore the function of a "Hello, world!" program was simply to test out the basic features of the language. That's the way I see it.
It doesn't take modern build processes and frameworks to need to know that you've crafted the bare essentials for a running problem, and the multi-stage compilations and linking process has performed as expected. Or that your cross-compile is working. Building software has been complex enough to warrant this for many decades.
The idea of the “hello world” program was promulgated by Kernighan and Ritchie in “The C Programming Language”, and they saw it the way kylec does. Quoting “The C Programming Language, Second Edition”:
“This is the big hurdle; to leap over it you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.”
(I got rid of my first edition years ago but as I recall it described the purpose of the program pretty much the same way.)
It's likely that you already know how Hello World works in at least one other language. By showing you it in the new language, Hello World allows you to start mapping concepts across those domains (ie, how to print characters to the console, where the entry point is, how to express string literals, etc).
"The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages: Print the words hello, world" - p5, The C Programming Language, Kernighan & Ritchie, 1978.
Interesting, at 32 and already deciding this was it for you regarding programming where it was first a passion. Well, guess it's about what makes you happy. See you in a few years (if that) for yet another adventure, stop seeking greener pastures, it's all a lie.
Today, I will leave behind the digital world that changed me from human to robot, I will begin building a tiny home and I will commemorate almost getting down to this honest days work by blogging about my new-experience-to-be working the soil.
Programmers can easily resonate to this blog. But I think this is the moment of truth of transition from a programmer to an engineer where you realize you are better off creating something on your own from the ground up than working for someone else's creation.
I think it shows how important it is to maintain a healthy work-life balance. Hopefully he'll find a way to combine his technical aptitude with his new lifestyle in a symbiotic way.
I love technology and computers, but I found a job that doesn't require me to be thinking about things non-stop. I work less than 40 hours a week (even though I'm salaried), but I still work in my field of choice. It doesn't stress me out. Do I make less than the average computer guy? Maybe a little bit. But hey, its one less massive thing to worry about. I can go home and not think about it. Instead, I can think about side projects and other fun things.
Don't let yourself get burned out so much from your current job that you end up hating your field. Its what you're good at, right? Use that skill to do good things. Driving yourself crazy shouldn't be one of them.
The tech industry for the majority attracts like minded people. We tend to have an all on our nothing mentality. We don't do it on purpose, it's just how we're wired. We work endlessly, hours upon hours, and at some point it starts to take its toll. The mental burn becomes too much, it wears on you. Eventually there is only one option, to walk away, for some time at least. I wish we were able to find balance. I've been doing this for close to a decade now, maybe not as long as some, but I've hit burnout and had to walk away. Upon my return I vowed never to get there again, I'm not so sure I was able to keep that promise. Maybe these are things we learn through time and experience. Or perhaps its subject to the way in which we lead the rest of our life.
Walking away or burning out isn't an inevitable outcome. We are all capable of learning new behaviours. It's a learnable skill to notice when you're starting to burn out, and then to take a step back, rest, and correct your behaviour.
Sometimes we have to remind ourselves (and our teams, and our managers) that, in spite of deadline pressures, software development is often more like a marathon than a sprint. Long-distance effort requires personal changes in goal-setting, planning, preparation, and ongoing practice --- all of which can be learned.
Health care professionals have a very high burnout rate, and to address this, "self care" is often stressed in their educational programs. Maybe this should be incorporated into software development education as well.
Good for you man. I took a year to do the same thing and travel.
The first step for me was creating a blog and writing a similar post, reflecting on what I had been doing and what was about to change. I also wrote down a lot of things I wanted to do in that next year. While I only did a handful of them, its great to look back now a few years later and see where my mindset was.
It is also great to reflect on the things that I did do on that year off that were so amazing, the things which I didn't write down, because they weren't even things I could imagine. That's the best part, realizing you've broadened your horizons.
:a toast: Wishing you do many unimaginable things.
I agree with the sentiment, but how's he going to pay the bills for rent, school, car, etc? A lot of people work on jobs they don't like to pay bills. Is he not going to have a place to stay? May be his girlfriend has enough income that he can pursue hobbies while she works A 'proper' job? There is a minimum you need to make to live a comfortable life and not rely on government to help ends meet.
- Changed his major overnight from whatever it was to computer science after writing a Hello, World program
- Left "so-called higher education" to work at a real-life job "without even thinking about it twice"
- Quit real-life job to be a bartender and chef
- Quit doing that after getting girlfriend pregnant to 'go back to the "real world" to get a job'
- Quit that to build a house and work on a farm
Every life event he describes here is a movement to extremes out of frustration or anxiety from what he was currently doing. I'm sure there's much more to this story, but if anything, this is an example of how peace of mind can't be found on either ends of a see-saw.
I think this is the result of the relative ease of getting programming work and good salaries. It attracts a lot of people who are not really in it for the love. Some of those people are going to feel like their soul is being sucked out. This guy is one of them which explains his extreme reactions.
I personally would rather work at the shittiest programming job than go out and work on a farm. But that's just me.
Man, I love programming but there are times after sitting at a desk for seven hours then spending another hour at the gym to get exercise that I feel like modern life makes no damn sense. It's moments like these that the idea of working on a farm, doing something real with my hands, sounds really great.
You may want to consider "life-hacking" your exercise routine. There's a lot of evidence coming in lately that suggests that an hour is far more time than you need to be spending for health, if you do different things.
(I'm not in love with using the term life-hacking, but, alas, it really is the best fit for the concept in question. Still, it need not be done as a fad or because it is "cool" in a certain set... it can simply be a useful way of improving yourself.)
So much this. Sometimes little life hacks can have big (positive!) consequences.
For example, two weeks ago I picked up the muscle-a-day routine and already I'm feeling way more focused and energized. The concept is very simple, today is butt-day so any time I'm not thinking about anything in particular I contract my glutes. It's really a fantastic concentration and fitness exercise that keeps you focused until the end of the day when your attention begins to drift, and restores the balance between your over-stressed mind and under-utilized body.
I know there's more I can do, but that's sort of besides the point. The mere fact that I need to 'hack' my life seems like an indicator that something is wrong.
My point is that there's actually probably less you can do to obtain similar results.
And part of my point was not to let the terminology stop you too much. I don't know a great word for the concept that doesn't have trendiness (the most obvious, mere "self-improvement" or "self-help", has its own baggage!), but the fact it's got a silly word in it doesn't mean it's a bad idea, nor does the fact some people go way overboard with it show it's a bad idea.
While I agree that programming attracts a lot of people that aren't in it for the love of the craft, I disagree with most of your sentiment. I see a creative person who struggles with having to focus on someone else's agenda.
Most non-developers see programming as tedious, mind-numbing work that involves zero creativity.
Most people who have never worked on a small farm or built a table/shed/house/whatever think of the manual labor as tedious, mind-numbing work that involves zero creativity.
Both working on a farm and programming are surprisingly creative professions. I grew up on a farm, and farming requires a love of creating and building and an incredible amount of creativity. ("Big agriculture" is a bit different. I'm referring mostly to single-family operations, though many of those are quite large.)
In both, you have to love building things from the ground up. You have to be willing to get your hands dirty and put up with occasional tedium, be it fixing a particularly annoying corner-case or riding a tractor for 12 hours.
In both, you have to solve complex problems with limited resources under time pressure. (The things I've seen my grandfather fabricate or fix with random broken junk and an arc welder are simply mind-blowing.)
Most farmers I know embody the "hacker culture" more than most self-proclaimed "hackers" I know.
I'd argue that going back and forth is less of an extreme than you'd think.
"I see a creative person who struggles with having to focus on someone else's agenda."
But if he loved/liked programming and the problem is just not working on something of his liking, nothing prevents him from either finding another more endearing programming job or working on his own thing.
I believe the parent spot-on: not everyone is into programming because it is his/her own calling in life, for many people it's just a mean to an end (making a living) which has the benefit of being somewhat more creative and commanding an higher pay than many other jobs.
And by all means, there is absolutely nothing wrong with it, it is clear that the blogger was unhappy with his life (while he was clearly happy when doing something else rather than programming in the past), so it wasn't his thing really, I wish him all the best with his new adventure.
That is true, but the author definitely took a giant leap to leave the field of programming - twice. Getting another programming job would have been a substantially less risky jump.
Yeah exactly. The post was quite crude and I can't see a passionate, career-savvy programmer in it. I guess the most important value of the post is to open up our eyes to those colleagues who aren't into the trade with a true love for programming. Their mindset would be something quite hard to comprehend were we using only our own perspectives.
I have said for a long time that my dad (who was a farmer) taught me to "hack" long before I began programming. The capacity to persist in the face of seemingly impossible situations is very valuable in both fields.
>Both working on a farm and programming are surprisingly creative professions.
For all the shit rural culture gets around here, I'm usually impressed by the ingenuity of its homegrown hacker-like culture. I sometimes get frustrated with my overly automated urban life. Apartment/condo living with a low maintenance car/appliances/technology and a worklife where I'm shuttled to and from via public transportation doesn't leave a lot of room for fun little hacks or impromptu solutions. The room that's left is often trivial gimmicks like tying something to tasker or messing around with whatever platform or language is hot right now.
Then I bought a fixer-upper house. As frustrating as this can be sometimes, there's just a great rewarding feeling of learning new things, fixing things, adding value to your home, etc. Real life hacking that isn't servos or screens is surprisingly rewarding. A small farm must be this x100.
I recently moved from a rural/small city area to a major urban area.
One of the most striking differences to me has been how many more abstractions there are for people living in a city - and as a result, how much less those people know about their surroundings.
> there's just a great rewarding feeling of learning new things, fixing things,
You don't need to live anywhere special to do this. It's easy. Just fix it if something breaks. Try to make things instead of going out to buy them. It's not even always cheaper to do this, and the effects are certainly less polished than what you can buy (it gets better over time), but the feeling that you did something real is very worthwhile.
I'm living in a tiny apartment and I gathered some tools like this: http://www.dremel.com/en-us/Tools/Pages/ToolDetail.aspx?pid=... for working with small pieces of wood, leather, metal and glass. Good tools are very important, you don't want to be fighting with your tool when making something, it's frustrating. I made something like this: http://i00.i.aliimg.com/wsphoto/v0/2042435968_5/Electronic-C... out of an old leather belt, fixed a few bedside lamps and some flashlights and built a bedside table, among other things. It took me from one week to one month to make them, in contrast to going out and buying them in 30 minutes tops. But I learned many useful skills, and - in some instances - made things much better suited to my tastes than any mass produced equivalent.
It's like Linux or Mac OS thing: if you want your computer to just work, go with the latter, but if you want to decide yourself how most of your computer works you need Linux. Needless to say I'm using Linux wherever I can :)
I've bought two fix-er-up houses now. I've always been pretty hands-on with building things. However as patient and diligent as I am building software, I found that I just didn't have the same mentality when it came to fixing my house. Breaking my back while trying to sand drywall seams on the ceiling was just utterly tedious to me and I found myself doing shoddy work. After finishing one room I realized that I just don't have it in me and hired out the rest of the work.
With software I just seem to have patience and enjoy getting every little detail right. So I feel like it's been the right path for me, I've never really felt any urge whatsoever to switch careers.
I bought a century-old house and have already learned tiling and simple plumbing jobs with ABS. It has already infected my brain so much that when I need a break I can go to my basement and flip on my wood lathe and make a new pen or something when I get frustrated. Then I can come back and solve my computing problem with a clear mind.
As much as I love programming sometimes it's play that's most important. You need to gather fresh ideas from the world around you. It can be isolating to be stuck in the rut of progress and innovation that is so endemic to our culture. Learning to fix, build, and create things that I depend on is worth investing in; even if it doing so isn't rational.
I could have simply called a contractor to re-tile my floor and they probably would have done it in less time and for less money than it cost me to take the time off work and do it myself. But I learned how to do it on my own. It hurt, it took a long time, I screwed up a bunch. But I walk on that floor everyday and my family loves it. It makes me proud and happy and I think I did a fairly good job. It'll last for decades. The code I wrote last week will probably not even compile in a decade.
I just went to our yearly gathering of local farmers. I know one small acreage farmer who has hacked together an automated irrigation system, and others in the community are building similar systems. Arduino or similar devices controlling larger arrays of irrigation switches and a scheduler (cron) controlled from a simple web interface.
I didn't intend any disrespect to farming. Rather, just for me, I love programming so much more than doing other kinds of work.
I have in the past worked in the most corporate programming environments writing insurance processing systems. Even within those parameters there were all kinds of adventures and problems to solve. Perhaps I wasn't in control of the "grand vision" of the company, but I was solving the little problems that pertained to my assignments. I found the possibility for immense creativity even in these supposedly mundane programming tasks.
I don't say this to blow my own horn or anything but I feel like programmers who truly, truly love it - it's almost irrelevant what project they are working on.
>I don't say this to blow my own horn or anything but I feel like programmers who truly, truly love it - it's almost irrelevant what project they are working on.
I think that's only partly true. I absolute love programming, and as a result, yes, I have been able to find enjoyment in even the most pointless projects.
And yet, over time, that's not enough for me. For some reason I just cannot help but feel worse and worse eventually when I get the impression that my work has no 'higher' purpose (by whatever definition of 'higher' I employ).
Perhaps this is because I grew up with parents and in environments that were very idealism-driven. Perhaps it's personality. I'm not sure. But with any 'pointless' work I always reach a point where I can fully enjoy much of my day, but I feel drained and a bit depressed at the end of it.
I could see how a programmer who truly loves programming, and nothing else, might feel the way you describe though.
Programming is the next manual labor and like all the other manual labor that preceded it most people don't need to be deeply passionate about their role in the assembly line. Like current manual labor it will generally not be considered skilled work, even though it is now.
When we talk about driverless cars replacing taxis we really mean programmers replacing taxi drivers in aggregate. The cars are a constant, if you're responsible for a fleet of them you are just a better taxi driver.
Such programmers will rely heavily on automated tools and will have to follow a clearly defined process because driverless cars will always involve human life. The cost of a simple misconfiguration is extremely high.
Besides, I fail to see how this can be considered manual labor or even the possibility of allowing average programmers to fill such positions.
We are the elite right now, our skillset is hard and the work we do is hard and we don't want to believe everyone can do it. Definitely not "average programmers" as you mention!
And maybe we have a little while longer to be the elite, but already children can build websites and applications so our days are numbered, soon everybody can know what we know and do what we do and as you mention, tools will be better as well and that empowers them to be closer to us too.
It takes a bunch of programmers to keep a fleet of servers running, vehicles will be maintained by programmers too, but it takes less programmers and less good programmers with every advance we make.
I think one of the nice things about programming, and one of the things that will ensure that programmers will always be in high demand, is that as tools improve, our desires and needs and aims adjust accordingly.
Just consider web development. There was a time you could make decent money with 'simple' HTML/CSS work. Clients were happy with that. Then you had to move to CMS-based sites, because people demanded the ability to add and edit content easily. Then you had to start offering plugins and more complex tools because everyone needed more than just a contact form to interact with their site visitors. And now everyone wants web apps, which are significantly more complex than simple websites.
I suspect that people who love programming and are good at it will keep moving up along the ladder of abstraction, and if anything there will be more and more need for experts at every rung of this ladder as companies get stuck with 'old' technology (for example, I could make a killing as a Drupal consultant).
The concept of manual labor is not a proxy for "a person does it." The contrast to manual labor is social labor. Programming is almost entirely concerned with the mastery of language and communication.
There's almost nothing manual about it: you just dictate actions to others (people or machines.)
It just means you are physically required to perform the operation - work that is automated is not physically done by anyone, and where it gets confusing is we both provide the automation yet are required to keep it running.
Heroku and other PaaS systems eliminate server administration and scaling for many companies. That same work is still fundamental and critical for organizations like Amazon. But it is really just an inefficiency we are learning how to automate completely, with manual labor in the interim.
I couldn't agree more. As I was reading this post I was really trying to sympathize with the author's trouble of finding contentment in his work. But as a software dev who's very nearly a "code monkey" in his 40 hours, I also live in a rural setting where my wife and I raise heritage hogs for pork.
I also find time to volunteer with the local Code for America brigade and interface with folks in the government and non-profit area on a regular basis. My son and I also go up to a hacker club in the city where folks are always building something cool.
Perhaps rather than monoculturing your life, the lesson here is to diversify on a daily basis?
> if anything, this is an example of how peace of mind can't be found on either ends of a see-saw
Well, there are different personality types out there. This may be "peace of mind" for him.
Personally, I split my time between the "real world" and getting my "hands dirty". I think it's important to have both at the same time, so you don't end up see-sawing between the two.
> Well, there are different personality types out there. This may be "peace of mind" for him.
I'd agree with this if he didn't sound so reactionary. Leaving a software job to work on a farm is great if you're making a deliberate choice from a solid mental state. He makes it sound like he's doing this (and every other choice he described) because he'd otherwise be going out of his mind. It's disturbing to read in a way because he doesn't sound like he has full agency over his current decision.
he doesn't sound like he has full agency over his current decision.
There's a finished sheen to his prose, so I give him the benefit of doubt that he's merely caricaturizing his situation. Actual life stories are quite dull, you know, as opposed to say, the movies.
And on the topic of differing sensibilities, it's curious that you find it "disturbing to read." We are left wondering why.
If he's caricaturizing himself on his own web site like this, then it's absolutely disturbing.
It's disturbing to me that, in abandoning his current reality to embrace a new one, he idealizes his next step in a way that repeats a pattern of psychosis. It's not at all clear he is actually in reality in moving to his next decision.
It'd be far less disturbing if he were listing his reasons as "I've been looking forward to doing this for a long time, and this is fulfilling a lifelong dream" or "I've been talking with my wife and kids, and we can't wait..." or "This is going to be hard, but we're giving it a go...", i.e. reasons that connect with his current reality instead of running away from it.
Instead, he demonizes his current life and, to reconcile "a new fire inside of me that I can’t hold back", he characterizes his decision as "A journey with a larger purpose. A journey that will feed me in ways money cannot. A journey that will breed true Life." These are ego-driven, black-and-white, rhetorical reasons. Nothing about his next move guaranteeing any of what he's hoping for. And this time, he's bringing his children along with him.
You're right to feel disturbed, but I think his post is pretty embellished. He might have a list of reasons tucked away elsewhere that is more level-headed than the poetic version we are reading. Normal people don't want to read the story of the family man who made level-headed retirement decisions.
I wonder if he'll post a follow-up blog where he bounces back yet again to programming when he realizes how back-breaking, if not soul-sucking, farming is.
Or maybe he'll start blogging about and writing software for small family farming? There's an audience for it so maybe he can find the middle of that see-saw?
>Every life event he describes here is a movement to extremes out of frustration or anxiety from what he was currently doing. I'm sure there's much more to this story, but if anything, this is an example of how peace of mind can't be found on either ends of a see-saw.
He has balls, I'll give him that, and I don't see any problem with changing things - even very large things like ones career - in order to find what makes you happy and makes your life feel fulfilling.
I'm finding that I don't have that in me. The thought of leaving a well paid, comfortable and regularly challenging job in software development, even if it's not the passion that fuels life for me personally, for a future of uncertainty is far too daunting for me to take action and "try something new".
Maybe that's deeply seated in how I perceive myself and others to judge those who do try, and sometimes fail at trying, their hand at other things along the way? I don't know, but at this point in life I commend anyone who tries to break the mold we've been pretty much set into since we were teenagers.
Of course, life is an ever changing thing. I don't suppose you've kept the same job for your whole life? Even the things you love can become a chore. I completely sympathize with this guy and applaud him for making changes he feels will make his existence more full. Grass is always greener can be one way of looking at this, another way is that he's LIVING HIS LIFE.
Perhaps peace of mind can't be found by making the "right decisions" at all, but only by learning to find peace of mind in your circumstances, and not being afraid of change. This guy sounds like he's doing okay.
Reminds me of the people who "chuck it all" and travel the world for a year or two, then return home to find everything the same, as if they had never left.
There was once a boy named Milo who didn't know what to do with himself — not just sometimes, but always.
When he was in school he longed to be out, and when he was out he longed to be in. On the way he thought about coming home, and coming home he thought about going. Wherever he was he wished he were somewhere else, and when he got there he wondered why he'd bothered. Nothing really interested him — least of all the things that should have.
I envy people who can simply walk away from a career like this. As the single source of income for a family of 5, I will be slinging code for The Man for years to come.
I started programming shortly after learning to read, so it's not something I'll ever give up totally -- I do find side projects help in alleviating the ennui somewhat (given that you can at least challenge yourself, rather than solving the same problems over and over and over and over.... ).
yeah, i'm trying to figure out how to "be your own The Man" - its just a different problem to solve. easier said than done but we like hard problems, right? I've not solved it yet so let me know when you do. currently early 30s, family of 4, Boston
Current Objective:
Write a function that creates HTML that generates webpage views and prompts for creditcard numbers. Use monthly account deposits as metric to optimize performance.
Maybe I'm just cynical, but I feel this article plugs very well into another article I read this month: "What nobody told me about small farming: I can’t make a living"[1].
President Calvin Coolidge, on the subject of farm subsidies, from Wikipedia: "Farmers never have made much money," said Coolidge, the Vermont farmer's son, "I do not believe we can do much about it."
I got the sense from the article that he wasn't just farming, maybe he is doing some form of sustainable living but he says he's building tiny houses too which would probably be the main income.
Yeah, farming is not gardening++ If you're raising livestock, you don't take week-long vacations because your herd would die. There is always a lot of work to do so the work schedule is like perpetual crunch time but with less stress. Less stress if you haven't been facing drought or pest or fungus outbreak for the past few years. The room for niche farmers is much smaller than the tech world. There are not too many clever startup farmers that disrupt the food world. Small farmers really either just compete against mega-farms to produce cheaply and efficiently or cater to affluent quality-driven customers.
I'm just going to quit my job and give freelancing/consulting a shot. In the middle of West Virginia. I don't think I could ever leave programming. I started around 9 years old, I've already been through my slump and come out the other side more interested than ever. In programming, that is. The way most companies handle software development, though? That is certainly downright terrible. My knowledge of history and economics encourages me that this is probably a somewhat temporary situation, though. Companies are disemboweling themselves with astonishing fervor while the infrastructure their employees need to serve customers directly is becoming ubiquitous. It should be fun to watch.
I don't really consider 'weirdo' to be name-calling... It wasn't meant as an insult, just an observation that he's different from me. Not worse, just different.
173 comments
[ 5.6 ms ] story [ 200 ms ] threadBest of luck on your journey.
This really resonated with me. I can't just stop thinking about this stuff just because I'm at lunch or at home if I'm working on a hard problem. But I don't get paid for that time.
Sometimes I really envy people who never get the urge to work (either actually or mentally) on work after leaving the office at 5 pm.
I've gotten very good at sticking to a 40 hour work week and haven't worked a weekend in over a year. I manage to leave the office before 6 pm at least 9 days out of 10. The 'problem' is that once someone dumps an interesting math or programming problem in my brain then it takes over everything and I can't let go of it.
Of course, you generally can't ski often enough to relax. Other activities abound. Tennis occupies mind and body, most team sports too. Swimming, cycling and running don't cut it for me, but for some people do.
[1] http://www.urbandictionary.com/define.php?term=yardsale
If I'm only doing 15, i bet I'm still thinking abut work :P
For the most part though I use my lunchtimes working on my own code, as I am in the "working" mental state; it is easier to use the drive home as the unwind time (resisting the urge to drive fast, as this doesn't help unwinding).
The point I'm trying to make is that our experiences are complicated and are a combination of many circumstances. Programming is certainly more abstract and hard to remember as an overcoming experience, but it is what you make of it, and what you want to make of it in the future. If you ended up in software, there must be a reason for it, and hopefully it's more than just pay. I'm an introvert, I've always loved reading, programming, and abstract tasks, so I am happy. Maybe for you, programming is not as interesting as being social, physical, traveling.
Maybe the author is more like you than me, in which case, great. To each their own!
It's very good thing to switch between totally different tasks, makes you miss all of them occasionally and in the end you remember only the good things about each one of them :-)
“This is the big hurdle; to leap over it you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.”
(I got rid of my first edition years ago but as I recall it described the purpose of the program pretty much the same way.)
Don't let yourself get burned out so much from your current job that you end up hating your field. Its what you're good at, right? Use that skill to do good things. Driving yourself crazy shouldn't be one of them.
Where?
Sometimes we have to remind ourselves (and our teams, and our managers) that, in spite of deadline pressures, software development is often more like a marathon than a sprint. Long-distance effort requires personal changes in goal-setting, planning, preparation, and ongoing practice --- all of which can be learned.
Health care professionals have a very high burnout rate, and to address this, "self care" is often stressed in their educational programs. Maybe this should be incorporated into software development education as well.
The first step for me was creating a blog and writing a similar post, reflecting on what I had been doing and what was about to change. I also wrote down a lot of things I wanted to do in that next year. While I only did a handful of them, its great to look back now a few years later and see where my mindset was.
It is also great to reflect on the things that I did do on that year off that were so amazing, the things which I didn't write down, because they weren't even things I could imagine. That's the best part, realizing you've broadened your horizons.
:a toast: Wishing you do many unimaginable things.
- Changed his major overnight from whatever it was to computer science after writing a Hello, World program
- Left "so-called higher education" to work at a real-life job "without even thinking about it twice"
- Quit real-life job to be a bartender and chef
- Quit doing that after getting girlfriend pregnant to 'go back to the "real world" to get a job'
- Quit that to build a house and work on a farm
Every life event he describes here is a movement to extremes out of frustration or anxiety from what he was currently doing. I'm sure there's much more to this story, but if anything, this is an example of how peace of mind can't be found on either ends of a see-saw.
I personally would rather work at the shittiest programming job than go out and work on a farm. But that's just me.
But who am I kidding.
(I'm not in love with using the term life-hacking, but, alas, it really is the best fit for the concept in question. Still, it need not be done as a fad or because it is "cool" in a certain set... it can simply be a useful way of improving yourself.)
For example, two weeks ago I picked up the muscle-a-day routine and already I'm feeling way more focused and energized. The concept is very simple, today is butt-day so any time I'm not thinking about anything in particular I contract my glutes. It's really a fantastic concentration and fitness exercise that keeps you focused until the end of the day when your attention begins to drift, and restores the balance between your over-stressed mind and under-utilized body.
And part of my point was not to let the terminology stop you too much. I don't know a great word for the concept that doesn't have trendiness (the most obvious, mere "self-improvement" or "self-help", has its own baggage!), but the fact it's got a silly word in it doesn't mean it's a bad idea, nor does the fact some people go way overboard with it show it's a bad idea.
Most non-developers see programming as tedious, mind-numbing work that involves zero creativity.
Most people who have never worked on a small farm or built a table/shed/house/whatever think of the manual labor as tedious, mind-numbing work that involves zero creativity.
Both working on a farm and programming are surprisingly creative professions. I grew up on a farm, and farming requires a love of creating and building and an incredible amount of creativity. ("Big agriculture" is a bit different. I'm referring mostly to single-family operations, though many of those are quite large.)
In both, you have to love building things from the ground up. You have to be willing to get your hands dirty and put up with occasional tedium, be it fixing a particularly annoying corner-case or riding a tractor for 12 hours.
In both, you have to solve complex problems with limited resources under time pressure. (The things I've seen my grandfather fabricate or fix with random broken junk and an arc welder are simply mind-blowing.)
Most farmers I know embody the "hacker culture" more than most self-proclaimed "hackers" I know.
I'd argue that going back and forth is less of an extreme than you'd think.
But if he loved/liked programming and the problem is just not working on something of his liking, nothing prevents him from either finding another more endearing programming job or working on his own thing.
I believe the parent spot-on: not everyone is into programming because it is his/her own calling in life, for many people it's just a mean to an end (making a living) which has the benefit of being somewhat more creative and commanding an higher pay than many other jobs.
And by all means, there is absolutely nothing wrong with it, it is clear that the blogger was unhappy with his life (while he was clearly happy when doing something else rather than programming in the past), so it wasn't his thing really, I wish him all the best with his new adventure.
Risk and lack of a safety net prevents people from working on their own thing.
For all the shit rural culture gets around here, I'm usually impressed by the ingenuity of its homegrown hacker-like culture. I sometimes get frustrated with my overly automated urban life. Apartment/condo living with a low maintenance car/appliances/technology and a worklife where I'm shuttled to and from via public transportation doesn't leave a lot of room for fun little hacks or impromptu solutions. The room that's left is often trivial gimmicks like tying something to tasker or messing around with whatever platform or language is hot right now.
Then I bought a fixer-upper house. As frustrating as this can be sometimes, there's just a great rewarding feeling of learning new things, fixing things, adding value to your home, etc. Real life hacking that isn't servos or screens is surprisingly rewarding. A small farm must be this x100.
One of the most striking differences to me has been how many more abstractions there are for people living in a city - and as a result, how much less those people know about their surroundings.
You don't need to live anywhere special to do this. It's easy. Just fix it if something breaks. Try to make things instead of going out to buy them. It's not even always cheaper to do this, and the effects are certainly less polished than what you can buy (it gets better over time), but the feeling that you did something real is very worthwhile.
I'm living in a tiny apartment and I gathered some tools like this: http://www.dremel.com/en-us/Tools/Pages/ToolDetail.aspx?pid=... for working with small pieces of wood, leather, metal and glass. Good tools are very important, you don't want to be fighting with your tool when making something, it's frustrating. I made something like this: http://i00.i.aliimg.com/wsphoto/v0/2042435968_5/Electronic-C... out of an old leather belt, fixed a few bedside lamps and some flashlights and built a bedside table, among other things. It took me from one week to one month to make them, in contrast to going out and buying them in 30 minutes tops. But I learned many useful skills, and - in some instances - made things much better suited to my tastes than any mass produced equivalent.
It's like Linux or Mac OS thing: if you want your computer to just work, go with the latter, but if you want to decide yourself how most of your computer works you need Linux. Needless to say I'm using Linux wherever I can :)
With software I just seem to have patience and enjoy getting every little detail right. So I feel like it's been the right path for me, I've never really felt any urge whatsoever to switch careers.
As much as I love programming sometimes it's play that's most important. You need to gather fresh ideas from the world around you. It can be isolating to be stuck in the rut of progress and innovation that is so endemic to our culture. Learning to fix, build, and create things that I depend on is worth investing in; even if it doing so isn't rational.
I could have simply called a contractor to re-tile my floor and they probably would have done it in less time and for less money than it cost me to take the time off work and do it myself. But I learned how to do it on my own. It hurt, it took a long time, I screwed up a bunch. But I walk on that floor everyday and my family loves it. It makes me proud and happy and I think I did a fairly good job. It'll last for decades. The code I wrote last week will probably not even compile in a decade.
Autonomy, mastery, purpose - family farmers have all three of those.
I have in the past worked in the most corporate programming environments writing insurance processing systems. Even within those parameters there were all kinds of adventures and problems to solve. Perhaps I wasn't in control of the "grand vision" of the company, but I was solving the little problems that pertained to my assignments. I found the possibility for immense creativity even in these supposedly mundane programming tasks.
I don't say this to blow my own horn or anything but I feel like programmers who truly, truly love it - it's almost irrelevant what project they are working on.
I think that's only partly true. I absolute love programming, and as a result, yes, I have been able to find enjoyment in even the most pointless projects.
And yet, over time, that's not enough for me. For some reason I just cannot help but feel worse and worse eventually when I get the impression that my work has no 'higher' purpose (by whatever definition of 'higher' I employ).
Perhaps this is because I grew up with parents and in environments that were very idealism-driven. Perhaps it's personality. I'm not sure. But with any 'pointless' work I always reach a point where I can fully enjoy much of my day, but I feel drained and a bit depressed at the end of it.
I could see how a programmer who truly loves programming, and nothing else, might feel the way you describe though.
Besides, I fail to see how this can be considered manual labor or even the possibility of allowing average programmers to fill such positions.
And maybe we have a little while longer to be the elite, but already children can build websites and applications so our days are numbered, soon everybody can know what we know and do what we do and as you mention, tools will be better as well and that empowers them to be closer to us too.
It takes a bunch of programmers to keep a fleet of servers running, vehicles will be maintained by programmers too, but it takes less programmers and less good programmers with every advance we make.
Just consider web development. There was a time you could make decent money with 'simple' HTML/CSS work. Clients were happy with that. Then you had to move to CMS-based sites, because people demanded the ability to add and edit content easily. Then you had to start offering plugins and more complex tools because everyone needed more than just a contact form to interact with their site visitors. And now everyone wants web apps, which are significantly more complex than simple websites.
I suspect that people who love programming and are good at it will keep moving up along the ladder of abstraction, and if anything there will be more and more need for experts at every rung of this ladder as companies get stuck with 'old' technology (for example, I could make a killing as a Drupal consultant).
There's almost nothing manual about it: you just dictate actions to others (people or machines.)
http://en.wikipedia.org/wiki/Manual_labour
>manual work is physical work done by people, most especially in contrast to that done by machines, and also to that done by working animals.
Here, inconveniently, "physical" is left undefined. And in fact, it's being used to mean "non-linguistic/non-social."
Heroku and other PaaS systems eliminate server administration and scaling for many companies. That same work is still fundamental and critical for organizations like Amazon. But it is really just an inefficiency we are learning how to automate completely, with manual labor in the interim.
I also find time to volunteer with the local Code for America brigade and interface with folks in the government and non-profit area on a regular basis. My son and I also go up to a hacker club in the city where folks are always building something cool.
Perhaps rather than monoculturing your life, the lesson here is to diversify on a daily basis?
Well, there are different personality types out there. This may be "peace of mind" for him.
Personally, I split my time between the "real world" and getting my "hands dirty". I think it's important to have both at the same time, so you don't end up see-sawing between the two.
I'd agree with this if he didn't sound so reactionary. Leaving a software job to work on a farm is great if you're making a deliberate choice from a solid mental state. He makes it sound like he's doing this (and every other choice he described) because he'd otherwise be going out of his mind. It's disturbing to read in a way because he doesn't sound like he has full agency over his current decision.
There's a finished sheen to his prose, so I give him the benefit of doubt that he's merely caricaturizing his situation. Actual life stories are quite dull, you know, as opposed to say, the movies.
And on the topic of differing sensibilities, it's curious that you find it "disturbing to read." We are left wondering why.
It's disturbing to me that, in abandoning his current reality to embrace a new one, he idealizes his next step in a way that repeats a pattern of psychosis. It's not at all clear he is actually in reality in moving to his next decision.
It'd be far less disturbing if he were listing his reasons as "I've been looking forward to doing this for a long time, and this is fulfilling a lifelong dream" or "I've been talking with my wife and kids, and we can't wait..." or "This is going to be hard, but we're giving it a go...", i.e. reasons that connect with his current reality instead of running away from it.
Instead, he demonizes his current life and, to reconcile "a new fire inside of me that I can’t hold back", he characterizes his decision as "A journey with a larger purpose. A journey that will feed me in ways money cannot. A journey that will breed true Life." These are ego-driven, black-and-white, rhetorical reasons. Nothing about his next move guaranteeing any of what he's hoping for. And this time, he's bringing his children along with him.
Or maybe he'll start blogging about and writing software for small family farming? There's an audience for it so maybe he can find the middle of that see-saw?
He has balls, I'll give him that, and I don't see any problem with changing things - even very large things like ones career - in order to find what makes you happy and makes your life feel fulfilling.
I'm finding that I don't have that in me. The thought of leaving a well paid, comfortable and regularly challenging job in software development, even if it's not the passion that fuels life for me personally, for a future of uncertainty is far too daunting for me to take action and "try something new".
Maybe that's deeply seated in how I perceive myself and others to judge those who do try, and sometimes fail at trying, their hand at other things along the way? I don't know, but at this point in life I commend anyone who tries to break the mold we've been pretty much set into since we were teenagers.
When he was in school he longed to be out, and when he was out he longed to be in. On the way he thought about coming home, and coming home he thought about going. Wherever he was he wished he were somewhere else, and when he got there he wondered why he'd bothered. Nothing really interested him — least of all the things that should have.
— The Phantom Toolbooth
I started programming shortly after learning to read, so it's not something I'll ever give up totally -- I do find side projects help in alleviating the ennui somewhat (given that you can at least challenge yourself, rather than solving the same problems over and over and over and over.... ).
Current Objective:
Write a function that creates HTML that generates webpage views and prompts for creditcard numbers. Use monthly account deposits as metric to optimize performance.
FYI Rob rocks - see http://startupbook.net/
[1] http://www.salon.com/2015/02/10/what_nobody_told_me_about_sm...
https://en.wikipedia.org/wiki/Calvin_Coolidge#Farm_subsidies
I'm just going to quit my job and give freelancing/consulting a shot. In the middle of West Virginia. I don't think I could ever leave programming. I started around 9 years old, I've already been through my slump and come out the other side more interested than ever. In programming, that is. The way most companies handle software development, though? That is certainly downright terrible. My knowledge of history and economics encourages me that this is probably a somewhat temporary situation, though. Companies are disemboweling themselves with astonishing fervor while the infrastructure their employees need to serve customers directly is becoming ubiquitous. It should be fun to watch.