Hacker News new | past | comments | ask | show | jobs | submit login
Programming is a Super Power (programmingzen.com)
127 points by acangiano on March 21, 2011 | hide | past | favorite | 65 comments



This week, I'm using my super power to replace a sign-up sheet in a clipboard that once hung on an office door. Is there any menial task I cannot defeat? I am Invincible!


That's along the lines of what most programmers do, and each defeat is chipping away at inefficiency. You're doing your part in the greatest productivity revolution in history :)


So something that could be done by anyone with a paper, pen, and the technical know-how to operate a ruler, is now replaced by someone with a specialized domain knowledge that is creating something that will need to be maintained and likely obsolete in a few years. And they call this progress.


Perhaps I could interest in you in a sales position with my company, http://73primenumbers.com ?:-)


Are Enron, Bernie Madoff and Worldcom really your clients? Might need a fix up there :)


I guess I should update that and add Bear Stearns.


Maybe the list is for a public event, and they don't want people to call in or come to the office just to add their names.

Maybe the list got too long and difficult to manage.

Maybe the maintainer of the list wants to search for specific people without scanning the entire list.

Maybe the maintainer wanted to be able to email attendants without manually entering all the names.

I don't know the specifics of the project, so perhaps you're right. My point was not specific to the project; I was simply trying to allude to the fact that you don't have to be writing the software for rocket ships for it to be useful and productive.


The ultimate superpower of IT-consultants is the power to make people forget to ask the question "why?".


Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done. -Andy Rooney


However I feel like our "productivity revolution" is for naught, when we still end up working ourselves to death and having no free time to show for it. Whatever happened to "computers will make our lives easier?" For whom? When does it pay off? When does the programmer get to rest?


Step into the 1970s, and try doing some of these things:

  - Professional-quality publishing (text, images, printing)
  - Sending text/images to your friend in another state
  - Looking up any kind of information (Library trip?)
  - Buying things that aren't at your local grocer (Mail-order?)
Try this experiment: Spend a week doing everything without a computer. How productive are you, compared to before? How often did you find yourself wishing you had a computer to help you?


Step into the 1970s and not need to do those things. If you had to type stuff on a typewriter, you didn't spend hours picking out a pretty font, you used the one you got: the typewriter font. Nobody cared if your publishing wasn't professional quality, theirs wasn't either. You didn't IM your friends inane updates regarding your current thoughts on whatever Sarah Palin said five minutes ago, you sent them actually interesting letters. For that matter, you didn't have 1000 "friends", you had 10 real friends.

When someone asked "Who was that guy, in that movie? You know, the guy?", you didn't look up imdb.com on your smartphone while everyone watches you type on a tiny screen, you said "dunno" and moved on with your life. You didn't spend ten minutes debating between buying the 4ft or 6ft USB cables and finding the best price online because you didn't need to buy USB cables.

Yeah, things have changed, but progressed? Don't get me wrong, I wouldn't want to go back, but that's more to do with being accustomed to this lifestyle, not because it's particularly better. We do more because we're expected to do more, and we're expected to do more because somebody else started doing more.

"Even if you win the rat race, you're still a rat."


And, in the 1970s & 80s, if you were together in a room with your 10 real friends, odds are that at least 9 of them were actively engaged in some form of meaningful social interaction. In 2011, 4 of them would be checking email, texting, twittering on their smartphones, another 3 are playing Angry Birds, 3 are talking about an insipid reality TV show that they watch in order to avoid contemplating their empty isolated existences, and 1 is waxing nostalgic about how, circa 1982, people used to have genuinely meaningful conversations and how intrinsically rewarding that was. Not all that glitters is gold, including technology.


"When someone asked "Who was that guy, in that movie? You know, the guy?", you didn't look up imdb.com on your smartphone while everyone watches you type on a tiny screen, you said "dunno" and moved on with your life."

I specifically remember my godfather running around the house in his underwear yelling "I have shit for brains!" when being proven wrong about a movie after 20 minutes of arguing back and forth.

The elimination of that ritual is a net benefit for society.


The amount of noise also increases with the amount of signal. I guess it's just a matter of how much you can take before you decide that it's too loud.

Your comment about imdb and USB cables reminds me of this post on Penny Arcade: http://www.penny-arcade.com/comic/2011/3/9/


"You didn't spend ten minutes debating between buying the 4ft or 6ft USB cables and finding the best price online because you didn't need to buy USB cables."

I do specifically remember running around for hours looking for the catalog of office supplies from my local office supply company then spending at least an hour finding the right kind of hanging folders to order (then waiting 6 weeks for delivery).

Repeat that exercise for pretty much everything from power cables to underwear and we're definitely in a better place.


Surely you must have enjoyed thumbing through a telephone book sized Computer Shopper magazine before?


Ha! I haven't heard that one come up in a while. Computer Shopper used to be my regular Saturdays (and yes I mean the whole day).

When I was a kid I used to flip through the Sears catalog to the toy section.

I actually really like the catalog that ThinkGeek sends out. It reminds me of all the good parts of the SkyMall magazines, but with funner toys.


We're more productive, sure... but we spend just as much time (if not more) working to maintain a "normal" standard of living.


Parkinson's Law? We can get more done, so we find more to do.

http://en.wikipedia.org/wiki/Parkinson%27s_Law


> when we still end up working ourselves to death and having no free time to show for it.

Speak for yourself. Why are you working yourself to death? I am a programmer and am not working myself to death.


> You're doing your part in the greatest productivity revolution in history :)

Yeah, but we still have to deal with the anti-programmers who create negative productivity with their grotty code before we're in the clear :)


It hit me one day last year that all I ever did at my job was create virtual paperwork.


Everything I've ever programmed was a replacement for an Excel spreadsheet.


I still have to push the button down to make toast, and watch it like a hawk so I don't make charcoal. Feeling ambitious?


clean the bathroom comes to mind and make pot of good stew is another.


If only some programmable general purpose robot was available, programming could do that too :) Currently you'll need electronics and mechanical superpowers as well.


It really isn't. Can we please stop the 'superhero' meme?

I'm not a superhero. I'm just a person who knows a few programming languages and can hack things together. It's not a great feat: it's just typing bits of logic into a computer. If you can think logically and with a reasonable degree of abstraction, you can do it too!

We should be shouting from the rooftop that it's fun and easy and giving children lessons in Python or whatever, not turning ourselves in to a priesthood just to boost our own egos.

The best sort of superheros are modest and work quietly in the background rather than shouting about how awesome they are. Can we try that?


I think that I may not have made my point clear. The point is not that we are superheroes for knowing how to program, but rather than learning to program is so cool that it's like having a super power, for what it enables you to build and do. If you read the article, you'll see that I mention how even "product guys" should learn how to program. In my next post, for example, I'll talk about how to learn programming as an absolute beginner. When it comes to programming I try to take a stance as far as possible from elitism.


Carpentry is a Super Power. The point is not that we are superheros for knowing how to build, but rather that learning to build is so cool that its like having a super power, for what it enables you to build and do.


Carpentry is a super power. Just about every girlfriend I've had has been very turned on by guys who can build things with their hands; my brother made a (successful) engagement ring out of 5 different kinds of Amazonian hardwoods that looked amazing. I think people like _why would agree that learning to create things, regardless of the medium, is so cool that it's like having a super power.


By this standard, pretty much anything that doesn't involve trivial desk job paper pushing is a super power. Bricklaying? Check. Welding? Check. Mech eng? Check. Digging ditches? Check. Everyone's special, Dash.


I see a fairly natural superpower line with welding and mechanical engineering (alongside machining or some rapid prototyping ability) on one side, and bricklaying, ditch digging, etc. on the other side.

Bricklayers and ditch diggers don't often think of something cool and then make it happen with those particular skills.


I've been learning to weld (using the TIG process) and it does have that cool mixture of being able to produce amazing, strong physical objects and also being Dark Magick for the average person. The TIG process in particular is a mixture of science and art that makes you feel like a wizard when you start getting good at it.

Watching a professional bricklayer work is pretty mesmerizing. The really good ones achieve this rhythmic action where they seem to manage to quickly and accurately place and set every brick while taking advantage of inertia of the moving bricks to expend the minimum physical energy possible.

I don't think there are any ditchdiggers left in the united states though, only bobcat or backhoe operators.


I've seen robotic welders, but I've yet to see robotic bricklayers.


Bricklayers have built buildings that have lated longer than the IT industry has existed.


I see a fairly natural superpower line with welding and mechanical engineering (alongside machining or some rapid prototyping ability)

For some reason that reminded me of this.

http://www.youtube.com/watch?v=_5uQz_V0sbI

Watching the complex and beautiful movements of the various parts of the engine, the raw power, the drama, it took superhumans to figure this out, to contain tons of iron and steel, and water, and fire and turn it into something so exquisite and powerful.


Bricklaying (and construction methods in general) let us build useful, comfortable buildings that protect us from the elements and let us build cities. Agriculture lets us feed our whole population; without modern agriculture we would have mass famine. And while we're on the subject of agriculture, there are some supporting technologies that we shouldn't forget; the Haber-Bosch process, for example, has the power to miraculously convert nitrogen and hydrogen into ammonia that we can use as fertilizer, on an industrial scale. Without it, we would starve.

We take all this stuff for granted, but damn it, don't these count as super-powers?


Yeah. And without organizers and managers the complex system is likely to collapse, and without truck drivers and rail workers food can't get to people choose to live. Don't me wrong - I appreciate the complexity of society as much as the next guy, but there's so many people involved that calling everything necessary for people not to starve "super powers" causes the term to completely wash out.

Everyone's special. Which is another way of saying no one is.


Yeah, but who will then take care of repairing our bicycles?


Whoosh.


> The point is not that we are superheroes for knowing how to program, but rather than learning to program is so cool that it's like having a super power, for what it enables you to build and do

Programming isn't a super power. It isn't even like a super power. It's a skill.

It's like any other skill: when you're good at it, it allows you to do things nobody else can do, and you make difficult and challenging tasks look effortless.

I know you say you're standing away from elitism, but things like "even "product guys" should learn how to program" certainly smacks of it. There's no doubt, programming computers is pretty astounding. But so is cold-calling someone and convincing them to give you thousands of dollars for software they may never have heard of. So is building and maintaining the hardware that modern software runs atop.


On that same note, can we also stop with the false-modesty meme? A lot of what we do is actually pretty cool and it does take a certain amount of smarts, hard word, and yes even talent to be at the top of your game. There's nothing wrong with saying so or being proud of it.


The same is true of doctors, accountants and lawyers but they're not running around calling themselves superheroes, ninjas or rockstars like a bunch of thirteen year old boys.

It's not about false modesty, it's about being vaguely adult once you get into your twenties.

[Goes back to playing video games and ordering D&D manuals on eBay.]


About a month ago I wrote on Twitter: "Does your IT company provide drugs, alcohol, and groupies? How about katanas? No? Then you aren't hiring rockstars or ninjas."

As you can see I'm the first one to be oppose to meaningless names. However the point of the article was not about labeling ourselves as super heroes. It was about inspiring new comers to take the plunge because programming, in this information age, allows you to do incredible things as if you had a super power.

This is akin to a doctor blogging about how you can be a hero and save lives if you go into the medical field. It's supposed to inspire new people, not putting ourselves on a pedestal and literally say "I'm a super hero because of my profession".


Katana were too long for a ninja - they'd more likely use a Ninjato which was shorter... [Puts geek credentials away and gets back to the point]

Yes programming is great and useful but I think super power is overstating it and is just meaningless, sightly immature hyperbole.

If people want programming to be attractive and interesting to more people then they should possibly think about not using super hero, fantasy and sci-fi metaphors as they only serve to re-enforce the view that most non-programmers have rather than do anything to dispel it.

This isn't really having a go at you, more the a culture that exists within certain sections of the programming community. Don't get me wrong, I still play D&D and video games, and I still read comics (though in trade hardback these days). There's nothing wrong with these things but they're not things which most people are interested in and are therefore not a great way of making programming seem cool or interesting beyond a very very small group, most of which are already working in it.


I think the point is that the super hero meme is specifically targeting the group of people who are already aligned with much of your stereotypical "geek" culture. The difference is that nowadays there are so many avenues to take following this path that won't necessarily end up at programming. I think the point that cicero made here http://news.ycombinator.com/item?id=2350004 is crucial.

There was a time where being "into" computers meant you inevitably became exposed to programming concepts and eventually dabbled in a bit of it. That's no longer the case. It's helpful to reach out to this group of potentials and show them how awesome it can be to bend the computer to your will. It's just a matter of speaking the language of the group you're trying to reach. I think the superhero metaphor is a good one.


But that's my point - if you're going to reach out to a group of people who are currently outside the norm for computing, you might want to use metaphors and ideas that will resonate with them, not the idea of superheroes which is frankly one which resonates with pretty much the same people who are already attracted to the industry.

We absolutely should be selling the industry and the career - the best teams I've worked in have always been diverse (in pretty much every respect) but you're not going to do that with this sort of pitch.


OK, no more false-modesty. Only judicious humility from here on out.


I'll be showing this article to my high school computer science students to try to raise the excitement level among some of them.

Programming is hard enough that kids have to be pretty motivated to choose to do it. At our school, Computer Science is an elective at the High School level, and it is more difficult than many of the other courses they could take. Although most of our students think computers are cool, they also think they know all they need to know about computers without having to wrestle with the tediousness of getting the syntax right and figuring out why their programs are locking up.

I learned to program as a kid because in the late 70s, that was about the only thing you could do with a computer. I was lazy enough as a teenager that if I had an Xbox 360, iPhone, and other electronic distractions, I might not have bothered.

Now I find that I have rather deep knowledge about a technology that permeates our lives today. I would like my students to get excited enough about gaining that kind of knowledge that they will do the hard work it takes to reach such a goal. I think it could help if I put into their imaginations the idea of getting a superpower.


We could, but I doubt it would work. I acquired interest in programming after I realised it was a powerful skill to have. I remain interested because every so often, I am amazed at the results it can produce. While I do not believe it is actually a superpower, I think it might be productive to market it as one - one that YOU, too, could possess. I don't think the majority of kids want to be modest and work quietly in the background, but I think most kids have fantasised about being superheroes. I mean, many adults still act out superhero roles by playing RPGs.


I agree with your characterization of programming, but I think a lot of people are taking this too seriously.

Obviously programming isn't a superhero ability, as superheroes do not exist. It's exciting and awesome to learn to be able to do the things we do, and that's what I took away from the article.


I like the spirit of what's being said. It's close to something I've been telling a few folks recently which is this...

Being a software developer in this day and age is like being a magician (wizard?). Sure those of us that know this voodoo magic find it commonplace but to those outside it really is magical. I mean to be able interact with people around the world with technology and have so much automated in finance, retail, search, manufacturing, etc. is truly amazing if you stop and think what we can do today that we couldn't do 20 or even 10 years ago.

I don't feel like a super hero, more like a accomplished wizard with some tricks up his sleeves, but willing to help others learn the ways to control information. Maybe a little corny, but I hope you all get the general understanding.


As per some of the other comments,I would prefer that we don't take the "super hero" meme too far, especially since the barriers to entry are decreasing every day as new, even easier to use tools, are rolled out. (For example, back in the 90's, anyone with solid power point skills was a "Super Hero" to those who needed presentations put together quickly and cheaply.) Being a really good miner/gold panner in the 1840's would have also given a person "super hero" like powers to the extent they could participate in the gold rush.

However, one thing that still stands out to me about programming is something the Paul G. said in one of his essays. I don't remember which one and don't have time to look for the exact wording, but it was something along the lines that programming/IT was one of the last areas where someone, through their own hard work, ingenuity and innovation, working in a "garage" could create phenomenal wealth. Although very few will ever achieve Gates/Zuckerberg type wealth (or even any kind of wealth at all), the very fact that it is possible is appealing to many. Plus, it's fun along the way...


What does it mean to be superhuman?

We always think of superman or spiderman, people with the strength and powers of minor deities. But really, somebody who is a mere 1% faster at something than every other human on the planet is "superhuman".

Imagine a person who was 5% smarter, stronger, faster, etc. than any other human on the planet...would they not be a kind of "superman"?

My day job has very little to do with development, it's much more a regular old office type job (one of the reasons I'm so into working on my startup with my wife, a chance to dust off and regularly use long dormant skills). What's funny is on occasion I'll pull out a nerd tool, perhaps write a little Perl script to automate some mind-numbing task, and for that moment my co-workers think I'm a superhuman. What's even better is when I can teach them something that punches up their abilities a bit.

Really simple things, like navigating Excel better, or teaching them simple regular expressions. I taught a colleague some regex and he has payed it forward by single handedly rewriting the process model where he works, turning a grueling multi-week process of copy-and-paste (by hand) into a 30 minute regex exercise. He freed up 30 people to do other stuff because now that excruciating part of their business process has simply poof gone away and now they deliver 3-4 weeks earlier.

(I asked him why they didn't just use a technical solution earlier. He said his management listened to the complaints from the staff about the problem and brought in a bunch of consultants who recommended a very expensive IT effort, complete with 230 page slide deck. He fixed it with a $27 TextPad license and a day going over regex with me. Now he passes along this little sliver of golden knowledge, infecting everyone he can with it. But alas, most of his co-workers mere accept that he's made it faster, and think they couldn't possible do that themselves.)

It's not something intrinsic in developers that makes us superhuman, it's merely a willingness to learn and sweat through all the mental work. A person can improve 5% from where they are simply by a bit of effort, 5% isn't all that much -- does that not make them superhuman with respect to themselves? Can superhumanity be earned?


To paraphrase Erasmus: In the land of the blind, the one eyed man is a super-hero.


Or, paraphrasing Saramago: In the land of the blind, the one eyed man is a monster.


Or, to paraphrase unknown: In the land of eunuchs, the one-balled man is king.


When you put it that way, The Social Network seems a lot like Spider-Man with computers.


A long time ago I heard someone say that software programming is the biggest kick this side of black magic, and I still agree.

It still blows my mind to think that I can manipulate information by manipulating the states of very small switches.

It is black magic.


"Today we are standing on the shoulders of giants, and are able to access amazing development tools, frameworks, and libraries "

Being able to make an impact mostly depends on how many other people have the skills you have. So while I am still optimistic, I still like programming, etc... I think making an impact today as a programmer is not easy. Me, who has been programming for more than 20 years from now (I started at 12) I think my business and product design knowledge is what is to be developed further to be able to have a more balanced knowledge. It is not easy, I am better and better, but my ideas are still too technical. I have to concentrate not to be too technical. Of course for a business guy the other direction makes sense (to develop technical knowledge besides business knowledge to be more balanced.)


Almost got it right: good programming skills and the ability to get your head into different problem areas of business and/or science is the super power.


It's a lot more like being able to read and write in medieval Europe.


I totally agree with this. We good skills we could do unlimited things. Good ideas are a dime a dozen, but implementation is priceless. We have the power to implement them.


Go us!




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

Search: