Hello, World
hello-world.io
hello-world.io
- 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.)
>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
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 :-)
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.“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.)
Unfortunately there's not much else I know other than the internet and the fact it's currently making me a lot more money than 95% of my friends. So that leaves me ultimately disenchanted with nowhere to go.
Have you thought about moving "up" into management?
You are presented with a new set of challenges and another point of view that, if anything, will make you appreciate more other roles and give you a better view of what delivering a product or a project entails, how different parts in a company interact, and how they are dependent on each other. More than moving "up" it really more like "sideways".
Also, if your company is receptive enough you could ask for an experience in another department, like sales or QA, or testing.
You can go back any time: a normal career spans decades, decisions are rarely definitive.
Being able to do something you somewhat enjoy while being paid a high salary would be amazing for a lot of people.
Or you can go hunting for a more fulfilling job, like this guy.
After I finished college I used all my savings to travel to Japan for a month and a half (I wish it'd been longer) and after returning home, I felt like a I just had a very nice reset. Like cleaning the slate allowing me to start fresh.
Maybe you could use a hiatus as well. It's not necessary to go live in a farm for that. Go explore some place you have always wanted. I could almost bet that you won't regret it and might even find a new love for your profession (maybe not your job though).
I'm on year 6 abroad and very likely make a small fraction of what jwmoz makes (I'm a VA).
It's just the programming I've become disenchanted with.
If you aren't already, consider downsizing, paying off your debts and saving an aggressive percentage of your income. It won't make much of a difference in the short term but you are buying yourself more options down the road. If you can put $3,000 a month away from now until 45 for instance, an 8% annual rate of return would put you at a cool one million in cash on hand. At least if you do that your current unfulfilling job is moving you in the right direction rather than just keeping you afloat in a nice apartment with a nice car.
(That's not to say that you should stay in an unfulfilling job forever - just that you should make hay while the sun is shining).
I agree. I'm almost 30 myself and have been living quite extravagantly as you say. I'm hoping to spend my 30s building sufficient wealth that by my early 40s I'll have a passive income sufficient enough to let me essentially retire to somewhere nice where I can spend my time on self-actualization.
It's interesting that more of this kind of content keeps coming up on HN, it seems that many of us are tiring of the "rat race". I hope I treat the next decade in the right manner so that I'm not looking at HN submissions on self-actualization or breaking the mold in 10 years and regretting not having done things.
I'd rather have fun while my body is still in good condition. Besides, I could always get hit by a bus while I'm still saving money, and then it'd have all been for nought.
Living paycheck to paycheck in an extravagant manner is my ideal lifestyle, really.
Besides, I tried that whole "delaying happiness" thing. I'm transgender, and I didn't begin transition until just before I turned 29. Waiting so long was the single biggest mistake of my life. It wasn't until I was almost 30 that I finally had a face that didn't make me want to drive my fist through the mirror. I could have had that sooner, but I was stupid enough to keep putting it off and putting it off. I don't think words can possibly describe the depths of my grief over having wasted my youth living as the wrong gender. I cry myself to sleep almost every night, and I've contemplated suicide multiple times. No, I'm not wasting any more of my life sitting around and waiting.
I've noticed a large number of stories and comments, on HN at least, regarding burn out. Is anyone aware of studies that look into why burnout is so common with developers?
Programming is a tool. It's a versatile tool, but it's a tool nonetheless. Part of what can happen in a technology-focused culture like ours is that we can become more absorbed thinking about the tools we use than what we use them for. Imagine we were builders, spending our time focused on perfecting the mixing of cement rather than constructing the Taj Mahal.
The point is, improving the tools is interesting to some but isn't exciting for everybody, think instead about what you want to do with your tools that you'd find more stimulating/worthwhile.
Also, "when all you have is a hammer everything looks like a nail". Programming isn't always going to be the best tool, so look for what you want to do, then look at whether your existing skillset can be complimentary.
Hope that helps.
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.
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).
I would like to read the response to this question. I think there are many software engineers out there who would like to take a break from office and/or coding jobs to work simply – be it bartending, woodworking, volunteering – using their hands and interacting with a diverse community of humans.
As someone who has interviewed many candidates for coding positions, I always give attention to those who have ventured out of the field and ask for insight into those experiences.
Note: this is a bit of a cross-post since I commented on the article, too
The biggest benefit for me was that I have been to both sides of the fence and noted that while both are indeed quite green, there are always some nasty crabgrass bits. That understanding was worth the couple years of lost wages, and I suspect will pay for itself in peace of mind over time.
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.
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?
When someone asks me how close my project is to done, I often say "about half", or "it'll take a few more days". Is it 52% done? 59% done? 43% done? Will I run into some complication tomorrow and realize I'm 23% done?
When I have 25 rebar to pound into the ground, and 10 are already there, I know it's 40% done. I know that in about double that amount of time, it will be near 100% done. There's no question of if I am about to run into a complication that will set me back 20%.
More complicated construction can certainly lead to the same situations as programming, but sometimes simple tasks are really satisfying to a mind always dealing with new things. Variety is the spice of life.
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/
Best of luck on your journey.
Everyone's desires in a career/life are different. We also are wired differently. For me, I would like to become wealthy enough to live comfortably & support my friends, financially & coding-wise, in their endeavors (many of them are musicians)
If the author thinks there's something fundamentally more "worthy" about farming than software development, he doesn't bother making that point with any great detail. I got nothing from this story.
I'm close to OP's age (I'm 30; he's 32), and the idea of working on a farm, doing manual labor, and raising a kid is like living hell to me.
To me, the ideal job is one that involved having 16 terminals open, and I'd rather work in an office than in any other environment.
To each their own, I guess. OP can do what he wants, and I'm enjoying being a childfree lesbian who slings code, happily works a white-collar job, and eats, sleeps, and breathes technology.
[1] http://www.salon.com/2015/02/10/what_nobody_told_me_about_sm...
https://en.wikipedia.org/wiki/Calvin_Coolidge#Farm_subsidies
Wow, I'm basically his age and spent almost half my life in the US not online. I was climbing trees, chasing rabbits, shooting bows & arrows, and jumping off small cliffs.
Other than that, sounds like a good plan. Wish you the best
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.
Taking breaks to 'get back in touch with nature' while doing something so technically involved tremendously helps my workflow.
The REPL is an incredibly user-friendly way to learn to program. Try it. I'm surprised you like math and don't want to use the REPL, since the REPL in many ways resembles a powerful calculator (and can be used as such)
If you really like the math approach, and grow to appreciate the REPL, give "The Haskell Road to Logic, Maths and Programming" by Doets and van Eijck a try.
But no, you can't pick up programming just from reading books without attempting to program. You could pick up a good bit of computer science like that, but not programming. Programming must be experienced.
Who has actually written a "hello world" program to ease their way into a daunting codebase? Anyone? I haven't.
Lorem ipsum :)
If someone programs at the same company doing the same tasks for years until they hate programming, then I really feel no sympathy. Get a different job...its easy. Do side projects...even easier. Adding fuel is easy. Letting it die takes effort.
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.