So wait... I know plenty of carpenters who go home and make cabinets.
I know a welder who makes cool stuff like grills and roasters in his spare time for fun.
Plenty of photographers don't even pretend there is a difference between work and play.
Same for musicians.
Mathematicians don't make math jokes all the time, but the annoyingly approach everything as if it was a math problem (insert spherical cow joke here).
On the other side: this guy has had the luckiest interactions with the bureaucrats ever. I seem to always get met with derision and snide comments for asking things like "how do i turn this in?" or "this vaguely labeled field doesn't make sense, what do you want here" and so on.
I've heard accountants throw around jargon as bad or worse than programmers, particularly during tax season.
Lawyers love lawyer jokes and lawyer culture.
So what the hell is this guy's problem? Why doesn't he just quit and do something he likes instead of whine about it like a petulant child?
Sounds like he doesn't enjoy cocky, arrogant behavior. (Not that there's anything wrong with that.) Maybe his personality is orthogonal to that which he surrounds himself by...
I think this issue has more to do with personality than "culture".
You seem to be confusing passion with talent / ability / skill. Perhaps he's very very good at it... It's the thing he is best at. Should he not do something he is great, for the sake of argument, at just because he doesn't have passion for it?
He's definitely hurting both himself and the people he works with, both from the fact that he's not likely to work to improve himself, and from his depression/frustration and the fact that it's manifesting as resentment towards his coworkers. I don't mean to attack him, it's just that in collaborative work that requires skill (read: practice), a bad team member can be worse than having one too few. If it really is what he's best at, then he really needs to start practicing something he actually does enjoy, or find some way to enjoy it enough to practice.
To an extent you must be "cocky" to be great at...anything.
Who is going to trust an engineer who questions his ability?
Plus, people think about their job when they go home because
they truly love their job, this guy seems to have had a
negative outlook on it from the very beginning.
So what the hell is this guy's problem? Why doesn't he just quit and do something he likes instead of whine about it like a petulant child?
The post author never said he didn't like programming, but rather that he only does it during work hours. To respond that he should just quit and call him a petulant child for expressing discontent with negative personalities is the part that seems to prove his point.
it seems the post is down now so i can't be sure and i can't quote it directly, but as i recall the author actually implies several times he doesn't enjoy programming. the also article ends with a statement about how he stays because it pays well.
edit: perhaps the confusion is that i can't see how you can enjoy something while judging others for pursuing it recreationally.
edit 2: "It’s probably unclear from my previous posts, but I’m a software engineer. I guess I don’t really talk about it much, since I don’t really like it that much."
if you want to be semantic yes, he isn't speaking of programming directly. but i cannot imagine someone who enjoys programming saying this. likewise, i don't see anything in the post that would lead me to believe he enjoys it.
That seems to be the impression that HN readers are getting, but I've reviewed it a few times and I don't see anywhere that he has stated that he dislikes or does not enjoy programming.
To address your edit, I think it's purely inference to conclude that he either likes or does not like programming itself.
He states that he does it because the money is good, and because he can't do anything else.
He can't believe there are people who program on the weekends, for fun.
He can't be bothered to learn anything new, or to even hear about concepts he doesn't understand.
He posts all the above on a public (until recently) blog, where his boss and all his coworkers can read it. What more do you need? If he has any interest in programming, he's doing a good job of covering it up with his endless complaints.
I don't think the author would mind carpenters getting together to work on their craft, or working on their craft privately. He says in the article that the basic idea of programmers getting together sounded good to him. Rather, he would be put off by carpenters getting together at an event called "SuperHappyCarpentryHouse", with the stated goal of "creating a key to unlock a door to a better world for humanity." What he doesn't like are the peculiarities and the strength of the culture. (The culture of these particular folks he works with.)
I dunno, but it seems to be his main issue is what might amount to bragging and boasting which he appears to have encountered in his dealings.
It seems to be, to a degree, a protest against conformity to a programming culture he's encountered. He wants to live his programming life as he sees fit, not so much as others seem to assume he would align with?
If he wants to alienate himself from his peers and colleagues, that's fine. But that's a pretty self-defeating position to take, is it not? What, is programming culture going to change because this guy has a problem with it?
He should be the change he wishes to see, etc. etc. instead of just bitching like an angsty teenager.
So many people have posted comments that suggest they didn't read the whole article. Towards the end of the article the author explains that many of his peers do not participate in the particular form of the culture that he finds so distasteful.
I read the whole article, and he didn't say "peers," he said "friends." And he didn't explain anything beyond that.
People do not passively participate in a culture. We collectively create a culture by forming relationships with everyone around us, not just our friends. You have to get along with your coworkers if you want to succeed in any field, and if you are a software engineer, that's probably going to involve geeking out about programming.
He was definitely talking about other people at his job, or at least in his profession. He was explaining why he didn't leave the profession. I would quote the article but it's down.
What a... strange set of complaints. It's one of those things that is so fascinating to read because I can't understand what he doesn't understand.
I get the part about arrogance and looking down on people with less knowledge or skill. There's a certain "macho" aspect to the culture that does bother me.
But I'm baffled by his confusion that people enjoy doing this outside their job. Granted, the passion to create and the enjoyment derived from it isn't shared by everyone, but it's not THAT uncommon - no one bats an eye at artists practicing their craft "in their spare time", or people who enjoy tinkering or building random stuff around the house - again, "in their spare time". It's a craft, and many people who pick up a craft because they enjoy doing it... enjoy doing it.
Exactly. He compared it to accounting. This is the most common fallacy I come across day to day. People just don't understand that programming is a creative sport. Not mathematically dry as this blogger percieves. Instead of accountants discussing form 4686, programmers gathering would be more like artists gathering to discuss ideas and make art together over a weekend.
People really need to start seeing programming as a creative thing. But then he's just a software engineer.
> What a... strange set of complaints. It's one of those things that is so fascinating to read because I can't understand what he doesn't understand.
Absolutely spot on. I wondered for a moment halfway whether it was meant to be satire.
The author mentions:
> I would be in lab, trying to complete whatever assignment I was doing, and there would be a bunch of CS majors around, making jokes about programming, talking about esoteric CS topics that I didn’t understand, and just being obnoxious in general.
I might have just been very lucky, but I thoroughly enjoyed joking about computer science and discussing perhaps esoteric CS topics when my peers were generally hanging out doing assignments. These discussions really helped me learn more about CS beyond the rigid confines of the course and sometimes discussing these small tips and hacks are incredibly useful later on in life during job interviews.
I agree, there's certainly nothing wrong with practicing your craft during your free time, especially if you enjoy it. But I appreciate the author's total candor. I find the mainstream "geek" culture unpalatable, myself. Of course that's not the same thing as hacker culture, or CS culture.
I can definitely understand how he doesn't like jerk hackers. These aren't mutually exclusive though. I know plenty of people that learn something cool (or are working on something cool) and want to show it off (these people are great). A lot of the people that are jerks have weird self confidence issues and tend to want to elevate themselves by looking down on others.
TL;DR The fact that other people find programming to be fun angers and upsets me. Additionally, I feel inferior when talking to them, therefore they should stop having fun.
He doesn't seem to be able to get past the fact that it's not the act of typing in code that's the fun part, it's the acts of creating and discovery, and the hours or days of trying to solve a challenging problem or find an elusive bug, followed by the elation of finally figuring it out.
I'm going to make a completely wild assumption, but the fact that he calls himself a "software engineer" and not a "programmer" or a "developer" kind of implies that he works at the kind of place where programming is boring drudgery.
This is a response to a bunch of the TL;DRs I've seen.
He doesn't resent the people he mentions in the article because they're happy or having fun. He points at specific behaviors and elements of the culture that he doesn't like and gives examples. The fact that so many have a knee-jerk reaction to this article, rather than a thoughtful one, serves his argument. At some points in the article he does come off petulant and young. He probably is young. But in other places he has good observations about some distasteful peculiarities of the culture. For example, he brings up the delusions-of-grandeur-like advertising for an event called, "SuperHappyDevHouse." The state of the culture is not a frivolous issue. A lot of smart people can be pushed away from CS if the culture isn't right.
A tech journalist wrote about it like this: "That’s what we want to do for others- we want to enable them to come together for a common purpose to help humanity. We see different parts of technology as different elements that come together to create a key that will unlock a door that will change the world."
The tech journalist was surely not writing a humor piece.
I actually had the impression this is a pretty accurate tl;dr. The 'feeling inferior' part is maybe a bit exaggerated, but he definitely doesn't understand why people would enjoy getting together on a weekend for a social hacking session.
I don't much like the post, but a charitable partial reading would be something like: I feel left out of / alienated by hacker culture because, although I'm a programmer by trade, their culture isn't really my culture. It wasn't phrased like that, but it is a fairly common sentiment in a lot of fields.
I even have it somewhat in mine, though it's more of there being multiple cultures and me being part of a less-dominant one: I research AI in videogames, but am not really part of "gamer culture", though I do play and study games extensively. I just tend to prefer playing and analyzing more simulation / indie / art types of games, and historically important games, and don't really keep up on recent AAA titles or feel part of the Penny Arcade / Kotaku culture. Sometimes that leads to awkwardness if people expect that everyone who studies videogames is "a gamer" in that cultural sense, so I could see a way that there could be programmers, even good ones, alienated by hacker culture if they feel it's assumed they'd be part of it, but they aren't.
I knew people like this. I worked in a database consultancy full of them. They eventually drove me out, because I couldn't connect to them on any level. They had no excitement for computers, or technology, or anything they did. They had a job, and they did that job (usually poorly, but the two boss guys were legitimately good at what they did, so were able to set out the database schemas and such so nothing got too fubar'd later on). They're the sort of people who say "a job's a job" and can sit at a desk from 9-5 doing pretty much anything as long as a pay check arrives.
What surprised me about people like this is that I always ascribed the ability to do a job in that manner as something that required a lower intelligence quotient: you had to be OK when presented with broken processes, manual tasks that are easily automated, and have little real pride in the product you produce. I thought this sort of stuff would drive reasonably smart people mad. But here they were, reasonably smart people, who just didn't care. They were all a product of CS when it was the "money" degree, like BioChem is now. The smart choice they made was "If I don't give a shit about any job I could possibly do, I may as well be paid decently for it." The author even says "I also have no idea what job I'd do otherwise," even though he clearly dislikes what he's doing.
The author is alienated because he doesn't give a shit, and he's found himself in a position where that isn't status quo. A lot of the posts here are surprised he's got this far; which I think shows HN's fairly biased population. There are loads of programmers who don't care. They aren't working in the Valley at companies you respect, because to be talented enough here requires passion (he seems to indicate he's in the Valley, but that doesn't mean he's at a company you respect ;) ) But someone, somewhere is coding crap bespoke software, and all those CS grads that aren't in the Valley are getting hired by someone. It's easy to forget all these people when you live in hacker communities like the Bay Area, Portland, NYC etc.
The author was fine with the idea of a social event for software engineers. Until he read more about it.
But then I kept reading the article, and it became more disturbing. A tech journalist wrote about it like this: "That’s what we want to do for others- we want to enable them to come together for a common purpose to help humanity. We see different parts of technology as different elements that come together to create a key that will unlock a door that will change the world." Wait, what? It’s a one-day event. How are you going to change the world in one day? If they could really do that, then imagine what they could do in a year. This sounds like someone with delusions of grandeur. Or a cult.
The name of the event, "SuperHappyDevHouse", is annoying, too.
It looks like my takeaway, but that could be because the article was too long and I didn't read past the second paragraph. Maybe it gets better?
I was too annoyed to continue. Software development is a craft. That doesn't mean you can't punch a clock, go for it. There are commodity photographers who punch clocks, doesn't make them justified for getting annoyed at ones who are more passionate about photography than they are.
There's room for craftspeople at every level of the scale, frankly... and there are plenty of shops that applaud the sort of attitude the author seems to have about software development.
You're right. I read it, sorry. Still don't like it. The whole thing is obnoxious, and sadly ironic. It reads like "I don't like how you guys make me feel like I ought to be more like you, so you ought to be more like me".
Nobody is shoving anything in anybodies face on this.
Also this is an interesting quote:
What is it about computer science and software engineering that causes people to become obsessive, arrogant, elitist people?
I think we've got the cause and effect reversed here. A better question is what would make obsessive, egomaniacs (those other terms are a bit ugly) want to write software. To that question I'd answer Are you kidding? We play God in a little box all day and organize intangibles for a living! You couldn't design a better career for those attributes.
Better question posed to the author: Why did you decide to do this? Cause it sounds like you've got accountant-envy.
This is how I read it. The author clearly doesn't find anything enjoyable or redeeming about the career path he has chosen. Instead of switching careers to something more amenable to his personality, he chooses instead to bitch about those of us who enjoy what we do.
Guy who doesn't like programming doesn't like events for people who are passionate about programming.
The largest tags on this blog are "PS3" and "Xbox 360". To the question, "Why would you get together and write code, when you could do anything else?" I would ask, "Why would you sit around and play video games when you could do something meaningful and lasting?"
No, and I'm not trying to judge his interests. I'm just pointing out that I'd be equally frustrated by a night with people he'd be hanging out with if that did accurately reflect anything.
Wow. It sounds like the author perceived folks talking about topics outside of his own expertise to be "showing off their knowledge," or "using a bunch of technical jargon to make others feel dumb." That view was probably reinforced by his questions being met with hostile and elitist responses. Arrogance and condescension are issues that I've seen repeatedly in our community, but ascribing malice to individuals visibly enjoying their work? That sits solely on the author's shoulders.
So why the disdain? From the comparisons to mathematicians and accountants, it sounds like the author views programming solely as an occupation, and doesn't see the possibility for it to be a creative avocation. Thus, continued discussion of the topic outside of the workplace must be an attempt to assert superiority over the others in the room.
But what if you instead make comparisons to other overtly creative pursuits? Professional artists frequently collaborate, musicians have jam sessions, and pastry chefs still participate in cookie exchanges. And is an accountant saying "You don’t know what a Form 4868 is?" really so unimaginable when reframed as one baker discovering that another doesn't know how to proof yeast?
The author himself finds beauty and craftsmanship in his fruit tart recipe "the fresh fruit on top makes it look really pretty and colorful, and yet it’s deceptively simple to make." What he fails to realize is that many others see the same beauty, the same joy, and the same sense of craftsmanship in a well-designed algorithm.
I avoided socializing with the vast majority of my CS peers in college because I didn't enjoy their "culture" very much. Maybe its too stereotypical, but for the most part the people were self-centered in a strange way, lacked a lot of social tact, and had too much bad taste in a lot of things - movies, music, clothes, women, etc. much for my liking. I can't recall having that many interesting conversations with classmates. Even when we were discussing technology, there was too much ignorant bravado and not enough quality debate.
When I started my career, I was placed with other younger programmers and we generally worked well together, exploring solutions, researching technologies, etc. That was my favorite time in the field. We were all unpretentious and actually spent time learning things and discussing them in a rational manner.
It was pretty much a complete 180 from my experience with programmers in college.
I have a few too many scattered hobbies and pursuits to want to spend large chunks of my personal time on the computer programming but I don't fault those who do, especially the ones working on projects that inspire others. I also don't fault the person who wrote the article. I think he's stuck with bad peers and hasn't yet found a team that works well for him yet.
Just so I'm clear on your comment regarding your CS peers; you came into contact with people who were socially underdeveloped due to lack of social experiences, and as a result you chose to deny them social experiences.
Yeah, it was totally their fault. What a bunch of assholes.
I wasn't describing loners or anything like that. They had plenty of social experience. It was just a different culture and the culture wasn't particularly attractive to "outsiders".
As for "denying" them anything, I'm not sure what.
The main point I was trying to get across was that there are all sorts of people in the field. Not everyone is the same, even if your experiences lead you to believe otherwise.
People don't generally "grant" or "deny" social experiences to others. That's not how that works.
Being social means being interested in others with different backgrounds from your own, and meeting them halfway. People who work in very technical field are notorious for neglecting to do this, and as a consequence they aren't particularly interesting to people outside those fields.
So yes, this is pretty much their fault, but it's not a death sentence, and it doesn't make them assholes. It just means they need to broaden their horizons a bit to make themselves more accessible and interesting to others.
I think you're putting too much emphasis on social experience (whatever that means). I think that what they read is a far more influential factor in making (at least some) of them decent (or not) toward one another. I was quite the hell-raiser in my youth, and I would have remained so into my twenties had I not found reasons to do otherwise. These reasons could not have come from my peers, because even if they knew them (which was not the case), they were not developed well enough to articulate them.
I just wonder why software engineering is like this.
Everything is like this.
I have a brother who is in the energy business, another who is a lawyer, and a sister who is in the sports business. They all see the world through their eyes and can't understand why everyone else doesn't too. Every get-together is full of talk about deep drilling, legal precedents, taxpayer funded arenas, and, of course, politics. While I just have another beer and actually look forward to a debate about hashing algorithms and scaling strategies.
I know a lot of people, too: doctors, lawyers, businessmen, researchers, artists. And while all of them will fill dead conversational time with discussions about their day job, it's rarely their first preference. In my experience, most people are dying to have a conversation about something other than work.
Doctors, lawyers, and scientists hate talking about work, but they love talking about medicine, law, and science. Talking about a subject they love is different from talking about why their boss is mad at them and why their five o'clock meeting ran over.
But then again, maybe that's because there are a lot of nerds in medicine, law, and science.
There's a huge difference between talking about a subject in general, and talking about a subject that you work with all day long. The former is preferable to the latter. That's obvious.
But even so, you're still falling into the obsessive nerd trap: most people -- especially the really smart people -- love it when you talk with them about something other than what they do for a living, even if they're otherwise content to talk to you about the general aspects of their profession. It's the difference between being a forgettable conversationalist and a memorable one.
Even more importantly, I do think a lot of nerds don't get this.
I'm not picking at your grammar - the two sentences say different (although related) things. My version is stronger, and I think the stronger version is true.
I both agree and disagree with this guy. When I was working for a big company, working 9 to 6 and bringing home good income from that, I wouldnt fathom doing hackathons on weekends or doing coding in the evening after doing it for 8 hours or more. Doing this for a number of years did wonders to my income, but after a while I felt a lack of progress in both my overall knowledge(forced to be knowledgeable within certain domain by work) and personal development(non-code).
After co-founding a startup and taking a product from concept to shipped state, I know what its like to jump into an unknown framework/language head first, how to spawn prototypes of idea on a weekend. The school of startup taught me more about business than an MBA probably could although it did reduce my income significantly.
The state of this guys mind is understandable if you take into consideration where he is in his development career. For his sake, if he is unhappy with his work, I hope he finds a project or career path that makes him happy.
At first I was stunned. It had never occurred to me that there were people that didn't like the cultural aspect of hacking/programming. But to be honest, after a couple of minutes of trying to look at this with some perspective, I can imagine what this guy feels. It has happened to me when I regard other cultures, cinematographers for instance. I've always felt they are way too much into something that I regard as a simple thing. I usually feel they're trying to outsmart me by saying "Oh, you didn't get the reference? I just saw it coming!"
So there's this math party and everyone came out to have a good time, tangent is dancing with cosine, sine is having drinks and so on. Everyone is happy except for the exponential function which is sitting in a corner all by itself. Finally sine walks over and says "Hey e, why aren't you having fun with all of us?" ... says the e-function: "Because I can't integrate myself!"
While I find this guy's attitude a little sad, in reality, he's just part of the spectrum/bell curve of programmers. Some people love programming, enjoy doing it, and think how amazing and fun it is to create something AND get paid for it, too? Wow! Some people program as a job, and that's it. Despite what the author suggests, some accountants love numbers enough to play with the statistics after work hours, and good for them.
Programming can change the world, and starting a project over a weekend can be the first step. Can't really change the world, even a little bit, if you don't try.
So, yeah, this guy shouldn't go to SHDH. Doesn't mean we don't invite him. So, he doesn't get it. Maybe the girl he brings with him will.
... and it became more disturbing. A tech journalist wrote about it like this:
“That’s what we want to do for others- we want to enable them
to come together for a common purpose to help humanity. We see different parts
of technology as different elements that come together to create a key
that will unlock a door that will change the world.”
I cannot even begin to understand the mindset that would make someone find that quote disturbing. Marketing-speak perhaps, sure. What's wrong with changing the world?
Nothing is wrong with wanting to change the world. But you don't find the language being used rather creepy? It really does sound like delusions of grandeur. For a one-day event? There is nothing wrong with wanting to change the world, but there is something wrong with hubris, ego, megalomania...
Delusions of grandeur, perhaps, but I don't see a problem with setting high goals for SHDH. At the events I've gone to, I've seen people doing all sorts of crazy shit - at one of them, someone was doing some sort of biotech experiments with DNA and yogurt, and at another event, I saw an early version of that Word Lens realtime translation app that came out on iOS a couple months back. I think genetic engineering and realtime translation both have the potential to change the world, don't you?
Ah, well first off I thought this event was just something these guys from his job organized, like, at one of their houses.
But still. Even for a large event like that, the language he quoted in the article was kinda creepy. I of course agree that at any time ideas can spark and work can begin that will eventually have a large impact. I'm sure there are CS conferences that use more sober language.
Except that when you're working in a technology field, everything you do changes the world. It may not have a sweeping impact, and may only make a small and seemingly superficial change. But that small change makes it that much easier on the next person.
Who knows - perhaps that one day event is where hacker X meets hacker Y and they go on to form company Z, and really do change the world by introducing product Δ.
Though I certainly understand where you're coming from, and how one could read the SuperHappyDevHouse blurb as being extremely egotistical.
Last I checked, software development kinda sorta is really changing the world.
Now, if they claimed they were trying to take over the world, that would be hubris. But changing the world? A noble goal if you ask me. Not creepy at all.
I can't say if this is the case here, but I have found this type of reaction common among others: I think it is the same fear people have when they hear of new advances in biology. It is fear of the unknown, magnified by increasingly powerful tools.
I have found SHDH to be the consistently least arrogant gathering of technical people I partake in.
Arrogance (in my experience) tends to come from a small myopic subgroup where outside ideas are shunned. SHDH is far too big and has far too many people who like different things to have much of a cohesive snob element.
Nothing in common except that we're all people who hack in our spare time, and he does seem to take some time describing that this worldview is alien to him and that he doesn't enjoy being a software engineer...
I think that most of us here have trouble relating to this guy because we all got into programming because we enjoyed it, and would do it even if we weren't getting paid.
It's like spending your childhood jumping up and down on a trampoline and then discovering that there were companies that would pay you six figures to jump on a trampoline all day. It's like the best job ever because you get to play on that trampoline. And then you'd go home and jump on your trampoline because that's your favorite thing to do.
I see people try to get in to computer programming by taking courses in college, and all I can think is that it's not going to work. If you wanted to program computers, you'd have a dozen years experience at it before you got to college. If all you do is look at it as a career like accounting or civil engineering, you're setting yourself up for a frustrating life.
Sounds like a 9-5er. I met plenty of these when I was studying "CS" and really discouraged me. Part of the reason I had no regret dropping out to join a startup.
I do what I do because I love it. If someone doesn't get it, feel bad for them.
I totally get where he's coming from. It's an artifact of a bunch of low social skills individuals way over identifying with possible solutions to a problem and their ability to do some of these solutions and generally being macho jerks. It may be especially related to americans (as the canadians I know in the field are much nicer than the standout americans I remember, but it might just be they're more well adjusted people than those memorably bad enough to remember).
I also get that he doesn't understand you get a LOT of this sort of talk in any industry.
Additionally, while service professionals don't often "do their job" on the weekend too (some do, volunteering to help charities/schools, etc, with their professional skills), many do (Have you ever heard of Pro Bono lawyering?).
Almost all craftspeople do obsess about their skills on their weekend. A relative of mine who outfits/tools factories builds hotrods on the weekend, mechanical engineers I know are gaga for building/designing stuff, artist types are veritable fountains of sidework. Hell, even my wife (analyst for charitable giving) analyzes the hell out board games and video games (which is amusing, we know she will beat all of us all the time after a few weeks of play).
I think this guys complaints are somewhat valid... I've maybe echoed something similar myself? Though, I think my primary complaint is that lots of coders seem to think people who don't want to work on some OSS project / side project during their free time can't be exceptional coders... This is the attitude I find fairly pervasive(especially on HN) and personally objectionable.
That observation does not validate, "coders seem to think people who don't want to work on some OSS project / side project during their free time can't be exceptional coders."
> Though, I think my primary complaint is that lots of coders seem to think people who don't want to work on some OSS project / side project during their free time can't be exceptional coders... This is the attitude I find fairly pervasive(especially on HN) and personally objectionable.
I understand that you find that belief "objectionable" and "pervasive". Have you considered the possibility that it might be correct? Because you have failed to present any arguments against it.
There's a pretty strong empirical argument for it, just from the observed populations, but there are also theoretical reasons to believe it:
• People who only program at work, and on closed-source projects, only ever get feedback on their programming within the context of work, from the other people who work at the same company, probably on the same project. Most projects and many companies are staffed entirely with bad programmers, so it's very likely that you'll never get a good programmer to look at your code that way, so you'll never get mentorship; you'll have to learn everything about programming by trial and error, which would take many lifetimes. At many companies, it's even worse than that — there's no code review.
• People who practice a skill 80 hours a week improve much faster than people who only practice it 40 hours a week. Many people don't even have the opportunity to program for anything close to 40 hours a week at work.
• People who practice something because they must, rather than because they love it, will never improve beyond the minimal level of competency demanded of them, because that takes further effort.
Now, there's a limit to how much you can productively practice a skill, and maybe you have a job where Rob Pike vets your checkins and that will suck up as much effort as you can manage to throw at it. But there was probably a time when you didn't, and there'll probably be another time when you don't.
1: This isn't really a relevant point. If all of the other people in their office are amazing programmers then maybe they are getting fabulous feedback. My complaint really doesn't address this and it's an entirely unknown since you don't have any information about anyone's particular work environment. That said, I'll agree that at a place without code reviews you don't even have a shot at getting good feedback.
2. Now this is definitely a valid complaint. That said I wonder how many different technologies people who work on some side projects work with on average in a month. Perhaps this problem is balanced by the folks who only program at work having more depth in their chosen technology but less breadth overall. Again, valid complaint... but it's likely more complicated than you've made it out to be.
3. This is just not true... People have all sorts of reasons they choose to master a particular skill. You make it sound as if someone can't put their heart into learning their trade simply because they have a belief that it's their job to perform at their very best and not just at a "minimally competent" level.
Maybe the opinion exists because it is true.. but your bullet points don't provide compelling arguments and they reek of the same elitism I was originally talking about.
With regard to #1, your chances of working your way up to getting code review comments from Linus Torvalds or Rob Pike is a lot better if you're contributing to (other people's!) open-source projects than in almost any non-OSS work environment.
I don't think people have this attitude because of these theoretical reasons, though. I think they believe it for empirical reasons — because they don't know any first-class programmers who only code at work and don't work on open-source software. Do you? I was just trying to explain the evidence I've observed, not trying to convince you from first principles.
But, doesn't it follow that you wouldn't know of these great programmers precisely because of the fact that they only code at work. You wouldn't have visibility of them unless you worked with them... and I suspect that for most of us the number of other programmers we work directly with over our careers is somewhere around 100 - 200 (Just a guess based on how many I work with directly and how many times I'm likely to change employers)... That's a very small slice of all of the programmers...
Though it occurs to me that participating in OSS would allow you to work with far more developers than you would otherwise.Though I'd argue that it isn't really as direct contact as the workplace.
Also, in retrospect I targeted "OSS" a lot but what I'm really talking about is any side project that isn't your day job. I don't want anyone to get the idea I'm attack OSS.
[Commented on his blog but not sure if he'll approve, so I'm reposting it here]:
It just seems like you're associating passion with unpleasantness. Does it make you uncomfortable to be around people that enjoy what they are doing passionately?
In my experience, I encounter very little douchebaggery in my community interactions. I don't want to be a dick, but it may have to do with your own view of your work (just a job, as opposed to a passion) that gets you around more douchebags.
There are lots of alphas out there that do condescend and patronize, but that's a characteristic (or character flaw) of that person, and not everyone. It's just far more obvious and annoying when you're not that type of person.
Why don't you find something that you're actually interested in doing for work?
He's a professional who has forgotten -- or maybe never knew -- what it means to be an amateur. To do it for the love of the thing.
He's exchanging units of time for units of currency; it's no wonder he doesn't understand why people get excited about building things. It's no wonder he doesn't understand the immense value generated by creating something new or solving problems that are difficult.
It's also unsurprising that he thinks one person typing into a terminal can't change the world.
"Formal education will make you a living; self-education will make you a fortune." -Rohn
The sort of culture thing only really becomes a problem when managers start basing their hiring on it. I know plenty of amazing programmers who never program in their spare time and don't have any popular open source projects and it would be unfortunate for a manager to pass up such a candidate just because they do not take part in the 'culture'. Other then that I can not think of any logical beef one could really have with the programming culture (though the jokes are a bit much sometimes).
i think what distinguishes programming from say, accounting, is that it is a creative field. you'll probably find a culture surrounding all creative professions (cesarsalazar12 mentioned cinematographers as an example).
hmmm, on the other hand (and sadly) in an employment context most programming is probably more akin to uncreative accounting. gluing apis together etc.
it just has the potential to be creative (universally creative? *church-turing hypothesis), and this is what most programmers yearn for.
What a stick in the mud. As I get older I find that I really love this stuff: the useful abstractions, abstract concepts, hard computer science, cutting-edge math, and philosophy behind it all. It's just really enjoyable to learn and explore. It is the part that keeps me coming back after the workday drains me with the CRUD requirements and tedious bug fixes. And this guy wants to take that part away?
When evaluating your coworker's abilities, do you judge their ability to perform CRUD and tedious bug fixes or their knowledge of abstract concepts, hard computer science, and cutting-edge math?
What makes you think they are necessarily so different? I'm not a programmer, but in architectural and landscape design and installation there are lots of broad, sweeping design principles and lots of tedious little detail work, and I have observed that the same people tend to do well at both. The important factors are self-discipline and enthusiasm. The enthusiasm to get you started and the self-discipline to help keep you going between bouts of enthusiasm - both to study the general principles (harder in design than in computers from what I have seen - they are not as well codified as algorithms and data structures are) and to keep working away at the tedious little (but so necessary) details.
This guy is really ranting about people who aren't well rounded, rather than people who like programming a lot. I've seen the same thing in physics, math, and even philosophy and music people I've hung out with.
So, I agree, people who aren't well rounded can be boring, and I don't understand them, and I usually have trouble relating to them as people or friends.
It doesn't matter what field you're in, if you're a douche, you're a douche. I agree that snobbery among engineering professionals tends to seep into aspects of life related to their careers more often than it does for other professions (which is something I don't yet have an explanation for), but I think this is just a case of skewed samples.
"Wait, what? It’s a one-day event. How are you going to change the world in one day? If they could really do that, then imagine what they could do in a year. This sounds like someone with delusions of grandeur. Or a cult."
Perhaps I should leave him an invitation to visit Hacker Dojo and sign it? Members use to get some pretty rad free haircuts...
The difference between this guy and most hackers is that hackers see programming as a method of building stuff. I'm pretty sure his day job must involve "engineering" in the sense of connecting code and applying best practices, but not to think and create products. There's no pride and no ownership in that.
Of course accountants don't gather to bang some numbers, there's nothing to create there. People get together for fun to shoot a film, build a house, or have a stimulating conversation.
Looking at the rest of the blog makes me wonder, why does he think that it's cool to be passionate about cakes or alcoholic drinks but not cool to be passionate about technology?
So this guy's coworkers are arrogant for engaging in shop-talk that is above his current level of understanding? OK.
But instead of saying to himself, "gee, I should crack a book and learn about this," he calls them asshats and demands that they don't discuss this stuff around him.
Sounds to me like he's the arrogant one, projecting his shortcomings onto others so he doesn't have to take responsibility for them. Like sophacles generously said, he's behaving like a petulant child.
What I really don't understand is how someone like this even get's hired as a developer. I'm assuming he either writes in-house software for a non-tech company or is just another dud at Micro$.
It's also perplexing that he is either 1) completely unaware that people who are passionate about their work take it home with them (think artists, musicians, carpenters, mechanical engineers, etc.), or 2) has decided to completely ignore this concept for the sake of this post.
Interesting. If he hated it in college and he knows he has to work with those kinds of people his whole life he should not have made that choice. Its been 11 years and he still has not understood the reason why. Strange.
it sounds like the author has surrounded themselves with people who are more passionate about programming than himself. and he's annoyed by it. fair enough. stick with it i guess, at least it "pays quite well".
My situation is the opposite of his. I'd love to be surrounded by people that are passionate about programming. But I work at a company where software is not the primary focus, so quite some of my colleagues are like him.
"Hacker culture" isn't just limited to a bunch of neckbeards being arrogant in a lab. Neckbeards will be neckbeards. Hacker culture is about being passionate and unorthodox and subversive.
Anyway, so a triple integral and a sorting algorithm walk into a bar. The triple integral says "Bartender, what have you got that's a sure-fire cure for loneliness?". The bartender says ...
Either he's satirical or I am part of the problem because I simply refuse to take OP on face value.
I do hate the frank expectation that everyone must work extra hours and code away from work, with the implication that there's something wrong with a programmer who doesn't or can't. Before the work culture of the whole country went to shit, it used to be that programmers were allowed to learn new things at work instead of having to do so entirely on their own time. I love it when my life is enough in order that I can code or learn new technologies outside of work, but that's not often the case. Still, I've always seen that mentality as a case of managers taking advantage of technical peoples' eagerness.
I know a welder who makes cool stuff like grills and roasters in his spare time for fun.
Plenty of photographers don't even pretend there is a difference between work and play.
Same for musicians.
Mathematicians don't make math jokes all the time, but the annoyingly approach everything as if it was a math problem (insert spherical cow joke here).
On the other side: this guy has had the luckiest interactions with the bureaucrats ever. I seem to always get met with derision and snide comments for asking things like "how do i turn this in?" or "this vaguely labeled field doesn't make sense, what do you want here" and so on.
I've heard accountants throw around jargon as bad or worse than programmers, particularly during tax season.
Lawyers love lawyer jokes and lawyer culture.
So what the hell is this guy's problem? Why doesn't he just quit and do something he likes instead of whine about it like a petulant child?