What Doesn't Seem Like Work?
paulgraham.com
paulgraham.com
"what he really liked was solving problems. The text of each chapter was just some advice about solving them. He said that as soon as he got a new textbook he'd immediately work out all the problems—to the slight annoyance of his teacher, since the class was supposed to work through the book gradually."
is literally me. I did that. Every year at my school I did exactly that. Once I actually turned in my solutions and my math teacher was quite upset because she didn't know what I'd do for the rest of the year in her class. She thought I was being arrogant and I should take in the material slowly, not swallow it all like a whale. But I wasn't arrogant or anything, because unfortunately this skill didn't transfer to the rest of my classes. I wasn't particularly good at history or physics or anything else, only math. Even now, I have tons of Schaums at my home. Like this one - http://www.amazon.com/Schaums-000-Solved-Problems-Calculus/d... I work problems in it just because it is a craving - I simply have to solve it. Sadly, society doesn't pay for this sort of addiction. I have been a professional programmer for the past 2 decades to pay the bills, but I secretly hate programming, debugging, programmers, git, the whole enterprise - just seems so stupid & futile. But hey, atleast I can spend my salary on Schaums.
Each of those is just a definition and a handful (literally like 5 or 6) of axioms. If I memorized the axioms and a few key theorems I could usually derive everything else in the homework and on the exams. Most mathematical objects have very similar structure and the rest is just maps (morphisms) between them.
> Oh and those greek letters.
That's actually a very valid point. It took me a few years after graduating to realize how much myself (and I suspect many other students) are hampered by not knowing the notation well enough. Most people just assume you (and they) know what it means and never think about the actual definition and ambiguities. Even not being able to pronounce Greek letters definitely makes you less able (or at least less confident) to reason with them.
> Calc 2 techniques of integration and then DiffEq seemed like a lot of special cases that had unique solutions we had to remember.
That's the applied math part of calculus. The pure side is just "here's a compact/open/whatever set, prove for any point in it this property holds." Then you find out no one cares about either and it's all just numerical algorithms.
Is there a book covering this topic that you can recommend?
There is a lot to math.
it wasn't enough to tell her "well it still gives us the valid results" - she had to be able to interpret every portion of an expression and then make intuitive sense of it.
at first i was annoyed with this habit of hers, but eventually i started doing it to. for a lot of really math-minded people, hand waviness is anathema, and physics was full of "2 + 2 = 5 for sufficiently large values of 2, so we'll just assume that to make things easier"
I've tried to teach friends with that hangup and found it difficult. Those people weren't good at math, though. I feel like with mathematicians, you should just be able to explain with limits.
Assuming the limit exists without actually proving the sequence converges is going to produce total junk. Jaynes spent a good portion of Probability Theory illustrating this.
For example, picking a nice reference frame in simple mechanics problems is something that a physical intuition is good for. Same with spotting symmetries in an EM problem. Also, in physics you need to have a good grasp of what to ignore because they have only a small effect on the solution or because it operates on a different scale (fringing effects, transient solutions in ODEs), which often relies on a very hand-wavey type of reasoning.
Essentially, physical intuition often does not map to mathematical intuition
I have not taken enough math to actually speak for them; this is mostly gleaned from talking with math major friends and my own speculations.
> Also, in physics you need to have a good grasp of what to ignore because they have only a small effect on the solution or because it operates on a different scale (fringing effects, transient solutions in ODEs), which often relies on a very hand-wavey type of reasoning.
Physics is often taught in an exceedingly vague and hand-wavey way. Physics students have to learn to ignore that nagging feeling that something is not quite right. This is impossible for a mathematician. A mathematician wants to cleanly separate the math from the problem that is being solved using math. The problem specification consists of a list of assumptions, and the solution of the problem consists of 100% rock solid math. Physicists weave the two together, so that in the end it's often not clear what is actually being assumed. Furthermore, it's usually not explained based on which experiments those assumptions are justified. A counterexample is special relativity. There it's clearly assumed that the speed of light is constant, and the experiments on which that assumption is based are explained, and from there it's mostly logical deduction. In other topics that is sadly not the case. I would love a physics education where you start with the experiments and work from there, instead of saying "Bam! Here are Maxwell's differential equations. Now deduce things from that based on hand-wavey arguments". I don't mean having the students perform the experiments themselves, just describe what somebody else did and what the results were, and why that led people to believe that the laws of physics are as they are. To make time for that, we should remove the endless by hand solving of special cases of special cases. We live in the 21st century. Instead use numerical methods everywhere, which easily tackle the general case. Got n electrons with initial positions and initial velocities, and you want to see what happens? No problem.
/rant
Ironically though, I ended up drifting into the EECS department to do applied physics and I've found an environment much more similar to mathematics (and to the experiment-based approach you advocate) than to the physics department -- when you're trying to build systems rather than just solve problems, you can't just wave your hands. Instead, you have to pick apart your assumptions and figure out why you can ignore certain things and not others.
It's odd that you chose that example, because there is a rich history leading up to Maxwell doing his work, then Hertz verifying it, then Heaviside refactoring the notation.
Perhaps the deeper issue is that there are only so many lecture hours in a semester for adding these details, and you gotta start somewhere.
some of this is maybe inherent to the aim of physics, some of it is just physics machismo culture, and could be better, imo.
(i was a physics and math major at oregon.)
I think the best advances in both math and physics are made with people with an excellent grasp of when to move forward with existing constructs, and when to start shaping new ones...
These things helped me get by.
Hah, I did the same :-) ... unfortunately I also forgot the conventional names, and just used 's' (for speed) instead of 'v', and 'd' (for distance) instead of 's'. My teacher did not object the derivation at all, but told me that the results are wrong, because of the letters used ...
Well, point taken - now, I try to pay extra attention and memorize idiosyncrasies like naming conventions ... it saves time when communicating with others.
You should have been exposed to physical chemistry or computational chemistry or maybe even quantum chemistry or analytical chemistry, if your are mathematically inclined.
...but unfortunately they are considered very advanced topics in most learning institutions, even if one could start with them from the very beginning, instead of "classical chemistry". And more unfortunately, after the tedium of "classical chemistry", what you are presented with next are very boring aspects of "organic chemistry" or "biochemistry".
The chemistry department in the university I studied at required 4 courses of physical chemistry. The introductory course was bad enough - the course had mandatory practice sessions, where assistants were at hand to aid with the supposedly trickier bits. Each session was 1h45m straight.
5 weeks in, there was a supposedly simple exercise. When nobody at the class got even past the initial hurdles in the first 15 minutes, the assistant decided to show how it's done. He failed to finish the calculations in the remaining 90 minutes ... and he knew how the steps went.
Eventually I changed my major from chemistry to CS.
EDIT: btw, the assistant in question was a post-grad so lack of domain knowledge was not the reason.
In my view, the starting point for physics is a deep curiosity about how things work. But I'm not sure that aspect of it is ever taught. Rather, it's assumed that good physics students arrive at college, having developed that instinct on their own as kids -- taking things apart, breaking things, asking questions, maybe having curious parents.
Instead, the emphasis in teaching physics is almost purely on the math. Certainly, what defines physics as a unique discipline is the interest in studying problems that lend themselves to mathematical analysis. Solving the textbook problems involves identifying the equations corresponding to the wording of the problem, then solving the equations. That's a skill, but it's not really physics.
I got through my physics courses on the strength of my math skills, but was extremely fortunate to have picked up the empirical half of physics on my own, through my hobbies, and from the curiosity about nature that my parents encouraged. But if someone lacks that background, I could see them being good at math, and maybe getting a good way through school physics, but never really getting physics as an end unto itself.
Math in physics (at least most of the physics I have done, which covers classical 19th century stuff mostly) is just a tool, if you can take a shortcut, take it! If you can approximate and cheat, do it! What matters in physics is the path from observation to modeling. Math is but a tool.
Now I agree that the math gets rather solid, but it's nothing compared to real math at an equivalent level.
I think my experience is particular because in France where I studied, you study both in parallel very intensively. So the math in physics always kind of seems trivial to you... But still my best physics teacher taught me that it was way more about the "feel and model" than the "exactly prove" that mathematics consists in.
Gosh I miss those days :)
I recall that a physics chapter would start by "we take the Maxwell equations as [complex formulae]..." and for the life of me I wasn't able to understand them, or see where the teacher took that from.
On the other hand, maths seemed more logical, and even now - almost 15 years later - I can correctly recall my undergraduate maths classes, because I have them so well ingrained in me, because I could understand how various ideas connected to each other.
The format is usually on of: you have a chapter with explanation, samples, and rules. Fine and dandy, and then you get to the end of the chapter with a bunch of questions. The questions, usually, start off with simple, menial ones that test your knowledge of the chapter. These are not challenging in any way, they're just gatekeepers to make sure you memorized and can apply what was taught in the chapter.
And then, they completely flip it around and make the questions completely different and non-standard. They throw you into the deep end for no reason, without any progression. I wouldn't mind them twisting and slowly warping the questions with more complicated constructs that add new/unique elements, but they hardly ever did that. They instead just threw them all, haphazardly, into the "difficult" questions.
Again, I wouldn't mind that if I had some place to look for the answers in that book. Perhaps in an earlier chapter, which would mean that the "hard" problems in subsequent chapters would try combine the concept in the recent chapter with things learnt in older chapters.
Sometimes, I really think they don't always spend as much time on those practice/bonus questions as much as they should. We'd very easily get out of the whole "memorize + apply" rut of education, and into "learn, apply and extrapolate", which is where real intelligence/knowledge is.
I literally did the opposite of this. I went so far as to make deals with my teachers that if I got an A on every test, I wouldn't have to do any work outside of class. Maybe I figured it to be a challenge, maybe I was plain lazy. Whatever it was, that didn't prepare me for college.
In the end I had mediocre math grades throughout school, but learned a ton of skills I now use to create stuff.
For me it always was about getting how the system works not the actual lesson. From that angle it is hard to be bad at anything at high-school level. Either you got it how school works and were good or you did not and were bad. For me there was no in-between and all the "people have different talents"-stuff. For me it was about a combination of people skills, short-term memory and keen perception.
I took it to the extreme though and optimized for the amount of free-time, which forced me to change schools.
> Maybe I figured it to be a challenge, maybe I was plain lazy. Whatever it was, that didn't prepare me for college.
Exactly this. I study CS, in the end I lack the discipline to force me to do stuff I am not interested in. Taking tests without visiting the classes and learning for 3 days does still work for smaller conceptual classes, for math or practical ones not so much. It is kind of childish, but I still need the "beating-the-system"-incentive to learn complex stuff. Math always sounds mildly interesting to me and I get the concepts quickly, but i lack the discipline to really internalize it for a few months, especially bottom-up. For me it is easier to come from the other side, for example digging through scikit-learn and learning the math after I already got the big picture.
You probably already know this, but that just means you're an inductive learner, not a deductive learner. I'm also an inductive learner, but unfortunately the majority of math instruction is based on deductive learning.
I can relate. I had a few experiences like that in college.
I once got a bit depressed and skipped a lot of classes; when I finally dragged myself to a numerical methods class I was told that I might be unlikely to pass it at all given all my absence. For some reason this made me so interested in the topic itself that I spent ton of time learning and internalizing the concepts, aced all the assignments and in the end I put the PhD that taught our lab classes in a very awkward position - he wanted to give me the best possible mark but he couldn't given my initial absence and the established rules (he actually did stick to the rules he set and gave me a reduced grade, for which I highly respected him and later choose him as my BSc advisor). Funnily, the momentum I gained actually transferred to other classes so I pretty much aced everything that year.
I had a lot of other situations of the kind of "what do you mean this language doesn't even have functions? I'll hack it until it gains them." leading to the most crazy final project submitted; or "what do you mean I can't ace this class? I still have 24 hours left to do a project!". As long as I was feeling that I'm beating the system in a most overkill way possible, taking the doomsday scenario and sticking it back to the faces of naysayers, no task seemed like a chore. I was in perfect state of flow.
Sadly nowdays it's very rare that I find myself in such scenarios. But when I do, I literally don't need to sleep at night.
Isn't it essentially a isomorphism of Schlep blindness?
Obvious answer: move to the next class. Repeat as desired.
Accusing people of being "arrogant" is a cheap way feel righteously indignant at the expense of someone smarter than you. I was fortunate enough to have some very nice teachers in grades 11-12, who complimented me on my intelligence and didn't try to take me down a notch for the sake of their own egos (nothing wrong with the teachers below grade 11, these issues just didn't come up as much at that time).
I studied mathematics as an undergrad, and later got into programming. Now I do machine learning as my job, and study dependently typed programming languages for fun. If you like mathematics I highly recommend Haskell and Idris (or Coq or Agda, but I found Idris them most approachable, as a programmer). In 50 years I think everyone will be using something dependently typed languages (or some other kind of language that is also fundamentally different to existing languages).
But fundamentally Idris is theoretically more advanced than Haskell. The core differences are
1. Idris functions can be proven to terminate (if you choose).
2. In Idris, types are first class values, and you can have dependent functions: functions whose return type depends on their input value.
An example of something you can do in Idris and not* in Haskell, in Idris you can define a vector type Vect n a, which is the type of vectors of length n with values in type a. You can also define Fin n, the set of integers less than n. Then you can define a function index : Fin n -> (Vect n a) -> a which takes an integer less than n, a vector of length n with element of type a, and returns an element of type a. This function is guaranteed to return a value, because the index is guaranteed to be in the correct range.
*For some meaning of "not": you can probably do this in some way in Haskell.
There are a lot of other differences between Haskell and Idris, though. Totality is a pretty big thing, and Idris is also strict by default. It also has support for proof tactics, which I don't see Haskell getting anytime soon.
> This means that whenever I call this function, I need to provide together with a and b a proof that b isn’t zero.
What might such a proof look like? And is this supposed to work at compile-time?
On a related note, my high school had an Advanced Placement English class offered to students selected by previous semesters' English teachers. This option came with an unfortunate snag for all students enrolled in the French immersion track: both the AP English class and a required French class occupied the same period. We were frankly offered the choice to stick with the French immersion we'd been part of for more than 10 years (having started in kindergarten), or to convert to the English track by dropping all French-language classes entirely.
Yeah, the AP class that year was quite small with not a single person dropping the French track. It turns out that people enrolled in the French track are much more likely to land placement in AP English, as being fluent in more than one language steers a person into understanding and appreciating languages more than someone immersed in a single language. Such a ridiculous scheduling blunder by the administration; just the memory of not being part of that class more than 10 years ago makes me sad.
[1] Having grown up in North America where it is common to refer to mathematics as the singular "math", it is still weird to type "maths" even after having picked up the habit a few years ago.
Maths is also singular, it just ends with an S. (People who say "maths" say "maths is my favourite/worst subject", not "maths are")
I tend to find only one use case where I find a plural form simply appears more natural: prefixing it with "the", as in "The mathematics necessary to explain the universe are complex." Replacing the "are" with "is" just does not sound right. Funnily enough, the natural pattern with the North American "math" becomes "The math necessary to explain the universe is complex.".
Damn you, strange collective noun.
Heard about research? As long as the problems you solved haven't already been solved as well by others, you can certainly make this your living.
I thought I was absolutely the worst person in the world at math. Turns out, crappy teachers and a teaching methodology that is diametrically opposed to one's optimal learning style count for a lot in school.
However what was amazing to me was how I went from zero confidence in my math skills to actually being excited about math when I took geometry. I never studied once in that class--just absorbed and immediately internalized what the teacher said. I could look at a proof and it just sort of visually made sense to me and clicked and I could step through it because of the pattern recognition. To this date I've never experienced anything intuitive in that fundamentally primal manner.
What has been great lately is Khan Academy and a growing interest in teaching myself software development has rekindled my interest in math. I also owe a huge debt of gratitude to Kalid @ BetterExplained.com (he frequents HN) for getting me past my fear that higher-level maths were beyond my capabilities. They weren't--I just needed to find a way of applying them in an intuitive manner that I could easily internalize vs. staring at equations and their definitions.
I wouldn't be surprised if I would have ended up as an engineer if I hadn't had such a poor experience with math when I was younger. I am pretty resentful of it. Fortunately I can take steps to change that, and I am.
I don't know if I made a difference in that regard, but it appeared to help bolster their confidence in themselves a little. Educators should do more to reinforce their students and help improve their passion. The state of our K-12 education system is horrid overall here in the US.
Absolutely. I studied CS, failed at Algebra and Analysis and decided to drop out. Perhaps I lack the talent/intelligence but I've definitely lacked a good math experience in school and tutors at university haven't been helpful at all. Now I am doing my masters degree in business (with little passion for it and mediocre grades) wondering what I am going to do with that degree. I still dedicate my spare time improving my programming skills but only occasionally find time to make significant progress.
Git seems like an evolutionary step tovards something more intuitive and efficient.
And yet, there is something to Devops Borat's quip that in 1990 entire Internet fits in head, but in 2012, just git no longer fits in head. (paraphrased)
If I go into Google Docs, I can watch different people edit a document at the same time and nobody is really thinking about version control. I think software development should be the same way.
But mostly, git solves a different problem. I find it incredibly useful on my own one-person projects, because it lets me explore forward in numerous directions, branching as I go, and easily roll back and move forward again.
> the whole enterprise - just seems so stupid & futile
Why do you think that? I'm a programmer (who enjoys the challenges of learning new languages (currently Elixir, which is sweeeeeet), coding maintainable code, as well as debugging) and don't think that. Sure, most if not all of my code "out there" is going to get thrown out before another decade passes, but what other job lets you create vast information machines using just your mind and fingertips?
However, I think the only reason I was able to enjoy learning programming was because of how adept I already was with computers as a "power user", because it gave me the physical skills and conceptual underpinnings required to appreciate the field.
To me, this raises an important question.
If you lack the physical skills or are a novice in a field, it can be frustrating or intimidating to learn even if you would otherwise enjoy being competent. For example, learning to draw: should one accept their dislike of basic beginning drawing practice to imply that drawing is not an appropriate vocation for them? Difficult question; probably depends on the person. The only way to know if you love drawing at a competent level is to reach that level. In a sense it begs the question: how can you tell if you will enjoy doing something until you have the ability to actually do it?
I don't think there is an easy way to solve this problem; you simply have to put the effort into practicing new things even if you don't enjoy the practice. That's where you get into willpower, commitment, etc. My experience of the world is that you simply cannot expect to be successful by only doing things that don't feel like work; sometimes, you have to actually do the work.
A typical month, for me, has probably 5% exciting programming work. The rest is just tedious churn that you inevitably have to do to support the exciting bit.
I found myself wondering what a person might have to change to be able to up the exciting work to 10, 20 or 30% of the work-month.
At my last job, I was brought on into a role of leadership and immediately had all of it usurped by my boss (formerly doing my responsibilities) upon my first couple of this-is-unexplored-territory-so-I-stepped-on-a-rake mistakes. Looking back, I was checked out by April (and I started in February).
"Checking out" for me is hard to see until I'm not checked-out anymore. I can't even feel it in the moment, because I still like to argue and I still want to do capital-R Right, but my brain stopped really working for a while. My mental health followed. What few good projects I did and was proud of felt more like the work of other people (even though in retrospect I more than carried my weight) or were things I built out of spite to prove that, no, I really did know what I was talking about, jerks.
Of course, they're not jerks, and I'm friends or friendly with even the folks in my management chain now that I no longer work there. (Getting a 50% raise to leave didn't hurt.) But I can't be a meat puppet, it's not in my nature, and I feel like that's the case for most of the really really good programmers I know.
Yet I do it for a living, because building things is incredibly satisfying. Ya about 90% of the time I'm kind of bored, but actually finishing things (useful things!) makes it all worth it.
Interestingly I found that I have the same feeling in other endeavors. When I remodeled my house I found construction to be just incredibly dull. But man, the result was absolutely worth it. I don't know if I've ever felt more satisfied with anything.
personally, if I find something dull for a longer amount of time, there is no way I could push through it; luckily, in programming, if something is dull, you either don't have the creative freedom you need, or you have chosen the wrong abstractions (which leads to the fun task of looking for better ones :-))
It's a personal crisis...
Hmmm. After a decade of running, swimming and circuits I still detest them every day just as much as when I started.
The key might be that one can only enjoy activities that are done purely for whimsical reasons.
I dunno, I enjoyed all three from the get-go. Ballroom dance I suspected I would enjoy, but it took me a while to get to the point where it wasn't just work to do it (even though I enjoyed watching it.)
I know plenty of people for whom those things are flipped. I don't think "what you can enjoy from the get-go" and "what takes more time to learn you can enjoy" is constant from person to person.
Only recently have computer proofs become somewhat accepted. The holy grail is still to find simple proofs to interesting problems to enlighten people.
that was me when I picked up my first K&R book in elementary school. It was interesting and fun.
My early education in programming followed a similar pattern, actually. I'd actively pick the brains of any teacher in high school who gave off even a hint of understanding programming or anything related. Once I'd learned everything about digital logic and did all I could on the broken Heathkit boards, my electronics teacher bought a computer for the electronics shop and let me take over his office just to get me to stop bothering him. I also resurrected a 2400 baud modem and hooked it into his local phone line. Actually, I didn't tell him about that, or the fact that I was hacking into the local university to have a poke around gopher space :P. I got some Motorola manuals, and wrote a book on assembly language programming, which I handed in at the end of the year instead of doing the regular assignments & exams.
There are many things to be passionate about. It's just a matter of identifying which ones resonate with you, and making the time.
I have had such a realisation few years back, which I neither was able to put into concrete words, nor did I take it seriously, until I have read yours.
Growing up, I used to love drawing as a child, but later I started to become indifferent towards it and my skill started waning leading me to wonder if I simply disliked it or was just not so good at it. Unbeknownst to me I started practicing in hopes of becoming good enough at it to be able to do better programmer art work for my games. I became reasonably good at it and only then was I able to reason out that my indifference was because programming interested and intrigued me far more than drawing ever had.
This is 100% spot on. I came to programming in middle school with not much more than average knowledge of using a computer. I could fix the family's wifi, but had never touched a command line. So I had to learn all the underpinnings of a computer at the same time. I enjoyed both immensely, but at times it was tedious, and I had to push through that to get to the parts that I now really enjoy.
I know a lot of people that have quit, deciding coding wasn't for them, when they hit those tedious bits of understanding a file system and command line.
It's just like getting through the phase of learning an instrument where you have to struggle to remember chords and where notes are and build muscle memory. I don't think most musicians enjoy that part, they enjoy the creativity that comes after it.
There are plenty of activities I can enjoy, and some, quite a few of them in fact, are profitable.
Once you shoe-horn them into the power dynamic situation of a traditional job (with the bureaucracy that entails unless you're dealing with Actual People as opposed to corporations), suddenly a lot of the luster disappears.
As a ridiculous example - I enjoy reading. It's not really work at all, right?
Ask me to read 9am-5pm and I'd start to find it frustrating. Or add in a commute, or very low pay.
The actual job itself is very rarely the issue for me. It's what you miss out on, and also the fact that it invariably involves submission, acceptance of being subordinate, etc.
edit: To be clear here; I'm not talking about work ethic in the sense of 'pushing through something you find difficult'.
More the general idea of not wanting to be a part of a machine, a construct that you don't agree with. Large corporations and their 'policy documents', for example. I don't want to work for a company in which my boss doesn't have the autonomy to speak to me as a human being - this stands regardless of whether my job is backbreaking labour or eating chocolate bars.
I haven't thought of anything yet.
Left to my own devices, I'd probably spend 100 hours one week programming, then not touch a computer for two or three weeks, reading or building something or doing stuff outdoors instead. Lock me down to 40 hours every week, even weeks when I'm not in to it and would rather curl up on the couch for hours on end with some math books and a notebook or marathon-watch some Criterion movies or go camping with my family or whatever, and any fun I was having in those 40 hours will disappear fast.
It doesn't matter if the thing I'm clocking in to do is play video games of my choice and in the way that I choose, even—I'll be ready to not look at a video game for the next year within a matter of weeks.
That's not to say that I consider all work equally bad, but I'm probably not going to love anything at 40+ mandatory hours every week. The only way I can imagine enjoying that many hours on the clock is by splitting it between at least two very different things, like programming 4 hours/day then carrying heavy stuff at a construction site the next 4 hours, and even that might not do it over the long haul.
For me it's not so much the absolute requirements (i.e. 8 hours a day, these specific hours, can't do anything else within that time) but rather the subordinate aspect of having no control over that. The way in which it's just the only option for seemingly _no reason_. It's totally arbitrary.
I'd love to work a job where I could say, choose three days a week to work (or alternatively have 100 days holiday, restricted to not allow huge stints off) and receive 60% of a reasonable salary.
Even better, though less realistic, would be an MMORPG-style job in which you could choose to put in 100 hours in week 1, 20 hours in week 2, etc and choose those hours whenever you wish.
Self employment comes close if you're not dealing with megacorps, but you still run into the problem that clients may not want you to just disappear for weeks at a time.
I liked this part especially: "For me it's not so much the absolute requirements (i.e. 8 hours a day, these specific hours, can't do anything else within that time) but rather the subordinate aspect of having no control over that."
I would restate that in my own way as follows:
I consider myself thirsty for life, thirsty and desirous of enjoying my life experiences. Once someone has put me under contractual obligation to 'just do x' for a significant slice of my life, its really set into motion the pendulum's swing in the other direction: How can I not, almost immediately, begin to subconsciously yearn for the day when I can live differently? Whatever it is, whether its an office commute or even a lax remote job (hard to admit in the latter case), whether I'm building widgets or contributing to a huge multi-application 'Widgetron', confine me and you all but guarantee that one day I will seek release from you. It may take years, but thats life for me.
I don't think our society has achieved ethics yet, hasn't yet demonstrably earned ethical values for itself. And freedom is a value that is even higher or more rarified than ethics or the golden rule. In place of that we have a rampant survival ethos, with bits of social status signaling / prestige-mongering thrown in. Asking for self-determination in this environment can appear at times like walking into a soup kitchen and requesting their finest tiramisu. How dare you be so bold, slave?
And yet, nothing can stop me from trying.
That's my dream, anyway. I don't think 100 years is too far out for AGI. A robust utopian economy might be a little further out...
No, it will not. Sufficiently smart AIs will be sentient beings just like you, and it will be immoral for you to keep them as slaves.
Not two classes (with or without pill), nor a history of previously unhappy robots (pre-pill), and not even potentially unhappy robots (pills run out). Only happy, working robots.
Relevant satire clip: https://www.youtube.com/watch?v=Bz2-49q6DOI
Such a level of autonomy would be fantastic for a bunch of people (myself included!). The opposite extreme -- a continuous drudge of exactly 40 hours/week -- is pretty scary, because the work itself would have to be pretty mundane to be so predictably reliable. At some level, really creative and difficult problem-solving does have such burstiness built in.
But... one thing I've found in the process of matching "natural burstiness" with "externally-imposed stable output rate" is that sometimes, the drudgery is useful too. When I'm stuck in an unproductive state, continuing to do something helps to unstick me. Creative inspiration is sort of a positive feedback loop, where just taking a step (any step!) and trying something helps to fill me with ideas for next steps and alternatives. So I'm not exactly pleased about deadlines, or external pressure, but some pressure or goal (internally-imposed is best) is really helpful for me. There are still bursts and lulls but the lulls become more disciplined and useful somehow.
Of course, all of that is assuming that there's some interesting creative kernel to the work. If someone's complaining that 40 hours/week of CRUD apps is just not floating their boat... well... they've got deeper problems. :-)
I crave the freedom you mention, and it's why I loved college so much. I'd spend a couple hours a day programming, a couple hours a day at classes and doing school work, a few hours hanging out with friends, some time reading, some time as parts of different organizations, some time at church, some time playing sports etc. and I loved it. To this day I think life is best lived like that.
However, I think it's hard to find a life like that in "the real world." I wish that would change.
I heard this framed pretty well last night by someone who worked for a video ads company. "We don't look for people who are bursting with passion to work on mobile video advertising. If someone came to us and said that we'd think they were pretty crazy. What we do want is people who are interested in solving interesting technical problems, and mobile video advertising just happens to have a lot of those."
In one of the economic courses I took, the Professor posed this very question. Apparently Karl Marx had also opined along these lines - how would a society incentivize someone who only likes to build sand castles ? He can't monetize the sandcastle because the waves wash them out, so he just builds another one & another one & so on.
Sometimes I think programming is like that. You write some code in some language & 5 years later write the same thing in some other language & then another 5 years later...I am pretty sure much of the Scala I write these days is simply something I've written in my early teens in QBasic. We're just building sandcastles that time will wash off.
Finish after your children leave school? Money -> childcare. Can't get time off to cook for yourself more? Money -> restaurant meals.
Small stuff. Office located in a stupid place like downtown, forcing _everyone_ into a silly commute. Lack of parking spaces.
Yes, with a high enough salary, you may be able to move downtown.
But is that actually a replacement for a small-ish home with a yard, a drive, potentially a garage, etc?
Of course not.
I don't think it's necessary for there to be a choice between 'live downtown' and 'live far out but have a horrible commute'.
As far as I can tell, lots of 'business-to-business' style companies don't need to locate their office right in the centre of town. Neither does a dev shop that doesn't have retail clients that walk in on foot.
But they do, a lot. Why? Am I missing something blindingly obvious? Zoning laws? Owner can afford a mansion around the corner so doesn't care? It's a mystery to me; it really is.
If you can even afford it, it'd mean living in an apartment or sharing a place. And probably renting - the UK rental market is a nightmare in my experience.
Fine if you're doing it out of choice or prefer it, but when it's basically a condition of employment, it's too much of an encroachment upon home life to me.
I love having a garden. I like having the space to tinker with a vehicle. I like my home to be in a reasonably quiet area not buzzing with nightlife, and so forth.
Like I mentioned in the other post - many probably see it as an entitlement issue, but I think that's fundamentally flawed. I don't think it's wrong to believe that you should be able to control the time you spend outside work.
For a while I managed to get by in life by exercising what I can only really describe as thought control. I figured that if I could just adjust my desires, I would be happier. If I learned to enjoy things like sitting on a stuffy train and marvel at the fact that I'm flying through a tunnel, that would be the path to success.
Nowadays, 'success' has left the financial realm, mostly. I just want to get by and do the things that are precious to me. Life's too short, we deserve more than to throw everything away for work.
What will endure?
It's that for me, and I'd very much like to know how to handle it.
The very same task done 'just because I like to' turns from ecstatic moments of crazy productivity to total misery and physical feelings of sickness when it becomes a job or an obligation. And it's not even on a System2 level. I'd really like to like work. I just can't force my body and subconsciousness to like it.
It keeps dragging me down not only financially but emotionally. It's very destructive to my feeling of self-worth to see how given all the skills I acquired through 13 years of coding I still can't get myself to be productive at work, to get peanuts while during free time I'm mentoring inexperienced programmers who earn 3 times as much as me.
(not that I care that much about the money - but I have people depending on my support and it'd be nice to stop worrying about cashflow for at least a moment)
Coding gives you a lot of literacy beyond simply writing code to build systems; perhaps those skills could be applied in a slightly different direction, from SRE to teaching to writing a book (personally, writing's one of the things that turns into a chore when it's for money, but you might be different!).
The other thing I might consider is teaching. I did a few gigs teaching basics of graphics tools to various people and though stressful at times, they went pretty well. I have a knack for explaining things, and I generally like people and talking with them. Tutoring also pays pretty well.
Some people would probably call it 'entitlement', but I'm not really sure that's an accurate description.
As an employee, your role is essentially a permanent state of brown nosing. First of all you must convince a rich person/company that you are worthy. Then you must convince them that you want to work for them, that they're special, and so on. And then later, you must defer, every single day. Ill? According to policy document AED, page 5, section b, one of your eight sick days will be deducted, worker drone!
It's not enough to simply perform a valuable function for society. You need to be subservient and defer to authority - you are worth less than your betters (those with wealth) and must please them in order to eat, in order to shelter.
There are a few ways left in which you can directly serve other humans and profit via such - private entrepreneurial services such as window cleaning, antique dealing, etcetera - but these make up a small portion of the employment market today and are often subject to ridiculously overbearing regulation. The vast majority of 'jobs' in the Western world involve being directly, by rank, inferior to another human being.
Other people seem much more capable of dealing with this than I do. Often I find myself resenting others for putting up with the more ridiculous aspects - it feels like a betrayal, that if only people were better human beings and less likely to defer to authority we could all have a better experience.
This is the struggle I face, really. Physical trauma I find very simple - the emotional aspect of actively taking part in a system that I despise is much more difficult.
I'm passionate about a few things, but none of them include being told what to do, then having someone take a large cut out of the value I produce.
Edit: I'm currently researching alternatives to traditional corporations, like worker owned cooperatives. If you or anyone reading this have ideas or want to talk, my emails in my profile.
Yes, exactly. I personally don't have a problem with being subordinate and receive tasks to do. But if asked that question, my answer would be just like yours. "No, I'm not coming to your place because I care about things you do (I probably won't even know what you do until day 1 of my employment anyway). I need to slave my life away somewhere to provide food and shelter for myself and people dependent on me, and your company just happened to ask me to accept you as my slave master. I have tons of my own projects and ideas that are million time more interesting than what you want me to do here, but money doesn't grow on trees.".
But of course I can't tell that to a potential boss. I need to dodge the question with "I'm a passionate programmer who loves spending time coding stuff, and I'm looking for interesting projects, which your company seems to have". Or something.
I'm increasingly thinking that maybe I should find some mundane computer work, automate the hell out of it without telling anyone, and use all the free time I gained by this to do my own projects. That way company gets the service it wants, I get paid for it and don't feel sick all the time. Win-win.
And then understand that money is nothing but frozen time and productivity. It's among the most glorious of inventions. I can work my ass off when I'm young and able to stand it, freeze that effort via money, and then expend that value when I'm 73 and no longer able to work. Absolutely brilliant.
There is no escape from having to possess something to trade (skill, time, money, objects of value, etc) in order to feed yourself or have shelter, or have clothing. Stop torturing yourself by wishing there was.
The only choice you have, is how you burn your time. You can be a 9 to 5 low wage worker; you can be a 9 to 5 high wage worker. You can be an entrepreneur. You can try to lead a basic life as a farmer. You can get rich, and then spend your remaining time doing whatever you want with that vast sum of frozen productivity.
However, you are probably right in saying that one shouldn't tortute oneself thinking about all this. It is unlikely my thoughts or feelings will change anything, and the only option left is to work hard to become a part of the system.
The native would probably disagree with the `unclaimed' bit.
Yes, trading value must be necessary in a system with scarcity.
But most of the things that make work a struggle for me are simply not necessary at all.
It's not necessary to have nonsense like a few weeks of holiday. The UK is far better than the US in this regard and still we get only a few weeks.
It's not necessary for there to be ludicrous entrenched inequality, which results in most employment being with a mega corporation.
I could go on but I lack the energy, I've had this discussion too many times to count.
The issue is the way in which the system seems artificially set up to benefit the rich. In the UK homes are unaffordable for most of the population now in a way that wasn't the case a few decades ago. That means that the idea of saving for retirement is a total dream for anyone other than a tiny elite of workers.
Which our system is becoming less and less like thanks to automation - so at this point I really hope that people will drop this stupid meme that "everyone has to work" and push towards basic income. I'd provide much more real value to people around me and worldwide if I didn't have to worry about money that much.
Also, many (if not most) of the jobs related to tech sector, and especially web development, are bullshit anyways. We're cogs in the machine of advertising, which is a) harmful to society, and b) powered by negative feedback loops that can suck in infinite amount of labour and resources for no value to show.
You can instead choose to live in a slightly different system that only overlaps the "system" in a few meaningful points. You can, for instance, avoid going in to debt or living beyond your means, allowing you to live for a fraction of what your peers require. That would let you work less. Like months per year less in order to cover your expenses.
That would give you a lot more freedom to pick and choose better gigs from better employers. Better still, could choose to program computers for a living, giving you the advantage of a much higher bill rate than most folks in that "system", as well as the option to do all you work remotely for clients you've never met face to face.
So yeah, sell your time and soul, but only tiny fractions, and on your own terms. That's one of the cool perks of this career you've chosen.
To sound less arrogant I normally explain my dislike of employed working by arguing, that my work amasses capital for others, who receive interest on it, followed by a sermon about how people do not get exponential growth.
And if you possess that and still can't stand the status quo, you get to invent a new one: start your own thing, and do it your way.
I discovered very early on that I was incapable of working for other people, for numerous reasons. So I figured out how I could arrange my life so that I wouldn't have to ever work for someone else; and of course, there were trade-offs, but they were worth it.
For example, a lumber will chop down trees and sell them for $5000. He changes forest into logs. A house builder will buy those trees, and then take the money he has saved and pay someone to make the planks, another person to nail them, and another person to do all the other things needed to make a house. This person changes some wood and metal into a house.
He will then put this house on the market and someone will offer him $30,000. His total cost was $15,000 and by selling this house he has paid back what he invested and has an additional $15,000 he can reinvest.
This person made more money than you (the laborer) because he changed more things. He changed some wood and metal into a house, while you simply changed wood into a plank as directed by him. Sure, he hired you and 3 other guys who technically did all the work. But this is a situation where the sum is vastly more than the total of the parts. You were the cogs in his "house building system".
If you don't like where you are, figure out how you can change this world more so than how you are now.
An HNer who commented below said one other possibility is finding work you're overqualified for, which can be an option, too. This would allow you to do non-challenging work while being able to challenge yourself in other ways in your off time. If you combine this with working online, you may find it to be the solution to your woes. I often say, "I don't care what I do, per se, I care about what that work situation allows me to do" (in my off time, in how I control my time, in where and how I can live).
The thing is I guess they're both right! But now you know why you dont need to worry about why your coworker is grinning in the seat next to you. He/she is viewing the same circumstance very differently. Maybe over time your view can change to (mainly because you seem so unhappy with how it currently is)
I actually used to have that sort of viewpoint to a huge extent. I remember vividly thinking when starting University - there are so many other people begging to have this chance, I was the lucky chosen one, I should revel in it (I had a relatively poor upbringing).
Fast forward a few years and it's all coloured by what I can only describe as... 'seeing too much'. It's like an odd, less severe, less violent form of PTSD. Everything is tainted by the knowledge that my privileged alma mater is, predominantly, a way of signaling membership in the upper/middle classes.
The knowledge that if I manage to secure a job based on my education, mainly I've just circumvented the barrier to entry, met the arbitrary requirements, etc.
The way that the employment market is basically a race, but with real consequences. Coming second in the 100m sprint might be emotionally scarring, but coming second in the job interview might mean starving, having to sell your possessions, having to spend weeks 'wasted', unable to learn due to struggling to meet basic needs, etcetera.
And?
Why is that bad?
I finally had to leave corporate life for good. I discovered that what I do compulsively, other people compulsively avoid, and so I marketed it as my special skill. I also had to choose a field that encourages churn, so that I could be competitive as a freelancer. Eventually I found a job with an institution that gave me more autonomy than I would ever have in the corporate world. Ironically, my commercial skills have helped protect me from institutional politics. But I may get sucked in by ambition.
I think the perception that it's "submission" is a framing problem. (s)He has his problems, you have yours. You probably don't want his. I have at times gotten way too close to being the boss; I don't want it unless it's a very narrow situation.
If it's actual submission, then I can't help you. I just don't last in those.
My boss gets my respect and dare I say - loyalty ( far as it goes ) - because I sympathize with the sort of insanity (s)he is likely dealing with. If you think of things as an opportunity to serve others, your own problems melt away, and you got to score a few points against the dread lord Entropy for the day.
"What can I do to help?" Even if it's ... ludicrous, Panglossian even, it's the best way to keep the stiff upper lip and make the best of the day.
I am thinking that Mr. Mark Twain had something to say on this subject... what was that book?.. ah, "Tom Sawyer". Something about a fence...
Unfortunately this was for a casual job alongside my undergrad (i.e. not enough to pay the bills in the real world).
Otherwise - 'The Boss' is not an actual person. They're not my manager, they're not the HR department. 'The Boss' is a nebulous set of policy documents. Or as you say, there's a boss above a boss above a boss, and no-one that can actually be reasoned with or respected.
One day perhaps I'll be lucky enough to work for a small company without these issues cropping up, but that's been my take on things so far.
I have a friend who will program all day. He spends all his time on Project Euler. He loves studying algorithms to understand them completely and trying to devise better algorithms. This is what he does in his free time. He does it all the time because he hasn't had a job in years. My friend is probably a much better programmer than I am but I have steady well paying work because sometimes I like programming and sometimes I like talking to people and the second part helps me work with clients and co-workers. My friend the obsessive programmer for whom it is always a hobby can't hold down a job for the life of him. I hope for his sake he finds something that can support him as well as fulfill him. But the advice pg presents in this article is so trite as to be useless.
I, too, hope that your friend is able to find a happy niche for himself.
Some programmers are engineers: they deal with the world as it is -- messy, inconsistent, evolved. They are good at debugging, because they are in tune with how things actually work (not how people SAY they work.) They like trying things before reading about them.
Some programmers are philosophers and mathematicians: they like to consider things from first principles, read a lot, and build up systems in their head. They make huge breakthroughs because they question fundamental assumptions. But sometimes they over-model things and ignore how the world actually works, in favor of "elegant" ideas. They may not like debugging because it is often dealing with other people's broken assumptions (i.e. legacy code), and not any real fundamental idea.
So PG clearly seems to have the philosophical bent and has made breakthroughs. But if he really likes debugging, then that means he comes at programming from BOTH the engineering and philosophical traditions, which probably explains why he's a great programmer. (I just stumbled across a copy of ANSI Common Lisp at work -- looking forward to seeing his style more closely.)
I think to be really good at something, you have to understand it in two different ways. Same goes for being able to write code from scratch (maker perspective) and being able to hack into it (breaker perspective).
Although, I have to say, there is a big difference between debugging your OWN code and other people's code. Not sure if anyone likes debugging typical enterprise code. :)
I do think that most people have an natural disposition toward one way of thinking, and trying the "opposite" way of thinking is a great way to improve.
I'd bet PG is neither INTP or INTJ; he seems like ENTP. An introvert isn't going to start something like YC where you talk to hundreds of people, and manage hundreds of companies.
P vs J or perception vs. judgement doesn't quite characterize it either. I'm specifically talking about a way of approaching the work of programming. A big difference is that MBTI is supposed to apply to the entire population, where I'm just talking about programmers -- less than 1% of people. I think it's possible to describe/categorize the smaller group more accurately.
I'm not talking about P vs J, more like Ti vs Ni
Ti-Ne - Approach problems from philosophical first principles
Ni-Te - See reality for what it is and bend it to your purposes
"When I was in college I used to write papers for my friends. It was quite interesting to write a paper for a class I wasn't taking. Plus they were always so relieved."
Yikes. Really?
For me, I can get frustrated when I'm coding and can't figure out a bug right away. But on the other hand there's nothing I enjoy more than spending N time trying to understand what's going on, solving the problem, and feeling a spurt of elation at succeeding at my task. I'm not sure how people who don't see it the same way could handle that kind of work.
With that said, I do think there are areas where even if you don't initially enjoy the activity, you can come to appreciate it and eventually enjoy it.
Bad management -> bad design decision and poor resource allocation -> blame those lower on the org chart than you -> pressure to "just get this fixed and out the door" -> high levels of technical debt and programmer "burn-out"
And before you go into you don't understand their constraints and so on, this applies to people who you fully well know their design and time constraints, yet still do the wrong thing while you haven't under the same constraints.
It's the whole 'hell is other people's code', and 'let's rewrite this piece of shit' tropes that programmers go through.
But one of the main things with debugging is identifying the actual bug. Once the bug is identified the challenge is partly gone, or changes.
On a couple of teams I fell into the role of "team debugger", helping everyone with whatever was broken, and those have been my happiest times.
Yeah, I could share/blog/tweet (and I do, but not much) but often the things that are interesting later aren't things I share right away. Still trying to solve that problem.
Among many others, I managed to positively affect my company this way by pointing my boss in the direction of good solutions and clarifying which of his ideas are actually feasible.
Of course, for a lot of people uninterested in tech and programming, reading HN would seem like work. And, for many tech people, socializing also seems like work. So I guess it's a matter of what group you're comparing against.
Oh, and trading I love trading. All kinds of trading. I've spent many many nights trading items in various games. Oh, and programming a bitcoin arbitrage trading bot was super fun.
Hmm, it was good thinking these things over I guess.
I discovered early in my life that by changing the perspective of a problem you could transform something dull and tedious into something exciting and highly interesting.
For example , when I learned to visualize mathematical problems I become much better at solving them.
Mindmaps, and memory tools can make someone who struggle(and suffers as for example when he does not pass an exam) in something to fly around it.
I had a history teacher that went to wars in his youth as a news reporter, learned languages and traveled the world, studied history by correspondence(from a distance University), went back and settled with a young lady as a teacher.
History for us (the class he teached) changed forever. It was not about words on paper, but about real people, real places, interest and fights, and winners and losses, consequences. We saw photographs of the victims of the wars, some of them taked by him,the stories on how politics and decisions affected their lives and their families', other pics taken by his friends.
After that course, even with completely different teachers History was so easy to study, to remember.
About debugging. I believe the best programmer is the one who hates so much debugging that is able to work terribly hard in automating it and not have to debug EVER again.
People who loves debugging is a problem for me. I want things so well documented and well designed that debugging becomes almost non necessary.
The fact that people believe it is ok to have crappy documentation, crappy design, and spend months trying to catch problems(because they enjoy it) is a misfortune.
I like debugging, it can be incredibly satisfying.
What if acting doesn't feel like work? Playing soccer? Hiking? It's extremely difficult to make money doing these things. "Follow your folly" career advice can work, or it can just make people feel terrible because they realize they're doing things they don't love because they can't make money doing the things they do love.
For example, I always loved theatre and plays but I was told in young age that it's very hard to support comfortable life as a thespian (unless you are breakout success); so best not to take that as a career even though it may really work out for you.
I don't mind writing. I don't mind public speaking. I don't mind grappling with tough problems. I don't mind working alone. I don't mind being indoors.
I do mind physical labor. I do mind cold calling. I do mind having to worry a lot about people's feelings.
If you have different preferences from mine, then you probably should also be in a different line work.
If you do know of something which doesn't feel like work to you, but does feel like work to everybody else, there's indeed probably something there. But if you don't, it may be possible to create such a something...
If there's one thing I regret, it's not knowing about that something at a young age and letting it mold my life, decisions, and motivation. At 30 I've got nothing but a track record of jobs I hate.
Building mechanisms of course implies some core problem (i.e. how to model what you need to solve and how to compute the result) and interfacing (how to run that thing at all in a physical computing environment and how to talk to all the other), but those don't raise up as major appeals. One or both can even be trivial and I don't get bored yet.
The play of ideas and experience and using those to build something that works is highly enticing. So, the more I gain experience, the more rewarding programming has become, which in turn gives me more ideas that I try out or problems that I try to solve, which accumulates the experience, and so on.
The most boring part of programming is often interfacing. This means anything from negotiating with other people/teams to learning obscure one-off APIs just to get the juicy bits running.
The actual problem (think in terms of maths or CS) can sometimes be interesting but not necessarily per se. Rather, a tricky problem can serve as an excuse to build a very complex or advanced mechanism.
Debugging is just pure fun. It's like trying to find out that slightly loose part in the transmission of a car that sometimes makes the 2nd gear a bit difficult to engage. Debugging happens when the mechanism is mostly built but not yet completed. You can almost see it working, sans a few problems that you know are there. It's hard to imagine sources of greater motivation and mental satisfaction than debugging.
to be honest i think i only enjoy writing software about as much as the next person! can we be honest that it's an absurdly good job currently?
The "next person" completely dislikes it. Almost everybody with such twisted tastes as to like creating huge incomprehensible orders to machines is already a programmer.
(I have a bit of a thing for grating cheese - I find it strangely therapeutic.)
When I was an undergraduate, a lot of my peers who didn't have a similar CS background struggled. I experienced this myself when I transferred into the mathematics program. I never had a serious engagement with mathematics until I was in university.
I think reaching the stage where an activity becomes natural requires a serious personal engagement. That is, you have understand the questions which guide the activity (your interests have to align) and you have to have the freedom to ask and answer your own questions (being able to solve your own problems). The activity has to become personal in some sense.
I also really enjoy the process of understanding things in general - figuring out the important/disparate parts, determining how they link together, exploring connections, etc. Once I understand something all of the possibilities hidden in that topic are open to me and my creativity.
But I'm terrible at taking time to create things. Once I have the solution it is very difficult to find the drive to actually continue and build on it. It's always a slog, as if I were a kid being forced to eat vegetables. I think I'm slowly improving, though.
I built electronic parts for Westinghouse's Nuclear Reactor Simulators (near Monroeville PA) in the mid 1980's. There were a ton of intelligent people working there and since every reactor built had to have an identical training simulator, there was quite a bit of knowledge required to make the systems realistic. Sometimes simulating the required behavior of a nuclear reactor was more complex than what occurred in the real reactor (simulating the pulse shape and randomness of a Geiger counter or driving a synchroscope with hopped up audio amplifiers).
In any case, those guys provided a lot of on-the-job education for a young engineer ... thank your dad for me as I might not have interacted with him, but surely some other "youngster" did.
For example- I knew from an early age that I liked tinkering around on computers. However when I got to college, I found programming monotonous and boring. When I worked as a software engineer for a large boring company I hated it even more. To the point that I actually quit and switched careers.
Then, a few years later I discovered Ruby on Rails and development on a new Mac. These seemingly small changes to a new environment rekindled my love of computers to a point that I spent nearly every weekend for three years teaching myself Rails. I remember one weekend I flew to a bachelor party in New Orleans and all the way there I read a book on Rails. It wasn't work anymore, but a hobby that I truly loved.
This is not to say that everyone is cut out to be or will enjoy being a programmer with just the right tools. However I think a lot of people take a first glance at something and give up on it without having a comprehensive understanding of the reality of doing the work in an ideal environment. To this day it annoys the hell out of me when non-technical friends ask me questions about coding as if it is some awful task that has to be done- "Why would you ever want to do that?" These people never actually have tried it so they don't know what is actually involved or whether they might actually enjoy it.
Recently I thought, I have to do something with this and I started a Drupal system for searching locally cultured vegetables for sale. It was fun in the beginning but my wife is a designer and pretty soon I was editing CSS all the time and I completely lost interest. It felt like work. I left it in an ugly, unusable state.
Still, I keep setting up servers with the occasional blog with some articles if my attention span allows it. Who knows what I might do with it some time. I have this vague vision of setting up a web services company with CMSs for sportsclubs but that will come with paper work and I know I will regret it. I have a nice job as a biophysicist by the way and I get to play with large Linux clusters from time to time and I try to take those chances as much as possible.
Some things just start feeling like work as soon as they become work, as soon as there are any milestones to catch or things to finish. To me things feel like work if I can't just quite half way into a "project".
People hate programming when they do it with 1000 other colleagues. The same programming is rewarding when they do it alone - since, that lets them do things that no one in the world is doing.
That may be true for startups in general. Doing startups seem cool since only a handful (<10%) of total population is doing it. If everyone starts doing it, it may not be as cool.
Even the artificial deadlines can be fun, though there is a definite cost to working an 80 hour week.
Most days are like playing, really. Sometimes you have to come into work and push a pencil, but hopefully those are rare.
Further, working with others who are passionate about what they do produces one of the most wonderful pleasures in life, as it blends deep community/social bonds while plugging into life!
Completely agree. I came across similar thing 5 or 6 years back. When one-of my co-worker called me to debug/show a problem with his website-download module to export data as spreadsheet. The data came as some junk characters,even though site-page shows proper data and db-records are fine too.
I clearly remember the following conversion.When I tried, I also got spreadsheet with unreadable chars, and I said, "nice,that's interesting!!" and my co-worker laughed and responded "what? is this interesting???"
How do you separate hobby from a potential work/job?
Creating useful things, or something that is fun to do.
Making something come to life, a product, a character, a moment, that people use or enjoy experiencing.
It could be in programming, art, a system, a product, something digital, something physical, anything useful that removes part of the monotony of life, reduces drag, and improves the thrust of life.
To me a comic strip, a rocket ship, a new game, a system that takes away boring tedious parts of life, quality of life improvements, and anything helpful to make the day more of an adventure, are all on the same plane.
When I was 9 or 10 years old, someone (may be my cousin or my fathers' uncle) gave me a book on simple electronics (it was in my native language). That was the first time I read about P-Type & N-Type materials and some other physics. It was so fascinated to me that I used to read it all the time to understand. The book also included about very simple digital logic design and concepts like NAND Gate etc.
I didn't understood at all what it is all about. But It developed my interest in Physics and Electronics.
By the age of 13 or 14 I learned myself about soldering, creating very simple chips and some LEDs on-off work. I never learned any math or could develop any mental model about true electronics but all that work created an infinite desire to know about the nature of "materials" & physics behind everything.
My parents put me in school which was 12 KM from my village, I used to bike every day 24 KM two way with some other friends no matter if it was summer with 43 degrees or winter with -2 degrees. And I was just 9 years old young kid. I started skipping school and start searching more books like that great Electronics books. I bought many but couldn't understand the foundations at all.
That same book had chapters how you can create a sequence of LEDs which keep going on & off one after other and make some interesting visual. I opened every electronic device at home and tried to understand its chips but couldn't get at all what is going on.
None of my friends studies beyond class 8 but I kept going. I started studying physics at the age of 15 at school but it was all so bookish and memorisation that I never liked school at all.
But I studied Physics, Biology & Chemistry myself and enjoyed every single moment of that time. That was the only time I studied Sciences and developed an intuition about the scientific world.
My parents took loan and sent me to a bigger city for my Bachelors degree. But the education was so artificial that I couldn't learn anything more at all. Every single book was in English (which is not my native or national language) I feel so empty & everything useless. At the same time my parents were sending me more money than they could afford.
I went into depression & at some point in my Bachelors' degree I found out about Internet & "Software". I started learning about Web Site development. I learned HTML, Adobe Dreamweaver & Fireworks. Then I learned a bit of C++ & C#. (I remember I started learning about C# in April 2002).
I got a job as a programmer in an off-shore office of a USA company. I then saved some money and escaped from that country and came to Sweden because of free education.
I studied Computer Science & developed an intense love with Mathematics (even though I'm not good in maths) & Programming Languages. Now I'm working as a Software Engineer but I have deep love with Electronics & Physics. And that all goes back to the days when I was reading that simple electronics book.
In software, I have deep interest and am decent at it. I can't say that for my electronics pursuits. I've been at it as a hobbyist for a few years now and am probably equivalent to someone 6 months into a Bachelors program. In the past, I tried to justify my electronics activities as something productive but a few weeks ago I had a minor Eureka - I just accepted I love electronics for the happiness that it gives me. I don't really care to invent something new or be productive with it.
Odd. I barely do any debugging at all. If it compiles, it's usually right, and when it's not, I just kick back and think. Thinking takes a lot more of my time than writing or debugging. Perhaps that's because I work largely by myself on those components - there is no one else's intent to grasp.
Not sure where this is going, but imagine something like the first public musician. Or the first ever commissioned artist. It must've been valuable, because someone funded them to make it happen.
http://books.google.com/books/about/Problem_book_in_high_sch...
Getting paid for it is difficult. Arguably one has to become extremely good at a particular skill which is in demand and be able to promote himself.
But thinking of it after reading the last part of the article i realized that i actually find that debugging is quite fun, i have never really thought of it until now.
People always mention things like "I was working 15 hours a day", and here I am thinking - you were counting?"
One of the best articles for understanding how loving your work is possible.
As others have pointed out, the advice is trite and often short sighted. There are many things that one may love to do that simply aren't rewarded monetarily by our current economic system.
I wish there were a way for startup founders to do what they love doing, and not what the VC/fundraising cycle tells them they should do.
If someone can solve that problem I'd be really really happy.
He basically talks about how much he loves programming and problem solving, so when the company grew, he just hired people to do the parts of the CEO role that he didn't want to do.
That said, I think startups will always be hard, for everybody, because no matter what you're good at, you will have to do a lot of other stuff to make them succeed. That's probably why the financial rewards for them are so high. Good partners can help at this, but maybe the sort of person who's naturally suited for a startup is simply "someone who likes to get good at a lot of different tasks".
> Van Atta was no more than five years younger than Leo. Leo suppressed profound irritation—he wasn't this paper-shuffler's ninety-year-old retired Sunday school teacher, damn it. He was a working engineer, hands-on, and not afraid to get them dirty, either. His technical work was as close to perfection as his relentless conscientiousness could push it, his safety record spoke for itself... He let his anger go with a sigh. Wasn't it always so? He'd seen dozens of subordinates forge ahead, often men he'd trained himself. Yeah, and trust Van Atta to make it seem a weakness and not a point of pride.
--"Falling Free", by L.M. Bujold
Sorry, did Paul just say that he helped people cheat in their college classes? Or did the professors know he was writing others' papers?
One of them for example: if I like a song in a foreign language I'm learning, I will look up the lyrics and try to translate it by carefully analyzing each sentence and using lots of dictionaries and Google searches (sometimes asking on Forums or asking native speakers in person). It takes anywhere from hours to days. It might seem to most people that this requires discipline and tenacity, but when I do it I just do it for fun.
I'm not so sure though that I would enjoy it the same way if I had to do that kind of work for a living.
I think part of it was growing up with a thesbian mother and painter father and seeing first hand how doing what you love isn't enough to feed yourself. It stings a little for other people to claim that you don't need to "work" if you just do what you love. I don't bemoan Paul Graham for his success... but its insulting.
I hate debugging (and more generally "diagnostic reasoning" in general... also went through med school long time ago), that I've actually become a "language geek", researching language after language and programming pattern after pattern in order to find strategies to reduce as much as possible the debugging work that I have to do. I've learned Lisp. I've started learning Haskell. Rust is on my "to learn" list now too. And my absolute hate for debugging work makes me research new things every day in the search for that nirvana where code that compiles always works and where you don't have to work 5x as hard to please the compiler either...