12 ms·
Advice From An Old Programmer
- astrofinch 15y ago"People who can code in the world of technology companies are a dime a dozen and get no respect." O RLY? http://blogs.forbes.com/nicoleperlroth/2011/06/07/winners-and-losers-in-silicon-valleys-war-for-talent/ http://blogs.forbes.com/nicoleperlroth/2011/06/07/winners-an...
- zedshaw 15y agoO HAI! You found an article about programmers getting respect in Silicon Valley. You totally proved me wrong, since it's exactly like Silicon Valley in...New York.
- astrofinch 15y agoGood to know, but if I'm a coder who wants respect, it seems like it'd be easier to move across the country than develop an entirely new set of skills.
- jeggers5 15y agoThis is a fantastic piece of writing. Was actually very inspired by it.
- chashaz 15y agoI totally agree, it's quite an inspiring article. My dad suggests that I take over his business which I might but I'm still sticking to programming as a career. May be I won't be earning a lot of $$$ but atleast I'll be doing something that I totally enjoy.
- fjordan 15y agoYou should learn to apply your knowledge of programming to his business. I find that that when knowledge of programming and software systems is combined with business, one has the potential to create a highly profitable autonomous system which only requires the initial investment of time (and hard work, of course).
- mattdeboard 15y ago>Finally, I will say that learning to create software changes you and makes you different. This is so very true in my experience. The way I think has fundamentally changed since programming became the primary professional/pastime activity in my life about two years ago. I'm 32, and everything from my politics to my decisions about where to live has been effected. (Whether I'm using the proper choice between 'effect'/'affect' is still a challenge...) Programming has taught me more about critical thinking in two years than I learned in the previous 30. I can't stand many of the things I used to because of it, but thoroughly love many of the things I used to find painfully boring.
- a3camero 15y agoEffecting = Doing Affecting = Being done to You effect change and change affects you. Something was done to your decisions so the right word is "affected".
- georgieporgie 15y agoThere are a lot of non-native-English HN participants, and I think this sort of language pedantry 1) accomplishes nothing, as OP will likely still use the wrong word, and 2) discourages those who lack confidence in their language skills from posting what may be very insightful comments.
- a3camero 15y agoI wasn't trying to being pedantic (although apparently it came off that way). I was trying to offer some genuine help to someone. I think that's in the spirit of HN. You can only learn when people tell you what the right word is. We aren't born with a magic understanding of English. I appreciate it when people help me and in this case it seemed like the parent poster was genuinely interested because he noted that he didn't know which one to use.
- a3camero 15y agoAh, I see that my comment came below some other ones but when I was writing it there weren't any others. Might explain the downvoting...
- programminggeek 15y agoYou know, half the reason Zed Shaw is so well known is not just that he is a prolific coder, but that he is quite an excellent writer as well. Well done Zed. I always appreciate what you write.
- gaius 15y agoWell, other than that he's completely mistaken about the career advice he offers here. I'd be very curious to know if he's ever been the highly-respected programmer in a science lab, or personally knows anyone who is. My science friends tell me the job doesn't exist; any code that needs writing, a grad student will do it sufficiently well (on top of their lab work) for no more money.
- 6ren 15y agoA kinder interpretation is that he meant: be an expert in that field who can also code. Which is probably pretty true already, much as everyone can use a word processor or spreadsheet. Programming to get a job done is not that hard, especially with languages like python. Over time, the tools will get even easier. Being a tool-maker seems to have some mileage left - but that will also be made easier over time. EDIT it's hard to predict what will happen, but for several decades, programmers earned above average wages. Cool... but weird. I saw a great explanation, that during that time, not everyone who wanted a computer had one, and each transition (mainframe/mini/workstation/PC) increased the market size, and therefore the demand for software. Higher demand --> higher wages. But according to this explanation, PCs maxed out their market around the year 2000. While this mightn't be strictly true, as the third world is unconquered, and people buy second and third devices (e.g. smart phones), the rate of increase has slowed. Those above average wages will never return. There will just be average wages. But if you like programming, that's OK.
- Hominem 15y agoThis jibes with my experience. Once upon a time I know a lot of grad students in the sciences, once they found out I was a professional programmer the fun was effectively over due to a barrage of programming questions. They all hacked on some sort of code.
- swah 15y agoI just don't like when he calls himself an old programmer. He is only like 10 years older than me - oh, wait..
- rdouble 15y agoPeople who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines. This is a nice sentiment but as someone who has been a programmer for biology and medical research, it's not true. It's just like any other mediocre programming job, but your office is a folding table under a decommissioned fume hood. Physicists and mathematicians who program are so underpaid they dream about the glamour and glitz of working in a cube on Wall Street. There are bad jobs with technology firms, but by far the programming jobs with the most "respect", most fun and usually highest pay are with tech firms and well funded startups.
- CrLf 15y agoI think you missed the point. It's not about being a programmer working those fields. It's about using programming to help you in those fields, about programming not being the primary occupation.
- rdouble 15y agoI can agree with that, but he confuses the point by saying: Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier, you could actually just go run a fast food joint. You are much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. I don't agree that programmers are a dime a dozen in technology companies and that they get no respect. I also don't agree that a programmer would be happier running an fast food joint. Finally, I don't even agree that using programming in another profession as a "secret weapon" is necessarily going to be interesting. For instance, if medical records were all in a portable format, we could do all sorts of interesting analysis on them. However, there's about a decade of boring and painful 1970s style database programming needed before that's even possible.
- glassx 15y agoExactly! It's not about being "the lab's IT guy", writing content management systems for a pharmaceutical company, or parsing medical records. This is just another boring programming job. Some real life examples. I know a social science university teacher whose undergrads are dabbling in statistical and field data-entry software, and it is getting them into amazing projects. Another example: a friend, comp-sci grad, moved to linguistics and is now a rockstar, researching natural language parsers, big data and statistics. They're social scientists/linguists undergrads first, programmers second, but programming plays a vital role in their academic career.
- losethos 15y agopatronizing FBI shrinks. God says... spectator Euodius retard Texas defers wazz_up_with_that wanderings acceptable teachest theirs nominally costs year's middle division raisedst comprehended equalled unsuitably inchoate In complete denial on God. God said 640x480 16 color. God says... shadows charge depending Michael ensues pupils LoseThos is a 2ndary OS for recreational programming. God says... honour Preacher crucifixion rashly musing monastery toiled stealing affections despairing straying sex Christian wings exorbitant misery OTHERWISE their Orestes Vacation why_is_it proffering resulting willed sparrows styled I vexed conferring tv applied affliction steer confiding stored Whatever shoutedst putrefied generation exuberance Supreme relax processing Wisdom's bride secretly Vacation cloud legal reply conservative flows sorry trials mainly limits roused punish studious precedest taste wisdom preventing severally ships hooah tenet unallowed applauses seldomness disembowelled discourses thickets intermitted whereupon qualified purified sin Knowing shrinking distrusted expressions discovers transitory thousand plants recollection alteration Thagaste dishonour commender dispenser conformably
- zwieback 15y agoSome good points buried among juvenile posturing, I guess the "old" part must be irony. Would you take programming language advice from someone who has learned the language in "a day or a week"? I realize the point is the language doesn't really matter but statements like that and the general tenor of the post don't inspire me.
- MaysonL 15y agoAs an old programmer myself, who has learned many languages over the years, and written programs for pay in most of them, learning languages in a day or week is not at all unusual, or difficult. Especially after learning assembly for a few different machines, with widely different instruction set architectures.
- amackera 15y agoIt probably depends on how we are defining "learned". Does it mean memorizing all the functions in language x's stdlib? Is it learning the grammar of the language? Is it coding a project of x many lines of code? Have you learned a language when you can write a compiler / interpreter for that language? The concept of "learning" a language is so hopelessly ambiguous it has almost no meaning to me. I would say that I know enough of many languages to use them professionally, but I have deep knowledge of very few.
- glassx 15y agoI believe that "learned" means "learned enough to work professionally with". Deep knowledge of a language is always very desired, but on the real world very few programmers have it, or even need it. (Not to mention that "deep knowledge" is a very abstract concept on its own too, lol) Not every professional developer can, for example, write a framework or a compiler from scratch in their language of choice, but they're still productive and fundamental to their team...
- Peaker 15y agoTake a look at Agda (http://wiki.portal.chalmers.se/agda/pmwiki.php http://wiki.portal.chalmers.se/agda/pmwiki.php) and tell me if you could "learn it in a week".
- kbob 15y agoWho is the old programmer that Shaw interviewed for this section? He should have credited him.
- simonsarris 15y ago> Programming as an intellectual activity is the only art form that allows you to create interactive art. What about oral storytelling? Or just (re)telling jokes? Improv and related performing arts? Stage magicians? Mimes? Community murals?
- stephencelis 15y agoWhile the same thoughts crossed my mind, I think he probably meant art in the age of mechanical reproduction. Still, programming affords a combination of the widest reach and lowest barrier to entry: it rarely requires the artist, performer(s), or specific location(s) to be consumed as a medium.
- simonsarris 15y agoI agree with what he meant, but I dislike his use of the word "only." I hate to be really anal, but that kind of thing always sticks out in writing to me. "Hard distinctions make bad philosophy." as John McCarthy (of Lisp and AI fame) would say.
- iloveyouocean 15y agoI think his statement is incredibly short-sighted. Has he never been to an art museum with interactive sculpture, etc? Perhaps he could hedge on the 'degree' of interactivity offered, but with such an emphatic 'only', I think its more likely that he is simply wrong.
- zedshaw 15y agoAh, pedantry, the pinnacle of all evaluations of a single statement one could make. Next you should criticize how the book doesn't cover decorator generators that use @wrap or how it doesn't cover discrete mathematics. That'll be very effective.
- mclin 15y ago> People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines. Totally
- dolvlo 15y agoI disagree. People who code in the world of technology companies get respect, and quite a lot of it. Getting paid for your work is a form of respect.
- orillian 15y agoGetting paid is only a form of acknowledgment that you worked, but it in no way denotes respect. It simply says " to the best of our knowledge s/he did <insert type of job here/> work for the duration of this pay period. I agree that some people do get respect in this industry, but too many of us are simply cogs in a wheel.
- dolvlo 15y agoWhat's so bad about being a cog in a wheel, if you're enjoying your life?
- elmomalmo 15y agoI think that's precisely one of the the points Zed is making. That is, that coding is a cool, rewarding pursuit. But that you shouldn't expect a coding profession to necessarily be the either cool or rewarding. If you're happy in that profession, great. I don't think the chapter in this book says you shouldn't be, in fact I think it would suggest that you have the right disposition for such a profession and are therefore fortunate.
- zedshaw 15y agoI doubt you get paid comparable to your contributions to the bottom line. Or, maybe you do. :-)
- rhdoenges 15y agoFor all his faults, Zed Shaw is really a great personality to have in the programming world. He loves to code, but doesn't get caught up in the minutia and cargo-culting.
- Rickasaurus 15y agoI got bored with programming so I started to break out into more mathy things like machine learning and computational linguistics. It's the best of both worlds.
- Peaker 15y agoIf he thinks he can learn any programming language in a week, he's still ignorant about programming languages. I challenge his knowledge of/about Haskell, Agda, etc. Also, I am sure there are plenty of "old programmers" who are still excited about programming languages, and think they matter.
- ghotli 15y agoYou missed the point of his article. I believe Zed has shown that his mind is perfectly capable of seeing and processing the macro picture. Whether that be language theory, software engineering, or whatever he puts his energies towards. I may not agree with some of his opinions but the volume and quality of his output is indeed impressive. Haskell's type system _is_ complex, but so are most things that are looked upon with foreign eyes. Zed is known for a bit of hyperbole. Are programming languages exciting? Sure, probably at any age. That wasn't his point though. They're just a thing, a tool. To a novice this very well may be novel advice looking upon the rest of us chattering away about the next bit of cooltech on the horizon.
- nightski 15y agoI hate the tool argument. Programming languages are as much a tool as mathematics or English. I think of them more as a method of communication, a way to express your thoughts and ideas. Not only that but they are executable and unambiguous (most of the time heh). A programming language not only has the power to allow you to express your thoughts, but even to even shape them. The power of this field is in its infancy. There will be a day when "programming" as we call it is as natural part of the user experience of machines as browsing facebook might be today. In fact it will be expected, and products that do not allow this rich interaction from the user will be shunned. Programming will be second nature and humans will not desire it, nay they will demand it. It is akin to granting freedom to those subjected to slavery. It really changes ones entire world view. But by dismissing these powerful constructs as mere simple tools this vision will never be realized. This is the flaw in Zed's argument. Learning new languages may not have been valuable to him (which in reality I doubt) simply because he hasn't expanded enough into the areas less explored. There is so much room for innovation here that the journey hasn't even begun. He is writing off something so incredibly powerful and world shaping simply because he lacks the imagination to see it. The sad part is that he is inflicting this view on those new to the profession that may across his old "wisdom".
- paufernandez 15y ago"they can go to hell" "people who tell you it is are just jealous that you have picked up a skill they never in their wildest dreams could acquire" As much as I get worked up by his writing, I think Zed Shaw always goes a little over the line...
- shin_lao 15y agoProgramming as an intellectual activity is the only art Programming isn't an art. Programming is a craft. The difference is that you can use a craft to make art, but crafting isn't always artistic. Let's not get over our heads and consider ourselves artists because we can code...
- invalidOrTaken 15y agoThis is spot-on, and is a very succinct way to express it. Thank you.
- latj 15y agoPlease, tell me what my words mean.
- keiferski 15y agoThe word art, in the past, was used in the same way that we, today, use craft. So, it's not quite that simple. http://en.wikipedia.org/wiki/Art http://en.wikipedia.org/wiki/Art But let's avoid an argument on the semantics of aesthetics and just leave it at that.
- StavrosK 15y agoI don't disagree with you, but painting, sculpting, playing an instrument, writing, etc, all crafts, by that definition.
- 15y ago
- marcamillion 15y agoFor all the flack that Zed gets, this is actually one of the sanest/most inspiring things I have seen him write. Truer words have never been said.
- ryan-allen 15y agoYou may also like this essay of his: http://zedshaw.com/essays/master_and_expert.html http://zedshaw.com/essays/master_and_expert.html
- goldmab 15y agoProgramming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier, you could actually just go run a fast food joint. Zed appears to be saying that he isn't happy as a professional programmer. Some people really enjoy it.
- KeyBoardG 15y agoI think this becomes apparent to anyone with experience with multiple languages and multiple platforms. The language is just the tool you use to accomplish the goal. Its good practice to learn new and different languages and paradigms just to see how they work and how you can take the good and add it to your arsenal.
- russellperry 15y agoZed's a strong cup of coffee and guys like him generally play a really healthy role in the community they are a part of, driving discussions in directions they might not have taken and playing the part of Gadfly at Large -- every community needs a Zed to keep from becoming complacent. "Rails is a Ghetto" notwithstanding, Zed's writing is always worth engaging even when you strongly disagree. In that respect he's always reminded me of Steve Albini. What Albini would do with Fret Wars, however, is another question entirely.
- schleyfox 15y agoActually, I tend to think "Rails is a Ghetto" is one of his most beneficial works. It was angry and juvenile at times, but I think it did help make rails grow up. It also called out a lot of the fanboy-ism in the community and helped people who actually cared about engineering to rise.
- russellperry 15y agoIf you haven't watched Peepcode's Play by Play with Zed Shaw, you should. Really insightful stuff.
- joyarubica 15y agoSince the best programmer, the most intelligent person or the best working people can be the lowest paid person, I think that what you must learn is to sell your skills. Compare Linux to MS, is not about what you do but about how you sell it.
- brooksbp 15y ago> At the time that I wrote this book I knew about 20 programming languages and could learn new ones in about a day to a week depending on how weird they were. Funny. I've been programming quite a bit too and feel comfortable in a handful of languages. Knowing what's happening in the compiler and in the hardware or vm (runtime) is a different story. Being able to understand what programs do no matter what language they're written in is also a different story. We all know 20 different languages.
- delpinoman 15y agoI agree that it's more important to have some additional domain knowledge than to be some superprogrammer. I'm not the best programmer but I have some (human) language learning knowledge and thus could set up my own business at http://www.chinese-course.com/ http://www.chinese-course.com/ Best thing you can do as a programmer is be your own boss.
- mohsen 15y agothe first time i read this i remember thinking to myself, "oh boy, i wish i'd read this 8 years ago. i would have still been a programmer, but i would have chosen a different degree..."
- astrofinch 15y agoIt seems likely to me that the dual specialization strategy Zed describes is beaten by the strategy of being an opportunist who has the ability to code as one of the tools in their toolkit. http://www.ribbonfarm.com/2007/12/05/the-fine-art-of-opportunism/ http://www.ribbonfarm.com/2007/12/05/the-fine-art-of-opportu...
- ihodes 15y agoWhile I'm yet a young programmer, the primary paid experiences/internships/jobs I've had with programming have been in the biomedical/bioinformatics field. My first day on the job? Did probably all the work they'd expected of me the entire summer (all using a simple "programming" trick with Excel) then proceeded to write them a few program to make their data-entry/processing jobs a lot easier and more precise. I was like a magician. It was pretty cool. I've had nowhere near as much experience as Zed or many of the people replying on here, but my experience in different labs and situations has been similar. On another related note; I was talking with an international finance/investment profession when I expressed my dual interests in finance and neuroscience. She immediately made the point that I'd be infinitely more valuable in finance with a hard science background (particularly in financing the field my background was in). Moral: Domain knowledge and niche/cross-discipline expertise is valuable.
- kabushikigaisha 15y agoAddendum to your moral: get a job in finance and don't waste your time making CRUD apps and being Super IT/DBA Guy at some uni's bio research lab. Much better pay, and if you're lucky you can train on in maths and the like to move up from day trading to being a full on quant. Then you can have the midlife crisis after you've amassed some capital and connections to start your special startup in SoCal.
- CedriK 15y agoI'm clapping my hands right now! Good text :)
- jerryr 15y agoAs someone who's been trying to hire good software engineering professionals for some time now, I'm going to tentatively agree with, "people who can code in the world of technology companies are a dime a dozen"; however, I'm going to posit that, in the world of technology companies, good software engineers who are passionate, diligent, and bent on improving themselves and their field are rare. So, please do not despair because you've read the Old Programmer's advice and you're not fluent in biology, medicine, government, sociology, physics, history, or mathematics. I can say that even as a generalist, you can help advance the field of software engineering, and I represent one technology company that will value you for that.
- jhuni 15y agoWhat I discovered after this journey of learning is that the languages did not matter. This sounds a lot like my journey. I was overwhelmed with the details of ~20 programming languages and data formats. Eventually it actually got rather frustrating to work with all of them. Then I discovered Lisp.
- singular 15y agoThough there is some wisdom in what Zed says here, I am getting quite tired of the 'actually, programming itself (especially as a job) is boring' meme, as if saying that marks you out as some sort of world-weary but insightful practitioner of the arts who has somehow risen above the mere trivial and seen it for the dull plod it really is. Please stop telling me what I think + feel about my craft - you feel that way, you want to do it down, fine, but don't act as if it is some sort of immutable truth, especially when you are talking to people new to the craft which I think is quite unethical, frankly. Why assume your own experience/opinion is somehow necessarily correct and ought to be dictated as hard-won truths, when your entire schtick is 'dissecting others' logic'? No matter how many times I read these sorts of things, nothing changes the fact that I find programming a joy, the whole thing of being able to render machines of such incredible power + complexity to do stuff at all a miracle and know it is something I want to spend as much time doing as I can for the rest of my life - no jaded naysayer, not even an 'internet famous' one can change my personal experience of the thing, and I am absolutely nowhere, a nobody in a CRUD job, and not even that good of a programmer, but my passion and love for it remains. A funny thing about this is that no matter what pursuit you can think of, there are always those in it who say 'actually the reality of this is horrible', people who take that attitude exist everywhere in every field, no matter how wonderful and joyous it seems and often actually is. I think that's something to contemplate - if it were all true then nothing would be worth pursuing. There is a lot of bullshit spoken about programming, lots of crap aspects to the reality of it, lots of crap aspects of dealing with other people in trying to get things done, but people seriously - this thing is amazing, let's be grateful and celebrate it for once, please.
- zedshaw 15y agoIf you read what I actually wrote, instead of what you wanted to hear, you'd see that I said the profession is boring. Why would I write a book teaching people programming if I thought it was boring? Coding is awesome fun and my favorite thing, but damn the job is really super boring.
- singular 15y agoWith all due respect, I did read TFA - "I have been programming for a very long time. So long that it is incredibly boring to me." But you do of course later say: "This doesn't mean I think programming is boring, or that you will think it's boring, only that I find it uninteresting at this point in my journey." And, of course:- "Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier, you could actually just go run a fast food joint." To me that all seems a little contradictory, but ultimately seems to say to me 'actually, after all these years I've seen through all the naive bullshit and realised that it is, in fact, rather boring'. There are obviously crap and boring aspects to any activity, but how on earth can you say the act of doing something is interesting, but the profession itself is not? Do you mean to say that everything in the profession other than the programming is boring? Well I'd disagree with that too, though less emphatically.
- JoshTriplett 15y agoI found the book that contains this chapter quite impressive. It represents the only attempt I've seen to document the procedure many self-taught programmers followed to learn programming by exploring. At first, reading the instructions about carefully typing in the exercises, it took me some time to realize the point (and I don't think someone would get much value out of only typing in the exercises); however, once I read some of the "Extra Credit" exercises it made perfect sense as an introduction to learning by exploration. If typing in the exercises and running them doesn't give you an irresistible urge to tweak them and see what happens, you probably won't find programming fun.
- whalearmy 15y agohah, well shit way to spoil the end of the book for me!
- onan_barbarian 15y agoMy guess is that I've been coding for longer than Zed, and I don't remember _ever_ thinking it was boring, and a lot of the stuff he says might be true for Zed, it sure as hell isn't true for the rest of us: "Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier, you could actually just go run a fast food joint." If this is actually true for you, and you can actually code, you really need to be making brighter career moves. "People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines." Well, maybe. But this sounds like random riffing from someone who hasn't held a senior, stable position in an actual tech company nor worked as a programmer in any of the long list of disciplines. I've met plenty of people who were the duty programmer in a non-CS area who were treated like shit. But what would I know? At around the time I was messing around with software pipelined SIMD string and pattern matchers, Zed was pursuing the real business of a Working Programmer, which is to say, writing rants and offering to rent a boxing ring to fight people who made physical threats to him (which, I admit, is kinda cool).
- deleted 15y ago[deleted]
- cubicle67 15y agodon't let Zed's online persona (they ZSFA type one) fool you. He's actually a brilliant coder, has done all the things that it sounds like he hasn't and is one of those who I think has actually given more to the community than the "community" has ever given him (I'm making reference to the phrase "give back to the community") Sure, he has a fairly unapologetic and somewhat confrontational nature (much like DHH) that seem to irk people, but (also like DHH) his walk matches or exceeds his talk.
- shevegen 15y agoOh, fanboys like you are the worst. His online persona has one truth - he spits into communities. And to compare DHH with Zed is unfair to DHH. DHH never made such idiotic rants like Zed.
- sunchild 15y agoI'm just going to start linking to Shoshin every time I see a weary, old coder blogger post: http://en.wikipedia.org/wiki/Shoshin http://en.wikipedia.org/wiki/Shoshin
- rlobue 15y agoLovely end to a book. To say other forms of art are not interactive however is a little short sighted.
- flocial 15y agoThe piece is definitely tainted by the author's personal experience but the closing message is uplifting and empowering, "Finally, I will say that learning to create software changes you and makes you different. Not better or worse, just different. You may find that people treat you harshly because you can create software, maybe using words like "nerd". Maybe you will find that because you can dissect their logic that they hate arguing with you. You may even find that simply knowing how a computer works makes you annoying and weird to them. To this I have one just piece of advice: they can go to hell. The world needs more weird people who know how things work and who love to figure it all out. When they treat you like this, just remember that this is your journey, not theirs. Being different is not a crime, and people who tell you it is are just jealous that you have picked up a skill they never in their wildest dreams could acquire. You can code. They cannot. That is pretty damn cool."
- olalonde 15y agoIsn't this the same guy who complains about not being able to find work and how pissed off he is that Google only offers him "junior system administrator" jobs?[1] Not sure I'd want to get my career advice from him. [1] http://techcrunch.com/2008/01/01/zed-shaw-puts-the-smack-down-on-the-rails-community/ http://techcrunch.com/2008/01/01/zed-shaw-puts-the-smack-dow...
- starpilot 15y ago> People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines. So true. I'm a aeronautical engineer and notice things everyday that could be revamped through coding. The problem is the vast majority of aeronautical/mechanical engineers aren't comfortable with code, and if anything broke or any improvements were needed after I left, no one could do anything with it. So we're back to our "database" of 200+ Excel files and nested folders for CAD "version control."
- deleted 15y ago[deleted]
- MichaelReed 15y agoI think a craftsman is entitled to reflect upon his work and profession and not have that introspection be neat an clean for everyone else's consumption. There are moments of doubtful introspection and unwelcome truths that are insightful and illuminating. Stop and listen to the perspective and perhaps just spend a moment with it... That is want it means to be human. Spouting of some knee-jerk reaction shows you are not even beginning to listen and haven't begun to hear what this person is emoting. There is a lot more here that is heartfelt and true than simply what is written.
- donaq 15y agoPeople who can code in the world of technology companies are a dime a dozen and get no respect Wow, where have you been coding? I am not as proficient (and DEFINITELY not as prolific) as you are, but I've only had that feeling once working as a programmer in Singapore, and that was because the boss in question happened to be an asshole.
- hiesenburg 15y agoyou're the man, Zed
- zedshaw 15y agoThanks, I appreciate that you liked it.
- c00p3r 15y agoNarcissistic Personality Disorder. http://en.wikipedia.org/wiki/Narcissism http://en.wikipedia.org/wiki/Narcissism
- code_duck 15y ago>People who can code in the world of technology companies are a dime a dozen and get no respect. That may be a bit exaggerated, but... >People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines. This is quite true. I'm involved a bit with a few circles outside the whole web-tech sphere, and it's quite different. Someone who understands the web and technology can create things that others cannot. Being involved in a certain field gives you knowledge and social contacts in the field. Put those together, and the business ideas you can come up with can be ones that can really change things.
- schiptsov 15y agohttp://en.wikipedia.org/wiki/Narcissism http://en.wikipedia.org/wiki/Narcissism Coding and software engineering are not the same knowledge. Coding is just a small part of the big discipline. The difference between software engineer and a coder with even years of practice is the same as between a poet and a full-time typist. Memorizing syntax (and may be even some standard idioms) of 20 different languages doesn't make you a software engineer, and of course, you can code something after a day to week of practice, but it will be a mere amateur coding, not a programming. Of course, such kind of coders are dozen for a dime, because having a dictionary doesn't make you a translator or even speaker of the any human language. After memorizing some basic words and you can use some very basic vocabulary and copied sentences from a phrasebook, but you cannot read even a news paper, let alone a non-fiction or a scientific book. You cannot even watch a TV - they're speaking too fast. The idea behind reading other people's code is not about finding familiar syntax or code blocks, or even use Ctrl-C, Ctrl-V it is about appreciating and understanding the ideas which leads to this exact code and not the other, why this and not that, which is impossible without engineering knowledge. No amount of memorized syntax can compensate the lack of practice. You may learn the syntax of 50 programming languages, it is not a substitute for years of practice with at least one of them. Memorizing standard idioms also does not make you a programmer. You should understand why there idioms emerge and remain here, which ideas are behind them, which technology, what are advantages and disadvantages. This knowledge makes you a software engineer, and this knowledge will give you respect of others. Producing yet another python tutorial, without ever realizing that keeping it short, full of idiomatic examples, and ability to grasp the big picture in an couple of hours is a huge advantage of the classic tutorial http://docs.python.org/py3k/tutorial/ http://docs.python.org/py3k/tutorial/ doesn't make you a teacher of humanity. And of course, language matters. just look at this http://hyperpolyglot.org/scripting http://hyperpolyglot.org/scripting and try to appreciate the differences in readability and self-explanatory between PHP and Python/Ruby. Try to grasp why carefully chosen syntax of Python/Ruby is different from chaotic approach of PHP. Unfortunately we can't see the bloatedness of Java syntax on the same page.
- zedshaw 15y agoWait, so you link to the wikipedia page on Narcissim, then spend 9 paragraphs pontificating on my experience and how you know all about me in a way that assumes everyone cares what you think? Right, I'm the narcissist.
- boofuckinhoo 15y agoI read that and all I heard was, "I can suck my own dick."
- rimmjob 15y agozed shaw taught me python, cured my hemorrhoids and showed me a how to be a real man.
- zedshaw 15y agoMust have been hard for you to get those rimmjobs on your massive hemorrhoids.
- richcollins 15y agoInteresting response: http://dekorte.com/blog/blog.cgi?do=item&id=4871 http://dekorte.com/blog/blog.cgi?do=item&id=4871
- zedshaw 15y agoI find that the hallmark of my writing is that people seem to find their own issues in reflected in what I say. This is a great example of that.
- Johngibb 15y agoI have to admit, I came into this discussion in support of the chapter and the author (http://news.ycombinator.com/item?id=2664502 http://news.ycombinator.com/item?id=2664502 for example), but after reading Zed's replies I'm turned off by his elitist replies, such as on multiple occasions telling people that they "can't read". Clearly there's a lot of support (443 votes and counting), but resorting to this sort of insulting just doesn't lend anything to the conversation. And I think it's a worthwhile conversation to be had.
- shevegen 15y agoZed Shaw is trolling again. His ego is so boring. Good that I stopped reading the rant when I found out it was him.
- boscomutunga 15y agoI like the point mentioned that we should avoid being allied to a particular language and reflect on solving the problem.
- crasshopper 15y agoOh please. You can't make as much money running a fast food joint and you will not be happier, unless that's in your blood. (I know one of the owners of a super-high-grossing KFC and have run a small business myself.) Programming is a cushy, stimulating, high-paying job - and don't you ever forget it.
- crasshopper 15y agoAnd, your risk in running a fast food joint is much, much greater. Franchise fees of $100k+, managing employees, avoiding lawsuits because your parking lot has a bump in it, and being in the shop everyday versus... learning a language is free + telecommute, flexible deadlines + server crash leads merely to whining + Idea Guys have to pay developers and not the other way around.
- Quiark 15y agoI'm surprised than in this whole wall of critique, almost nobody has pointed out about the last 3 paragraphs. I don't think "They can go to hell" is a good enough advice. There are nerds out there who are struggling socially, may be even virgins and I think they deserve better advice.
- jdietrich 15y agoOnce upon a time, I played poker for a living. The most important thing I learned was that the least important factor in how much I earned was my skill at poker. The most important skill was table selection, my decisions over which games to get involved in and who to sit next to. A close second was managing my resources, making sure I was playing within my financial and emotional means. If you want to be world champion or mix it up with the legends in Bobby's Room, you need to be a phenomenal player, but being great at poker won't stop you from being broke and miserable. Everyone in poker knows a 'That Guy', a bona fide poker genius who keeps fucking their life up because they care too much about the game. The archetypal example is Stu Ungar; He won three world championships and over $30 million, but died aged 45, penniless and alone in a crappy motel because he just couldn't get his life in order. Like poker, software is intrinsically meaningful only as an intellectual puzzle. It can be fascinating and beautiful and it can send you mad. Fall into the trap of believing that poker is a worthwhile pursuit of itself and you end up in the trap - living out of your car or on the crappy end of the Vegas strip, some weeks a millionaire, some weeks a bankrupt. You see them come and go, the bright-eyed but slowly dimming college dropouts who could be living the life of Riley if only they knew something outside of poker, if only they stopped trying to beat the hardest games for the sake of it. Your usefulness as a developer is only indirectly related to your ability to code. There are bona fide geniuses working in poverty and obscurity, there are utterly mediocre programmers doing amazingly useful and important work. Github is overflowing with brilliant, painstaking solutions to problems that just don't matter. Your most important skill as a developer is choosing what to work on. It doesn't matter how lousy a programmer you are, you can still transform an industry by simple merit of being the first person to seriously write software for it. Don't spend good years of your life writing the next big social network or yet another bloody blogging engine. Don't be That Guy.
- F_J_H 15y agoThat was insightful - Thank you.
- niels_olson 15y agoYou know, if we were standing around at an artist's gallery opening, or at a home having dinner and discussion, or just walking down the sidewalk in the flesh-and-blood world, that comment would have been considered a small, but useful and positive contribution to the discussion. In fact, you'd probably know that F_J_H is a successful business owner with 50 employees, so you'd note that that's how successful people behave and try to emulate him. But here, since there's "upvotes", it appears to have gotten a -1 (based on the shade of gray text). And I want to take the opportunity to say that I think comments like this don't merit negativity. Treat them like you'd treat them in the world: polite comment, move on. It's like walking down the road and there's a purple thistle flower in all its spiny glory. Purple. Pretty. Move on. You don't have to go stamping it out just because there's a social belief that lawns should only have grass.
- caryme 15y agoProgramming as an intellectual activity is the only art form that allows you to create interactive art. I would venture to say that music composition is also interactive. Music, to me, is art twice: first in the composition and second in the performance. Somewhat like programming, composers create something and send it out into the world so that others can use it, give it life, perform it.
- adsr 15y agoI found the discussion about domain experts interesting, as if there is no domains within CS. Wouldn't domain expertise in networks, machine learning, DSP, data bases, operating systems etc. be of any value.