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.
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.
"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."
It depends on your level of domain knowledge. I saw a lot of programmers start into the world of biology seeking "interesting jobs", but with no background in the field. What they don't (usually) realize is that if a research lab is hiring a coder without research experience, they have some non-specific automation job that needs done. Think: maintaining the website, DBA work, basic sysadmin tasks, etc.
If you have a thorough understanding of a research field and you know how to code, life can be better. There is the potential of great upside (and the problems are usually far more interesting than building yet another caching/database system for a website). But even so, you aren't going to jump ahead of the guy who has spent his life studying the subject matter just because you breeze in with the ability to write code. Writing code is the easy part.
That said, academia is always a shitty place to be if you only want to make money and you aren't a football coach.
I agree with this, but I guess I don't know who he thinks needs this advice. I assumed his advice was for the programmer lackey who wishes they had a more interesting job. I would assume a biophysics PhD in this day and age probably already has been exposed to programming, maybe even in Python. I mean, my sister has an MPH and she had to take SAS programming courses, and she graduated 8 years ago. It's 2011, not 1979... most people realized computers were pretty important decades ago.
Yeah, I'd generalize the advice to: don't be a programmer, be a domain expert who happens to write good code.
I think that's still extremely valuable advice in a world where "hackers" are obsessed with the whizziest language, version-control system, editor, database flavor, etc., and other sorts of largely irrelevant technical ephemera that ages like dead fish.
Meanwhile, nobody understands statistics. It's a problem.
> don't be a programmer, be a domain expert who happens to write good code.
A million times, yes. I work in RF design, which feels like an extremely stodgy part of electrical engineering. People think Excel spreadsheets are the bee's knees, even when changing one potential part in your circuit means re-entering its parameters by hand. Don't even ask them to sweep across different frequency points (which affects part performance).
I get a lot more benefit out of writing some short programs in python that allow me to quickly iterate through possible designs, and across a serious breadth of options, than these "Excel engineers" do out of their worksheets. It's frustrating to watch so many people ignore so much potential to improve their work and output.
If there is a one takeaway for me here, it'd also be "don't be programmer, be a domain expert who happens to write good code". Well said!
As for the frustration you have by observing people doing mundane tasks; I bet every person who has had some decent exposure to programming have felt this way at some point (i.e "re-entering parameters by hand in excel"). And this seems so prevalent that sometimes I wonder if people should be force-fed process automation in their daily tasks. Say, we start from schools where children are deliberately given such exercises where where they have to perform tedious tasks; and then they are taught to spot and come up with ways to automate in order to speed up. Organizations could also have such culture in place where they constantly look for things that may be unnecessarily consuming employees' times, etc.
PS, obviously I am not talking about programmers as it's in their mindset to try to optimize any work they're confronted with.
Not true in biology, at least. You're correct that most people realize that computers are important, but most biologists can barely use a mouse, frankly. Being able to code doesn't make you a great scientist, but it's one more tool in your arsenal that you can use to attack scientific problems, and it's a fairly rare one in many fields of biology.
> programming for biology and medical research ... is just like any other mediocre programming job, but your office is a folding table under a decommissioned fume hood.
That is sooo spot on (left my bioinformatics job a month ago for the exact same reason).
What the author additionally misses is that when you have never programmed/developed as your primary means of making a living, you likely have never worked with people who do not consider programming to be scary voodoo magic, and thus you have missed out on a golden opportunity to learn from others who are better than you. If you value your skills, always try to be around people better than you, otherwise you will end up cut off from the rest in a dark corner writing silly musings like this one.
P.S. I guess you can interpret this comment as "Have read the article but ignored where it's from and who wrote it."
I get what you mean about learning from other people, but I don't think it's as black and white.
I think working on FOSS projects with the community can be just as rewarding and educational as working with someone in a similar scenario in a business environment, particularly when it is taken seriously and you leverage the community to better educate yourself in areas you aren't familiar with.
I just think it's disingenuous to imply that the only programmers who are better than you (or I) do it as a 9-5 job. Some do it just for fun.
Hey I'm not putting down FOSS -- the only way I myself learned that there is a better world out there is through FOSS. My comment was more general (i.e. if you are a programmer, it will do good to you to be around other programmers at least for some time; if you are an artist, it will do good to you to be around other artists for a while, etc.).
I 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.
I 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.
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.
They're social scientists/linguists undergrads first, programmers second, but programming plays a vital role in their academic career.
This is only because of the sad state of education where programming is this incredibly rare black magic that less than 1% of the people in your field know. (Mathematicians and Physicists obviously excluded.)
But this is changing, it has not been the case in physics since for ever, and it soon won't be the case in the softer sciences either. And when everybody is trained with at least a basic ability to program, then your super advantage is gone.
when everybody is trained with at least a basic ability to program, then your super advantage is gone
Yes, but like Math, not everybody can be trained in it. People either get math or they don't. Everybody has to take calculus to become a scientist or a doctor but most people never really get it and forget it shortly after taking the classes. I imagine the same will happen with programming: there will be a few required classes for a basic science education, but it will be lost on most people. Broader exposure will be good, but it won't magically give all scientists the ability to code.
Yes, but like Math, not everybody can be trained in it. People either get math or they don't.
I refuse to believe this.
There may be some very tiny minority that truly is genetically unable to get math. But for everyone else I believe it is merely difficult. Education is the problem, not genetics.
I am constantly worried about this. We (as software developers) are in a time where the ability to code is scarce, and very valuable. But, at some point in time so was being a carpenter, or a toolmaker, or any other skilled profession whose value over time has diminished. In 5 or 10 years, the sole ability to code will probably diminish in value, become more of a commodity, easier to learn, and maybe even become a low-end profession.
However, the ability to create a product from scratch, using programming as your toolkit, will always remain valuable. Focus on that - using programming as a means to an end of creating useful products - and you can't be marginalized by a glut of programmers.
Elance has been sending jobs to the UAE for a decade and developers still make above median wage in the USA.
Suppose the labour market floods with a bunch of newly skilled programmers. HN folks will still have years of experience on those who just finished Learn Python the Hard Way. And: even post this book, there is still a huge barrier to learn basic programming.
Experienced programmers might even like working in a world where more people can code. Imagine if your typical Design Client From Hell could do basic CSS and tweak reds for him/herself.
But to be honest, programming isn't black magic here. Not in an university. Music majors have to learn CSound, PureData and Max/MSP. Visual artists need Processing and Quartz Composer. Architects here have programming on the first semester (some of them wrote some badass Blender scripts in python). And that's just the ones I know.
Oh, and since I mentioned music software, a good portion of the indie audio-plugin community (the ones that gather around www.kvr-audio.com) is made of musicians, ex-musicians and the sort. Ableton Live (a game-changer in music software) was started by a german duo called Monolake.
I believe Zed's point is that there's a lot of potential for programmers outside of computer science and corporate software. Domain knowledge can lead to amazing things.
Programming plus domain knowledge is the killer combination. Programmers (or IT) got no respect from "business" people (finance, biologists, doctors, etc). They don't understand the difficulty of programming and think you are replaceable commodity.
But if you have the domain knowledge and the programming skill, you can turn the field upside down. Automate the jobs done by "business" people and commoditize them.
> Programmers (or IT) got no respect from "business" people (finance, biologists, doctors, etc). They don't understand the difficulty of programming and think you are replaceable commodity.
The inverse is also (probably even more-so IME) true.
> But if you have the domain knowledge and the programming skill, you can turn the field upside down. Automate the jobs done by "business" people and commoditize them.
Don't underestimate what you are doing though. Just because it's not super fun or interesting doesn't mean it's by any means trivial.
I looked for over a year for a job that I could love after I graduated with a BS in Applied Physics (and a ton of research experience) that would pay the bills, and I ended up mostly working on a pipelined batch processing framework, and web and database stuff, but at a DoE lab supporting physics experiments. It's a happy medium for me, I'm still around physics, I'm still hearing how people do the interesting things, and occasionally I get to drop back down into "find the novel mathematical way to solver this" mode.
Of course it's easy to be a quant and make money making rich people richer, and maybe it is glamorous, and many people prefer glamour, but glamour never cured anybody.
There you are on reddit, saying the same thing, and ignoring the fact that you're confounding your experience as a Biology postdoc with you use of code. Hopefully, as a scientist you know what confounding is. :-)
It was really interesting for me to look at all of the different directions me and my fellow students took after completing our CS degrees. I always joke that I 'sold out' with my programming skills for going to work at a news/media company to build their websites, whereas a couple of the guys a I know are doing a much more honourable thing by working in Biology and Space Tech.
I think it's unquestionable that they are the ones who are deserving of more respect, but I still think that it's not just our jobs that define how well we've used our programming skills. We're always hacking away on our own little projects, and hopefully carving our own paths, creating useful software along the way (something you excel in, Zed). I think that having the drive to do this commands more respect than any specific career choice.
Have you worked those other fields? It's something I've thought about, trying to bring more automation to the wetlab world, but I'm not sure my advances would be greeted kindly.
As someone with a math background who came into programming this statement is very true. It's ironic that I've worked on missile defense, NASA satellite, and UAV routing software only to see my coworkers dream of jobs with webpages or distributed systems. Science work _is_ interesting until you've done it for a few years. Then, it's just another application of the same thing you did last, in another context.
And by the way, you ever see the kind of code scientists write? You'd burn your eyes out. No, it's not "good code," it's "good science." There's a difference. The humble ones nod their head and say "I don't understand the difference." Good luck finding a company like that (www.aer.com <- John Baldwin's group, they're hiring and have awesome management.)
his 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,
I think what he's saying is that a biologist that can program can vastly increase their output. He's not saying that being a programmer that works under biologists in a biology lab is better than being a programmer in a tech company.
And I agree. Being able to hack scripts for number crunching, quick simulations, and so on is vastly useful when you're not working as a programmer.
Agree. I found that working as a programmer with a bunch of biologists, you're somehow become the "support staff", the "computer guy". Sometimes, a "cost center".
When you're working as a programmer in a technology company, you're creating "core product". It's quite a different feeling.
I agree as well. That quote reads as a case of "grass is greener on the other side." People who make Augmented Reality software get respect. People who make accounting software don't.
To generalize, doing interesting things with user interface brings respect. Behind the scenes and office software doesn't. (and I mean strictly outside our "techie" circles)
Yea, I second that. Although I'd say that if you could have your cake and eat it too, it's the best.
Guys like David Shaw who funded their own trading firm to get the bitcoinz so that they could work on fun stuff like DE Shaw Research.
Or even the programmer that eventually published a Bioinformatics paper in Nature without any official affiliation, that just started by poking his head into UT labs; can't remember his name but probably pissed off all of the post-doc indentured servants who slaved away for years for minimum wage and in comes Mr.Programmer to take away their thunder.
But yea, speaking from experience working for Big Pharma IT has both good and bad. Low stress, good stability and decent pay but in no ways does it match the pace, (potential) pay-out of working at a prop desk/brokerage.
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.