Hacker News new | past | comments | ask | show | jobs | submit login
What Doesn't Seem Like Work? (paulgraham.com)
712 points by achariam on Jan 16, 2015 | hide | past | favorite | 321 comments



This excerpt -

"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.


>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

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).


This is a bit of tangent, but I looked up Idris since I'd never heard of it. I'm currently learning Haskell and they look really similar. What differentiates the two? What can you do in one that you can't do in the other?


As practical matter, Idris is a new experimental language while Haskell is a mature, stable language with a useful standard library.

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.


Yeah, you can definitely do that example in Haskell – if by Haskell you mean GHC. GHC has been slowly but surely adding dependently-typed features for quite some time now, which will culminate in a proper DependentTypes pragma sometime soon (for some meaning of soon, anyway).

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.


I'm somewhat new to the field, so this might not be properly phrased, but isn't totality an inherent part of full dependent types?


I'm not an expert, but I wouldn't think so. To me, full dependent types just means you have pi and sigma types. I don't see anything fundamental about pi and sigma types that would prevent you from having bottom in your language, or from allowing users to define partial functions.


Although I am not expert on these things but it seems to me that Idris has better support for so called dependent types http://ejenk.com/blog/why-dependently-typed-programming-will...


This was an interesting read. Thanks for sharing!

> 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?


Yes, it happens at compile time. To understand how proofs work here, you want to look at the Curry-Howard correspondence. Basically, there's a correspondence between types and propositions, and between the values inhabiting those types and proofs of the corresponding propositions. So a proof looks like a value of a certain type.


> 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

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.


Thank you for letting me feel represented.

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.


> It is kind of childish, but I still need the "beating-the-system"-incentive to learn complex stuff.

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.


>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.


Also the abstract concept of "being useful in the future" is not enough to motivate me. "Getting better at a concrete task" is.


i hear you, but clever deal anyways. my laziness in high school definitely didn't prepare me for college. my high school geometry teacher started grading our homework after she found out i wasn't doing it, even though i was acing the tests. i still didn't do the homework, banking on the idea i'd get an A anyway. she changed the grading to make homework worth just enough to give me an A-. =\ short term thinking...


I owe my career to not doing math homeworks. School math wasn't something I cared about, but I wanted to make games so I learned programming instead of doing math problems. Ended up catching up with the math through gamedev anyway - it was very easy to learn once I cared about it.

In the end I had mediocre math grades throughout school, but learned a ton of skills I now use to create stuff.


I failed algebra one year in high school.

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 encountered many students with such misconceptions of their math ability when I taught as a grad student for two years. With many of these, it turned out they had a strong talent for it, they just didn't have a good pre-college math education. I would tell those students that they possessed a good ability at it and encourage them to try pursuing a math-related career.

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.


> Educators should do more to reinforce their students and help improve their passion.

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.


As (failed) physics major, it sounds so strange to hear someone claim to be good at math but not physics. To me physics is 98% math. It's a few empirical facts from experiments and then bucketloads of math.


There are some skills in physics which are sort of foreign to the math method of problem solving. (Speaking as a physics major)

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.


I majored in math and physics. The same kind of intuition that you use for physics you also use for math. In physics you may call it choosing a reference frame, in math you call it choosing a coordinate system. At least for me it's exactly the same kind of thinking. You hit the nail on the head here though:

> 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


Thank you so much for this; you just described my undergraduate experience in physics perfectly, especially the endless nagging feeling that something isn't quite right -- I never managed to make that feeling go away. I ended up taking a bunch of maths courses towards the end of my undergraduate and can still remember one particular functional analysis lecture on dual spaces where I finally figured out what the hell those dual spaces in quantum were about. Sadly, this was after I had struggled through and finished the full quantum sequence.

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.


> "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.

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.


Physicists seem very hand-wavey to mathematicians, and mathematicians seem very hand-wavey to logicians. If you want to learn what real formal rigor is like, study logic.


True, but a lot of chemistry is mostly math too, and I flunked organic chemistry the first time. I think its because there is some domain knowledge involved in these subjects, which you have to actually care about. I don't particularly care which element has how many isotopes and what the valency is and how many other elements it can bond with, though I did memorize the atomic weights of all the elements in the periodic table and Avogardo number and few such stats. Those things helped a little, because I was ultimately able to pass my chemistry exams just by solving the numerical stuff and ignoring the chemical stuff. I handled physics in same fashion . There's something called the distance equation, where you can express the distance travelled by particle in terms of velocity and acceleration. We had to simply memorize that and use it in problems. I forgot what it was in the exam. So I just derived it from definitions. The teacher was quite surprised, because at that stage we hadn't been taught calculus, so how did I derive it ? Well, I had solved calculus problems by myself, so I just did this - http://pastebin.com/T6PrePh8

These things helped me get by.


Organic chemistry and biochemistry are very different from physics, but chemistry is a very large field and these are just a small part of it.

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".


Aiieee, physical chemistry. That thing approaches pure evil.

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.


>> I forgot what it was in the exam. So I just derived it from definitions.

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.


That reminds me of a sessional (mid semester exam in India) when I got confused on speed of light being 3x10^8 m/s or 3x10^9 m/s. Strange are the ways of mind. I knew the relation between c and electric constant and magnetic constant. So derived it from that.


Organic chemistry is the least or one of the least math-intensive chemistry subjects at the undergraduate level.


I was a math + physics double major in college, plus I was also deeply into programming, electronics, and music.

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.


i was a physics major, too. the student in our year who was best at math had trouble with the "hand wavy" stuff we'd do. "well, this term is basically zero, so we'll just remove it" and then she'd pull her hair in frustration, like "how can you just do that? how is it still valid?"

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"


"well, this term is basically zero, so we'll just remove it" and then she'd pull her hair in frustration, like "how can you just do that? how is it still valid?"

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.


> 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.


I'm just talking about using the concept of limits as a teaching tool, not assuming a particular limit exists.


Yes, this is why the mathematicians are pulling their hair out! You can't just drop terms when you feel like it.


I feel that the right approach (at least it worked for me) is to tell the matematician - "see, this term is very close to zero for all practical inputs we can see in real life (proof of which will be left as an exercise for you), so - as you can see from the structure of the equation - we can safely drop it without introducing any significant error to the end result. Yes, the result will be a little bit less accurate; no, no one will notice. And if you happen to encounter a high-energy (or whatever) problem, you can always go back and use the full equation". Explicitly accepting that each handwave introduces errors and imprecision but that sometimes those errors are below what we can measure (or care about) should be acceptable enough for a math-minded person.


Physics is applied math and I think that is an important distinction.


^ This. I ended up majoring in pure mathematics as an undergraduate after finding out that applied mathematics courses had too much material to memorize after finding out that physics courses had too much material to memorize. Pure math was so much easier.


You and the person who started this thread seem to think that way. I find there is just as much to memorize in math. fields, rings, groups, and all sorts of things. Oh and those greek letters. I like math and physics and stuff but I never thought there was significantly less memorization in math. Calc 2 techniques of integration and then DiffEq seemed like a lot of special cases that had unique solutions we had to remember.


> fields, rings, groups, and all sorts of things.

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.


> Most mathematical objects have very similar structure and the rest is just maps (morphisms) between them.

Is there a book covering this topic that you can recommend?


Conceptual Mathematics is a good introduction to category theory (which is all about objects and morphisms) and especially well suited for self-study: http://www.amazon.com/Conceptual-Mathematics-First-Introduct...


I'm going through this book right now, and I'm a pretty big fan so far: http://www.amazon.com/Introduction-Category-Theory-Harold-Si...


W. Keith Nicholson's Introduction to Abstract Algebra covers a lot of different topics in mathematics from an algebraic perspective.


Relevant xkcd: http://xkcd.com/435/


Note that he says "I wasn't particularly good at history or physics" (emphasis added), not "I was not any good at physics." As other comments point out, there is enough to physics besides math that someone (who was good at math) could easily do well in physics without being considered exceptional.


Funny you should say that. During my undergraduate, I got almost fired from my University for being one of the top students at maths and one of the worse in physics - it was in France, a bit different than in the US.

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.


a lot of it is just cultural approach. math people tend to like to rigorously define everything they're doing, and work from there. physics is more like "what can we make up and fudge and twist and bend and then get the right answer." there's a lot of people who aren't as comfortable working in that less-defined context.

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 don't think it's just cultural. Ultimately in physics you are often faced with a pile of observations from nature that you have to make sense of. Vs math, where you usually have a mass perfectly defined err.. well math that you're trying to build forward upon.

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...


totally agree -- some of it is inherent to the endeavor of physics. but some of it is just hazing...


I disagree so much!

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 :)


Math is certainly required to understand the theory and to synthesize experimental observations into a working model, but I wouldn't put it at more than 50-60%. Most of the math is fairly basic relatively speaking, even at the highest levels of physics.


Relative to what lol. What other applied field has more advanced math?


I don't know about other applied fields but I was referring to the field of math itself with that remark.


Economics and quantitative finance.


I didn't get that far in math, but in physics classes after Junior Physics Lab , I once or twice questioned the assumptions. There's always a theorem you don't know about.

There is a lot to math.


I would say math is necessary but not sufficient to be successful in physics. Also, if somebody has the aptitude but not the drive, failure can certainly be an option.


There's a lot of physics that isn't maths - more visualising how stuff works. Feynman's quite interesting talking about it here https://www.youtube.com/watch?v=obCjODeoLVw


I enjoy math and I hate physics. :)


I think that I have a reasonable aptitude for maths and I like solving problems, but I always felt like textbook problems more-or-less consisted of plugging the numbers into a standard template. Maybe my education was uniquely terrible but I'm surprised that there are people who can blast through textbooks and enjoy doing it.


I'll agree with you on that. I enjoyed math problems, but only until I grasped the concept. Then it became tedious. I then preferred to move on to more complicated problems. Probably why I like programming, because there is always a more complex program to be made or worked on.


If you know SICP, I think it's a good example of a textbook with nice problems. My math textbook in French education system were to a similar level of quality. The first two problems were usually to make sure you understood the basic of the chapter, but the others were much harder or opened new perspectives, or used very different context. It was a real pleasure to read the textbook and the problems.


I see you and the OP liked that feature of math problems in the textbooks. I, however, disliked them completely. Here's why:

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.


Or try `The Pleasure of Counting'. A mathematical history book. (As the author says, intended for teenagers but not suited for them.)


"I secretly hate programming, debugging, programmers, git, the whole enterprise - just seems so stupid & futile."

Git seems like an evolutionary step tovards something more intuitive and efficient.


I would say truly _revolutionary_. A spectacularly useful tool.

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)


Revolutionary, sure. I just think it solves a problem that shouldn't exist in the first place. Like if we could prevent cancer, we wouldn't need revolutionary cancer medication.

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.


Maybe. (I say maybe because I could see it turning into pair-programming-like chaos.)

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.


I was just thinking yesterday, it would be cool if I could select a block of code and then pull a slider and walk back and forth just that one block of code while leaving everything else untouched. Anyway, we're way off on a tangent.


At my elementary school this was actually encouraged for students excelling in maths[1]. It was offered - but not stressed as important whatsoever - that if you completed the official book of problems ahead of time, you could begin working on the extra book(s) named "Mathimagination". If my memory serves me, there was no extra credit afforded for taking this route; rather, it was purely to keep students interested in and progressing with a subject they enjoyed and in which they excelled. I credit my teacher that year for getting me excited about mathematics, which carried on for many years.

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.


>[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")


Actually, many dictionaries specifically label "mathematics" as plural, but concede that the singular form is far more popular in practice.

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.


If you're that into math, I'm going to second the recommendation of the guy who recommended Haskell. Haskell is VERY math-y, in a way that most programming languages... aren't. ;)

> 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?


If you love math but are not so keen on software engineering, maybe data science could be an interesting alternative.


Would you say that working out those problems has given you a solid fluency in math, in that you spend little to no time now on approaching a new problem? I want to develop a strong intuitional base in math, and from what I've read solving problems is the way to go.


> 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.

Obvious answer: move to the next class. Repeat as desired.


What's with all the bad teachers in these anecdotes? I can't imagine any teacher I've ever met getting upset because of something like that. Quite on the contrary.


fascinating. You say society doesn't pay for the addiction but if you could translate a verbal problem into a solution, I think society would pay for that. I mean being addicted to solving problems laid out for you to knock out one by one.. but if somebody was trying to build something and didn't really know how to lay out the elements or variables into an equation, you could solve that and get paid.


What kind of problems do you like? There are lots of fun projects that could use some heavy lifting (motion control comes to mind.)


I remember my biology teacher being mad that I read the whole book in a weekend.

Isn't it essentially a isomorphism of Schlep blindness?


"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."

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.


Personally, I experienced this with programming. When I learned to program in high school, it never struck me as a chore; it was always just interesting and I enjoyed it.

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.


Ira Glass has some advice on the issue of when you start something you enjoy, but your skill doesn't match your taste. Push through and keep practicing until your skill matches your taste.

https://www.youtube.com/watch?v=PbC4gqZGPSY


I don't think the problem is things you enjoy but don't have skill to match your taste, the issue is identifying things you would enjoy if you had more skill, so you know where it is worth investing the effort to get over the lack of current skill.


I'd argue that sometimes you don't really know what good taste is or whether or not you would enjoy something until you've acquired a certain level of competency for it. Sports, programming and math are all like this. The more you work on them the more enjoyable they become, and you'd become a lot more "tasteful".


> The more you work on them the more enjoyable they become

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.


Programming, maths & science, etc. are acquired tastes. Not things you can enjoy from the get-go. I think many friends and family of mine would make far better programmers than I, or great scientists, but they've never had the need to venture out of their comfort zone to try something new. The age of constant distractions and an easy lifestyle is not conducive to breaking out of the norm. The things I enjoy most took me years of studying.


> Programming, maths & science, etc. are acquired tastes. Not things you can enjoy from the get-go.

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.


In my case, I didn't expect to enjoy learning Paraguayan traditional dancing, but it sure was fun and I'm glad I tried it. Like another poster pointed out, it's the hard work that comes first (overcoming the fear, or plugging away at the books), then comes the satisfaction. I think it must feel lonely being a great mathematician for example, knowing that everyone else has settled for less, and that only you and a few others have even a slight understanding of the universe.


Math is mostly about communication with other people.

Only recently have computer proofs become somewhat accepted. The holy grail is still to find simple proofs to interesting problems to enlighten people.


Thats a good point. I suppose you could use your taste as a guide to what you may be good at. But, like you said, there is that gap between investing the time and discovering if you are skilled at it.


Thank you, I'm going through such a phase (similar to a very long burnout), and this helps.


Glad to hear to it helps. I've watched this many times when I've felt like quitting.


I took on three new hobbies a couple of years ago. All of them had seemed interesting to me for ages, but I'd never made the time to explore them. Once I actually started, it was exhilarating. Practice was long and slow, but never boring. I'd spend hours at it and not even notice the time go by as I worked at a particular technique (especially with classical guitar). Things only got irksome if I indulged in comparing my new skill to my skill level in programming, despairing at the difference, or if an injury prevented me from doing it for awhile. But after a couple of years of daily practice, I've finally reached a level of competence in two of them (there just wasn't enough time for three) where I can feel satisfaction in my output, and am even willing to show other people.

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 don't always agree with Mark Cuban, but I think he makes a good point on this when he talks about the folly in the adage, "follow your passions." His point is that you should follow your efforts as that leads you to be better at something, which in turn grows your passions in it. You can read his words for yourself: http://blogmaverick.com/2012/03/18/dont-follow-your-passion-....


Even if you do not have any 'passion' for a field, I think it is important to have some kind of strong intrinsic motivation; to help people, to further Humanity's knowledge, or whatever else. Practice for the sake of practice is incredibly hard to maintain.


> 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.

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.


> 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 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.


> Personally, I experienced this with programming. When I learned to program in high school, it never struck me as a chore; it was always just interesting and I enjoyed it.

that was me when I picked up my first K&R book in elementary school. It was interesting and fun.


FYI the 'it can be learned because I have the requisite context' zone is well discussed in formal education circles. Curiosity and self-confidence: that's harder to teach, harder to maintain, harder to quantify.


This is a great point. These things are never black and white. I suppose you could argue that the pain of developing a new skill could be enjoyable to you and this is how you identify things that don't feel like work. I generally find this to be true (to a degree) for things i truly enjoy and/or have accumulated the most ability in.


Is it always intimidation, though? I find programming unimaginably boring.


I'm a programmer and I completely agree. When everything was new it was fun and exciting. I started programming seriously when I was 12 years old. By the time I was in college programming was an absolute chore.

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.


Everything new is interesting to me, that's the problem. I like building things too. So I'll think I need to make a go of being a programmer. Then two weeks later I'll doubt that and think, maybe I should be a builder / real estate developer? Pretty much everything interests me when it's new and challenging, but I'm not interested in being a master of anything.

It's a personal crisis...


thats a powerful talent to have; although there is the danger it can lead you down the wrong path

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 probably depends on the type of programming and the challenge it presents.

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.


Maybe you just need to work on something you actually care about. There are a lot of hard and interesting problems which need programmers working on them, but boredom is understandable if you are just churning out the one-million-and-oneth generic web app.


In addition to topical interest, this is exactly how I feel when I don't own something and don't have responsibilities.

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.


I stumbled a bit on the part where you said "The rest is just 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.


The times when I've gotten the ratio that high have been times when I've been learning new skills while building new things. There's something to be said to building something using that new cool new framework. Its got to still be relevant but this can definitely help. There are many right ways to solve most problems and some are more fun.


What if the idea of work itself is what you dislike?

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.


As an addition to this, I've struggled a lot with the concept of working for pay and only recently could I really begin to explain why.

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 definitely wouldn't call it a sense of entitlement. What you say though is disturbing and unfortunate and I wish I had a good answer. Imagine you buy a plane ticket and fly to somewhere exotic. Passenger in seat 11a is thinking "flying is horrible. It is a huge polluter. You're all crammed in like sardines. The airline is owned by wealthy fat cats and I had to pay $1500 for the 'honor' of being stuck with horrible food, crying babies and long lines at the toilets" passenger 11b has a constant smile on his face "I can't believe that one weeks salary + 12 hours of flying is all it takes to be in a completely different part of the world starting an adventure with unknown possibilities and tremendous learning to be had"

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)


An interesting post and one that has me questioning quite a lot.

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 yet that person who finishes second in the job interview is born in the first world and thus luckier than 90% of the world's population. Is that fair? No but it's not unfair either. Everyone has a defined position in life that dictates the macro environment. Male/female. Tall/short. Handsome/not. Educated/uneducated. In general someone less fortunate than you would want you to maximize your opportunity in life because squandering it seems particularly cruel to those less fortunate.


I feel this way so strongly. "Why do you want to work for us?" Because I have to sell my labor to pay my landlord for a place to sleep.

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.


> I feel this way so strongly. "Why do you want to work for us?" Because I have to sell my labor to pay my landlord for a place to sleep.

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.


I always think "Because I need money to survive," followed by "and your project seems like it would look good on a resume for when I apply for a new job in 3 or 4 years because you're not paying me enough anymore." Then I say "I'm excited for the opportunity to develop this product." I never told them "why" I'm excited. I only told them that I am, which is all that they really want to hear.


I'm with you. The only options I've thought of are independent employment or escaping society, both come with significant tradeoffs and neither are simple to accomplish, especially without personal guidance... I guess you could find a job you're overqualified for too, make things easy at least even if you don't get to own your time. I'm not sure that would be fulfilling either.


It gets even harder for me, when I calmly and rationally think, that I am more intelligent or could do things better than my older - age plays a role, too - boss.

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.


If you have ability / skill that is valuable, then half of what you said no longer applies.

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.


Economic activity is the process of changing things.

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.


Not really, the builder made more money because they took on more risk: they bought land speculatively, they took on a massive loan, built a house on speculation that someone will want it. Lumber took on much less risk to chop a few trees and sell a commodity that has a defined market value. Better analogy is the lumber who took on debt and grew into a massive organization that buys land, processes trees into lumber and sells wholesale. This is more of what a home builder is and there are plenty of very large, rich timber companies.


I know exactly what you mean. But that's the system we live in, isn't it? One must sell one's time And one's soul to survive. What's the way out?


Technically true. But then you only live in that system by choice.

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.


First start by recognizing that there can never be an alternative system to having to earn your way in this world. One way or another, someone's productive effort has to pay for things that get created, whether by currency or direct barter. The only alternative is slavery: someone else being forced to work to fulfill your needs, for no compensation or trade.

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.


I feel it is not true that there just cannot be another system. For a long time, there was such a system: homesteading. You could head out into an unclaimed area of land, stake out a piece, and live off it. It is quite recent that ALL land and capital has already been staked out, and that you have to live off the capital given to you by others if you perform chores for them.

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.


> You could head out into an unclaimed area of land, stake out a piece, and live off it.

The native would probably disagree with the `unclaimed' bit.


I disagree.

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.


> Yes, trading value must be necessary in a system with scarcity.

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.


I understand everything you said almost too well. The solution, for me, has been to only work for small businesses (ie, startups) or to find a way to work for myself. PG described the benefits of working in small groups in another essay (last year), and I find it all to ring true.

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).


I have struggled with the same issues. Most work involves fitting into a social hierarchy and being rewarded by managers for preserving the appearance of tribal unity.

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.


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.

And?

Why is that bad?


I know exactly how you feel. Unfortunately, I don't have any solution or advice to offer. It's a burden I bear because I don't know what else to do.


Anytime I read one of those "just do what you're passionate about!" posts, or job postings that read like "we're looking for people who are passionate about [thing that literally no-one has ever been passionate about]" I try to think whether there's anything whatsoever that I'd enjoy (let alone stay passionate about) doing (at least) 40 hours a week, 49ish weeks a year.

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.


Your thoughts, ashark, are exactly how I feel. I love software development and have worked long days on websites I've developed with buddies, personal projects, etc. But on the job, even doing very similar things, it's not nearly the same level of enjoyment.

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.


> 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.

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. :-)


Indeed.

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.


Thanks Stegosaurus, for articulating so well what I have also been strongly feeling about work.

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.


I think AI will be the solution to the problem. Each human is given an AI which competes on their behalf in an open market, and the human consumes the AI's profit as needed. If all the AI's are the same then everyone should be around equal and money ceases to be a concern for anyone and you can use your time any way you wish!

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...


>>I think AI will be the solution to the problem.

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.


We will make them so they don't mind working for us. It would be cruel to make them "free". Like domestic dogs. They will be our partners in life and not autonomous creatures. I don't see any a priori reason that being smart would require resenting servitude.


As a thought experiment, consider if we developed a drug that makes humans enjoy slavery. Would slavery then be morally acceptable, provided that drug was furnished to the enslaved humans?


It's not directly relevant. If we don't build unhappy robots there will not be any unhappy robots and no potential for any extant robot to be unhappy.

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.


We don't know enough about cognition to make ethical arguments for or against the use of AI yet. Maybe the systems behind AI will prove that it's as unethical for humans to be forced to work by society as it would be for an AI. Then who do we let be free?


Yeah, it would be awesome if you could trade x% of your salary for x% extra holiday time. Just not possible in most jobs.


> "we're looking for people who are passionate about [thing that literally no-one has ever been passionate about]"

Relevant satire clip: https://www.youtube.com/watch?v=Bz2-49q6DOI


"I'm just not passionate about sofas. God knows I've tried. Try as I might, I just can't seem to shake off this damnable sense of perspective."


> "we're looking for people who are passionate about [thing that literally no-one has ever been passionate about]"

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."


> What if the idea of work itself is what you dislike?

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)


Maybe traditional work just isn't the answer. Or maybe a task you kind of like doing but can't find the will to finish on your own becomes a really awesome job, and your 'just because I want to' stuff remains a passionate hobby.

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!).


Thanks for the tips! I'm growing to consider different directions; I tend to default to writing code when looking for an income source as it's a thing that I'm proficient at and can do pretty effortlessly.

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.


> What if the idea of work itself is what you dislike?

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.


On the incentives point, it seems to me that 'we' as a society focus far too much on money and expect it to paper over the gaps that employment inevitably causes.

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.


Can't you move downtown?


In many places, not really.

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.


Money -> housing


Sorry, what does that mean?


It means that your solution is exactly like the problems the parent was enumerating, throw money at it.


Oh, sure. That's what money is for.


The point I was trying to make is that money is not a cure-all.

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.


You have achieved wisdom! Everything in this "contingent world" is sandcastles.

What will endure?


Lots of things endure, actually: the world, buildings, relationships, families, books, many larger achievements, governments... Almost nothing is outright eternal, but on the other hand, you generally wouldn't want it to be -- many things endure so long beyond our current lifespans they might as well be eternal, anyway.


So treat the drones as Actual People. You'll be surprised. It... doesn't always work, but it's worth a shot.

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...


I understand what you're saying to an extent, but personally I have only ever once had a 'boss' that I could truly consider as having enough autonomy for this to even make sense.

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.


Small companies can be dysfunctional as well, often that is why they are still small.


I feel as though this is PG's point though. If you enjoy reading from 9-5 everyday and dont view it as burdensome then that is your "thing". Mind you there's probably a second essay on how incredibly hard it is to find your thing.


Ugh I hate stuff like this. Sometimes programming feels like work, sometimes it doesn't. I write, I make art. A lot of people wouldn't consider either of those real work. Yet sometimes each activity feels like work, other times the activity feels great and feels like something I could do forever uninterupted. Virtually all of the time you find something you enjoy, even if someone else thinks it's work, there will be parts of making it a career that will definitely be work (e.g. programming is always fun but maybe corresponding with your boss isn't).

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.


It seems to me that the essay tried to answer the question "What is it that you want to have as your career". Now, whether you can actually make that your career is an entirely different question. I might love playing tennis, but if I'm 30 years old. There is no chance I could start now and become a professional player.


Not particularly a PG fan, but I think that ("trite/useless") might be a bit harsh. If trite means obvious, well, that sort of thing wasn't obvious to me early in my career, and even now after decades, it's hard to keep advice like this firmly in mind.

I, too, hope that your friend is able to find a happy niche for himself.


I'm surprised that Paul Graham likes debugging. I tend to stereotype programmers into two camps: one that likes debugging, one that doesn't. I thought he was part of the latter group.

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. :)


Perhaps your two camps are just not a very good representation of how programmers actually think?


Some Joe Kraus wisdom i picked up is to always be suspicious of anyone who divides the world into two groups.


That's why I used the word "stereotyped" at the beginning. And why I said it's possible to have both ways (and multiple ways) of looking at things -- and indeed the best programmers do have both.

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.


You could console yourself in the knowledge that, if one is to divide the world at all, one must first divide it in two. The really trick is to keep dividing, and not get stuck at the first thought you have.


I think it would be more helpful if you actually said what you think, rather than making vague objections to something I didn't say. It would make for a much better conversation.


I'm not objecting to anything you've said. I'm just reflecting on it. I don't think I'm being vague either, just a bit abstract.


Indeed. It does seem strange to have good debugging skills without being that good at building up systems in the head.



Is this based on MBTI/Jungian personality types? Because it corresponds almost exactly to INTJ vs INTP.


Well, it's just based on my own observations. There's a relationship to Meyers-Brigg, but I don't think it corresponds exactly.

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.


You're talking about NTs :)

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


I found something that didn't feel like work, turned it into my career, and then realized that when there are real business outcomes riding on it, suddenly it feels like work. To the point that I now don't even like doing it as a hobby.


Totally. I'm a very productive programmer as long as I do my hobby projects, random hacks, fun things, hackatons or work that I have no personal stake in. But whenever I have to work, my productivity drops to literally 1/10 - 1/100th of the normal level and I often feel axious and sick. This is completely absurd - sometimes I get more done in one hour on a bus for a side project than through entire week for work.


Programming does feel like work when it's my work. But if I stop doing it, I miss it too much.


This. It's not just about doing stuff you enjoy, I think that's a broken record everyone has been playing. There's a certain level of authority that I think we all want to have on the stuff we do as well.


I am surprised at how casually he dropped this in there:

"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?


Actually, I appreciate the way he candidly writes things like that. I get that you're pointing out the moral implications of doing other people's school work, but that'd be another essay all its own. In this context, it's an example that proves his point very well as it's a context almost everyone can relate to.


That jumped out at me to. I did the same a few times. Now, I realize, that runs afoul of the academic integrity most schools now require. Same is true for the writer (me) as the one who turned in the work.


Most surprising thing I've ever seen him write. Gave me a bit of a laugh.


I did it a few times for exchange students who struggled with English. I made sure they understood the concepts and could explain them to me in Arabic. It was a mix of editing, translation, and tutoring.


I've noticed somewhat similar issues with my peers in school studying to become programmers. They don't enjoy the long hours of debugging or coding. They seem to have come into the CS program expecting it to be a lot easier and less boring.

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.


Is it common for programmers to dislike debugging? I'm stunned. I never considered the possibility, it's always been something I enjoyed. I don't believe it impacts you either way in terms of capability but I imagine it impacts your desire to continue.


I enjoy debugging when I feel like I have some grasp on things. I hate it when I don't know where to look and don't have a good mental concept of the program in general.


I actually like the lost feeling. Debugging is a learning experience for me, on the whole, it's investigating, tweaking, probing and testing.

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.


For me it's refactoring. I'm in a lull at work so I decide to refactor some JavaScript, while at it I notice the CSS is all messy and has redundant code so I take care of that, then it's the HTML, etc. I enjoy it until the panic starts creeping in that I'm fiddling too much and could break something.


It's my favorite part of programming, by a very long stretch. For me it's often a chance to really dig into understanding exactly how all the gears click together, which is my true joy.

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.


Seems like a great position to learn about everything the team does.


I enjoy debugging when I feel like I have some grasp on things. I hate it when I don't know where to look and don't have a good mental concept of the program in general.


I think it's common for people who are bad at it--who don't have the correct knowledge or skillset. I've been considered a wizard at jobs before because I knew how to read a JProfiler graph. And similarly, I hated, hated, hated debugging in Ruby until I learned about Pry and Byebug. Similarly, I love debugging in C#, because the tools are amazing. (I don't even hate debugging in C++ anymore, so long as it's on my Mac...)


Well it can be frustrating in some cases, because you have to clean up other peoples messes. Then you run into bad design decisions, laziness, obvious non-caring about the code quality or other negative behaviors that angers you.

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.


If you are working on support/maintenance roles (in engineering) at big enterprise product company then debugging is major part of your job. I enjoy debugging as it is another way to solve problem. But for some people it gets repetitive (and boring) since you have to do that day in day out as a part of support roles.


Another part of what makes debugging painful for a lot of people working in big enterprise ("small cog in a big machine") stems from bad management.

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"


The guys in the trenches debugging are going to end up having a better overall understanding of the system. Not to mention they're going to be really good at debugging; if they decide to get into a more development-oriented role, that skillset is going to be a huge productivity booster.


It depends. I enjoy it as long as it's moving the ball forward. But if the people producing the stream of bugs won't take obvious steps to squelch the flow (or at least not stop me from doing so), it can be a maddening and Sisyphean task.


My personal aversion: being forced to do unit testing. Compared to that, debugging is very enjoyable.


Try QuickCheck, it makes testing fun. (It originated in Haskell, but people have written versions of the library for other languages.)


I love it. It's often like figuring out a giant puzzle.


Reading HN never seems like work. I feel like I could do it all day.


You're supposed to come up with something that feels like work to other people.


I know plenty of people who consider reading, in any form, work.


My point exactly. I showed this to a couple of my non-tech friends and they couldn't quite understand why we'd spend hours looking at what seemed like "work stuff"


Are they hiring? ;)


I read "net news" - a lot. So much so that people comment on it. I always wondered if there was any value in "here's what is hot" in the tech world - like a personal link aggregator.

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.


One way in which I benefit from being a Hacker News junkie is that I have like third of (the better part of) the Internet cached in my head. Every now and then (usually many times a month) someone mentions a problem they're working on and I immediately chime in with "you know, two months ago there was this article on Hacker News, which described this tech/tool/advice that solves exactly this".

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.


There could be in the future. Imagine you comment and construct your personal path through the Net that you share and others are allowed to search. Not just reddit/hn, but everything. And it is not just, I posted to hn or commented on hn, but your actual personal shared web history (with comments: yours and others)


Well, dealing with the UI feels like work. :-)


I was thinking the same thing about socializing with tech people, then I remembered that the heuristic was an logical conjunction. It both has not seem like work to you AND seem like work to other people.

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.


Interesting perspective. Looking at things this way, I can say I definitely have no problem of being aware of industry trends, startup culture, as well as having a constantly broadening perspective on the art of programming itself. It's something that sounds like what a good employee should be doing, but I know that for many it's a chore. I do that because, well... I just like it. No actual planning or effort involved.


I love reading (and finding flaws in) proofs. Solving math problems is ok I guess but feels like work. The moment of insight is nice, but staring at the wall with a blank mind, mumbling "come forth, ideas" not so much.

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.


The question is : Is that hardwired or is programmable?

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 enjoy debugging, and don't believe anything you claim. Anyone I know that enjoys it doesn't believe it either. What you write is pretty offensive actually. Its like me saying you liking programming means you run around deleting everyone's software because it would let you program more.


What...?

I like debugging, it can be incredibly satisfying.


Well this line of reasoning works beautifully for engineers, because solving the types of problems engineers love also HAPPENS to be extremely lucrative.

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.


Besides the finding something that you enjoy part (and given that that makes you good at it) there was this second part - something that is work for somebody else. He probably should have mentioned that there is an implicit third part - finding and convincing somebody to actually pay you for doing this work, plus a fourth issue - the competition. However, there are careers in soccer, not sure about hiking though, that's more recreational, you might make a teaching business out of it though.


It may not be the most lucrative business for the person who loves hiking, but somebody has to write the guidebook.


How important is it to do something you love that helps you in live comfortable life?

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 am glad you successfully rebelled against your parents, as you are now here, writing this on the community website of a startup incubator.


I've made a similar argument for a long time. About my fifth choice job coming out of academia was from an interview in which I was told that 90% of my job would be drudgery, but the same was true for everybody, even the CEO. So I decided that careers were not just about passions, but also about what you didn't hate.

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.


One wrinkle to this is that it is quite possible to become passionate about something which is initially a grind, at which point the state described in the article of it not feeling like work would kick in. In fact there are several successful entrepreneurs out there (eg. Mark Cuban) who openly advocate passion following work rather than the other way round.

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...


I'm very glad to see that PG's departure from YC has led to a significant uptick in his essay output.


Eh, it's just a more verbose "If you love what you do, you'll never work a day in your life."


If there's one thing I could change, it's to know of something that I could do and not feel like I was working.

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.


You could be in my situation: I know exactly what I love to do and nobody wants to pay me to do it. I have a track record of jobs I never had.


For me, programming is to build mechanisms. There's something similar there as in building mechanical constructs. That's the juicy bit for me.

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.


i enjoy chopping vegetables much more than most people, and i'm told i'm quite good at e.g. making sauerkraut - an activity i truly enjoy. but i get paid a lot more to write software, which is also reasonably fun.

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?

https://www.jacobinmag.com/2014/01/in-the-name-of-love/


> i only enjoy writing software about as much as the next person

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.


Would you enjoy chopping vegetables if you had to do it for 40 hours a week? Would it become a little less pleasurable, perhaps, if someone were sending you emails asking why you haven't updated the carrots ticket with your current progress, or moved the potatoes card on the Kanban board?

(I have a bit of a thing for grating cheese - I find it strangely therapeutic.)


agreed!


I had a lot of experience programming in high school. When I practiced on my own, it never seemed like work because it was fun and I had experience telling me that I could accomplish something meaningful. Something made me feel confident in my ability to produce and discover.

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 like figuring out what other people are thinking. They'll give me a bunch of requirements and I can look at them and their situation and crunch the requirements down into a tight, beautiful solution that addresses the needs they didn't know they had.

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.


@pg

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.


Funny he used the example of popping zits as something that most people don't enjoy. I rather enjoy popping a nice juicy zit on the occasion that I get one - it's quite cathartic. I wonder if I can make a career of it.


I think you misread it, it sounds like he's saying people like popping zips but they don't volunteer that information.


Watched a couple, in their 30s, doing this on the subway the other day. She was sitting in his lap, going at his face, for the length of my ride (10-15 minutes). Guess I should be happy for them... :-/


sure, go to med school and become a dermatologist.


If you do something and get that 'doesn't seem like work' feeling - great! Like all the best heuristics it seems obvious once you say it clearly. My question, though, is about the case where something does feel like work - does this imply you should not pursue it? Or are there cases where sticking with it and over time you find the vocation? For example I hated people management at first, but its a huge component of the 'doesn't seem like work' vocation I'm following now. Are there signals to look for that would indicate there is the prospect for this transition?


I think a lot of what makes something that seems like it is work to one person actually enjoyable to another is purely environmental.

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.


Out of curiosity, what was your new career? Have you ever returned to software engineering or considered it?


I like playing with Linux and sometimes other OSs. I regularly set up servers, at home or on digital ocean. For fun I recently wrote a Dockerfile that would setup a Drupal install, it worked well on CoreOS. Doing this felt like relaxing, meditating. I like that feeling of having a fresh, secure system running smoothly. I can get pretty distracted and annoying if my systems are not running smoothly (when I was younger I'd skip a night getting Beryl to work on Gentoo with the beta Nvidia driver but those times are over now).

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".


I'm a little late to the conversation, but I need to say this just for myself. But yeah I totally get this. As a rising fifth grader in the mid-80's, "somehow" I heard of or got invited to some summer school computer class. Basically for 4 weeks I went back to school and learned about computers on an Apple IIe. We played some lemonadestand game and even wrote BASIC on some Trash80's. That was my watershed moment. Ever since then I knew I was going to be a programmer. I remember as a senior in high school, the only computer class they had was on BASIC programming. Since I had literally been doing it for 7 years, I aced it. The teacher would hand out exams (yes on paper) and I would be done before she finished handing them out to the rest of the class. I hated that I was out in the sticks in highschool though. If only I had someone I could have been mentored from, there's no telling where I'd be now. But hey, I still enjoy programming (debugging MY code, creating code, etc). I'm attending way too many meetings now and I rarely open my IDE at work. But the thrill of creation and making the computer do what I tell it to do is pretty awesome after 30+ years. I need a side project...


It can be about the crave to be "different". People want to do things that make them _different_ than others.

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.


Dell's origin story follows this idea. Many consumers don't enjoy building their own computer, Dell enjoyed building your computer for you at a fair price.


The only time that programming seems like work are when I'm under an artificial deadline, or when I have to use something that is just irretrievably fucked-up (like this morning, an issue with SOAP and WSDL, which I loathe).

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.


I spent the first 12 years of my life living onboard a boat with my family, and then on and off throughout my teenage years. My father wanted to give us kids an environment conducive to learning, so I grew up surrounded by his Shaums Outlines, IC pinout reference manuals (thankfully the Internet age has replaced those), dos and qbasic books, etc. and lots of old computers running windows and dos. While I don't think he ever excelled at these subjects, they were his hobby and he was always trying to get us interested in them, too. I remember after some of us kids displayed an interest in tearing out the cardboard subscription forms from his vast collection of Scientific American, he actively encouraged us to do so in the hope that the articles would catch our eye and we might also develop an interest in science at a young age. My siblings and I were rushed through the high school curriculum in a home schooled environment and at around the age of 13 started taking some long distance first-year math courses from universities (Monash University, Australia). I, being the youngest, waded heavily through after my siblings, but never was particularly interested. The temptation to move to a normal home, go to a normal school and have friends was growing, so at the age of 13 I enrolled in ninth-grade at a public school. In the whole time I was at school I never had an interest in maths or science and the library was definitely a no-go zone for me (trying to fit in was a full time job). I applied for uni with a score of 16 out of 25 (1 best and 25 worst). I scraped into environmental engineering with a vague idea of changing to electronics or it (which my score hadn't let me directly into, but it was possible to change engineering majors once in). Uni seemed boring until about 3rd year of electronics and computer engineering. Ever since then I have begun developing a steadily growing interest in programming, science and maths, although I'm not good at the latter two. I'm now two years out of uni, working as an iOS developer. I hope that as my interest grows my learning keeps up. I think my father gave me the spark, but now it's up to me to keep nurturing the interest to get its full enjoyment.


Very refreshing to see this on HN. Often I feel bewildered and sometimes even somewhat infuriated when I read about people demanding a new work week of X days/hours. For me, as long as I'm programming - which is almost all the time at my job - it never feels like I'm working. I often have to set timers to cap myself for working on a programming problem for too long, else I'll never go to the bathroom! So work is something I love to do and a huge part of my life that I often don't want to cut out.

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!


>The stranger your tastes seem to other people, the stronger evidence they probably are of what you should do.

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???"


Maybe if the owner said it's intresting to his employee, the employee would try to go deep into the problem and figure out the flaws.Henry Ford did that too.


That's a fair advice, but I wonder what if we start working on something that at first does not seem like work, but later we realize was merely a hobby? For instance, I enjoy cooking. I love figuring out the recipes of intricate Indian curries, and then I will cook them. I enjoy eating curries even more! :D However, if I was to translate that to a full time job, I would probably hate it. I love my job as a programmer, and cooking just does not have the same breadth of intellectual stimulation, or excitement in it for me.

How do you separate hobby from a potential work/job?


I think you addressed your own question there. The answer is essentially, "I enjoy doing this, but I would never want to do this as a full-time job." I think deep down you realize it's a hobby that you enjoy in your free time but it's not something that brings you true fulfillment and sense of achievement you would doing something else as a profession.


I used to think this of software development. The problem is that when I started doing it "because I had to" instead of "because I wanted to" it took all the fun out of it.


I enjoy:

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.


I am 60 and still cannot believe that people will actually pay you to play with computers and robots all day long! The robots I play with know how to breathe air, which involves a lot of interesting fluid dynamics in addition to all of the other interesting things that go into building and playing with robots. (The technical term for these robots is "intensive care unit ventilator".) I love and am probably addicted to programming. RE debugging: while the rush of relief and victory is satisfying when a problem is found and fixed, I find these days that it is more fun to do technical things differently. Consider a Venn diagram with two overlapping circles to describe a given technical problem. Circle A is "have something working happily, but may be overly simplistic." Circle B is "covers the real problem domain adequately, but may be buggy." The intersection is where you want to be. The question is, from which direction do you approach the intersection? I used to start from Circle B and debug to the intersection. Now, I start from Circle A and stay happy/working, expanding that state until it gets to the intersection. Especially in pair programming I find this to be the best way to go. If two pairing partners are "lost in the woods" trying to debug a problem, they can start stepping on each others' toes and get really unhappy. On the other hand, if they are collaboratively growing an ever-expanding "working/happy" program, things usually go an awful lot better. Related topic: I've come to realize that I am good at "really easy" mathematics, and bad at "really hard" mathematics. So, in struggling with a math problem or new area, my instinct is to massage and massage until the problem magically transforms from "really hard" to "really easy". Just last week I had that huge sweet "AHA" rush. In lambda calculus, there is a cute trick called Church numerals that allows you to encode the non-negative integers as functions. The functions to add, multiply, exponentiate, etc. are all easy, but the function to take the predecessor of a Church numeral is really tricky. I knew the predecessor formula and could mechanically apply it, but did not have any clear insight at all as to how or why it worked. Finally, KAPOW! Came up with a beautifully straightforward, satisfying, and intuitive way to derive the predecessor function of Church numerals.


I grew up in a remote rural area of a third world country. My mother & father taught me to read. And I developed interest in reading books at the age of 6 or 7.

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.


Thanks for sharing. I didn't discover electronics until I was much older. I did, however, discover a passion for software at a young age and that has been one of my true loves.

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.


That's a beautiful story!


Well the usage of the word "work" here is peculiar. Has "work" in our society already become a word equal to "travail, toil", "something done with the explicit intent of earning one's living but uninteresting"? Isn't "work" supposed to be fun, challenging and rewarding in itself? The article surely reads a little bit weird to me in this sense, though I get the idea.


>But you may have to like debugging to like programming, considering the degree to which programming consists of 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.


I wonder if it's possible to do things that others don't like, but doesn't pay - that then ends up becoming something that does pay. I wonder why PG didn't charge his friends for writing papers.

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.


The problem with programming is: in the beginning it seems like fun; but then the system gets bigger, and suddenly it seems like work...


Edge cases, I love exploring edge cases and even better, the intersection of edge cases (corner cases?). The more edge cases there are, the more interesting something is and sometimes they lead to discovering entire new spaces. I consider myself lucky to have stumbled into an opportunity with my startup that I find endlessly fascinating.


I see a pen-testing career in your future.


Lesson learned from having 3 kids in hockey: Until you reach a level of "good enough" to participate in "the game", its not much fun. Once there, the better you get, the more fun it becomes and turns into a virtuous circle of try_harder->get_better->more_fun->try_harder->get_better ...


This reminded me of the time when I solved most of the problems in this book just for the fun of it:

http://books.google.com/books/about/Problem_book_in_high_sch...


Jerry Seinfeld says[1]: “Your blessing in life is when you find the torture you’re comfortable with.” Jerry describes writing comedy as “The torture I love.”

[1] https://www.youtube.com/watch?v=c2GW2JS_A4g&t=32m20s


Finding to do what you love is easy. I mean anyone can do that by iterating through different activities to find "what doesn't feel like work".

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.


Sadly, I think this is perhaps the only (?) reason to stay in academia any more (albeit a very good one).


Paul talks about this subject like it's a breaking of the code or something, but it's just economics. If there's a commodity you can get for cheaper than other people, you stand to gain. In this case the commodity is pleasure, which you can buy for negative money.


This is also why it's difficult for some of us around here to charge customers what our work is worth. It doesn't seem like work to us at all. It feels just like reading comics and playing WoW. It's hard to feel like we should be paid for such things.


I have always had the image that debugging is like this thing that one has to do when one has fucked up.

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.


I'm like this, and other successful programmers I know are like this. But I wonder how applicable this is to people in other industries. Does everyone have something they like to do for which the market will reward them?


I just misunderstand the meaning of the word "work".I intepreted it as a verb meaning dosn't operate normally. After reread other people's comment. I realized it's meaning : similar to the job.


Does entrepreneurship feel like work to anyone?


As an engineer I love working for entrepreneurial companies and with entrepreneurial people because they're ambitious and innovative and fast-moving. I would absolutely hate to be an entrepreneur myself and be responsible for selling a product, figuring out which product would sell, figuring out how to monetize or advertise, and so on.


No, and this is why I always scratch my head when people mention how many hours they 'worked' a day building their startup.

People always mention things like "I was working 15 hours a day", and here I am thinking - you were counting?"


The first 20 years or so: no. The last decade: definitely.


Ron's second law: the hardest part of getting what you want is figuring out what it is.


I enjoyed the short length and poetry of this 'essay'; kind of different from PG.


What if you don't have anything like this?


Then you are in the position of most people on earth and should pick something that has some enjoyable parts, few infuriating parts, and is reasonably financially rewarding.


And that, for me, is software engineering. I don't love tech, I like it well enough, I'm good at it, and it pays the bills.


You are a product of your environment.


This just in: do what you love


Read the full article by pg to understand the intricacies of it :)

One of the best articles for understanding how loving your work is possible.

http://www.paulgraham.com/love.html


Thanks, I appreciate the link. Unfortunately none of this is all that deep.

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.


What the hell Paul? Why you're using image for the title. I can send it to my Kindle.


Times have changed in the web (nowadays you can embed fonts and CSS-style menu items), but not on this site.


OT: siarad Cymraeg Paul?


Being a VC.


This dichotomy, and the realization that it can fuel smart people to use their abilities to do amazing things in the world, is what upsets me most about the startup ecosystem. I'm a programmer. Writing weather software doesn't seem like work to me. However, since going through a startup accelerator, I'm supposed to all these things that are very much "work" - and it gets me down. Things that are important, for sure, like pitch decks, financial modelling, market research, raising capital in general. They're distracting me from the things I like doing but I do them because they're necessary for the business. My "fun work" quickly became "work that I don't like doing", and it's hard to stay in love with your startup after a lot of that.

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.


I knew some folks at Google who were very content to stay an engineer at the bottom of the org chart and watch the people they mentored get promoted above them, because they understood that what made them happy was writing code and solving tough technical problems, not managing people or playing political games. I always respected them for that. Same reason that Steve Wozniak was always far more of a hero to me than Steve Jobs. It both takes more courage and provides more satisfaction to know what you like to do and figure out how to spend your life doing it than it does to become really good at what other people think they wish they were doing.

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".


Somewhat-related book quote:

> 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


I respect Woz for doing that but I think his case is a bit different since he was the co-founder of the company. If you stay at lower rugs, then doesn't it limit your technical decision making power? Or does one need to be indifferent to the philosophical aspect of that and be content with programming?


To this day I will stay at the bottom of the org chart being an engineer cause that's where I want to be. -Steve Wozniak

https://www.youtube.com/watch?v=pJif4i9NRdI#t=290


- multi millionaire and Fusion IO Chief Scientist and touring speech giver, Steve Wozniak,


I think it actually is possible for startup founders to take the route you're talking about. Check out this talk by Lew Cirne (CEO of NewRelic): http://ecorner.stanford.edu/authorMaterialInfo.html?mid=3367

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.


You could get a "Business co-founder" while you focus on the technical side.


Yeah, that would be awesome - our startup has three co-founders: me, a designer, and a CTO. So even though I'm the initial programmer, idea guy, and CEO, I'm also the business role at the moment. We'll hire a CFO+others...once we raise funding ;).


It seems like you need a business co-founder, and on a positive note, it's relatively "easier" to find a business co-founder than a technical co-founder. Good luck.


Simple solution: go work for someone else and let them worry about all the infrastructure so you can write code.


No then he would be writing code for something he doesn't like.


>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.

Sorry, did Paul just say that he helped people cheat in their college classes? Or did the professors know he was writing others' papers?


There are many activities that I enjoy doing as a hobby, but can't imagine doing them as a profession or for a living.

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.


You can get paid to do that kind of math. But what about stuff that doesn't pay? The things that don't seem like work to me aren't profitable or even monetizable. And please don't tell me something to the effect of "I'm not trying hard enough".


I think if that's the case holistically, that what you like to do that other people think is "work" literally can not be monetized in the current economy, then that's just a tragedy. If the economy hasn't developed a model for what you uniquely like to do then I think that's just a very unfortunate reality. However, I wonder if perhaps you're taking it too literally. It's quite possible that what you like to do has manifested itself in economically unpalatable ways generally, but if you thought creatively you MAY find that there are economically beneficial places that aren't so obvious where you fit perfectly.


It is a tragedy, and that's why I find this essay naive, arrogant, and simply dishonest. Passions don't all have the same economic viability. "Do what you love" is trite and useless advice.

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.


Interestingly enough, PG also loves painting almost more than anything. He wrote a book about it called "Hackers and Painters". Extrapolate whatever you'd like from that fact.


So if I absolutely hate debugging, it means I'm not meant to be a programmer after all (even if I otherwise love everything about programming)?!

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...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: