Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Kinda true BUT....

Maybe you'd be surprised how many programmers there are out there who don't care if anyone uses what they do, don't want to interact with users and aren't really bothered who it affects, and would rather be left alone with the purity of "here is a task, go, be a programmer".

I'm not like that now, but I used to be, and I know a lot of people that still are. All that messy stuff like business decisions, market research/development, customer support, requirements capture... all that is so much more soft and ill defined than me, my DE, a defined goal (that I may or may not have helped set) and a paycheck at the end of it. Then I don't have to think about anything but the code.



I broadly agree with you, but I can't help but feel that you're patronizing the position needlessly.

I think it's perfectly respectable for someone to care if anyone uses what they do and to want to interact with users and care if their problems are solved - but, at the same time, desiring to do this within an order of magnitude of 40 hours a week, receive benefits, not have to worry about paying the bills, even if the client can't be bothered to, don't have to deal with the nitty-gritty of sales and bookkeeping and boardmeetings and fundraising and the landlord and sourcing a new datacenter[1] and dealing with the ISP[1] and making sure the Jenkins box is keeping up with backups[1] etc etc.

The career options for a developer (especially a good one) is a broad spectrum of opportunities, not just a black and white selection between the machine room of a bank or your own startup.

Edit: 1: Unless that's what you want to do.


I certainly didn't mean to come across as patronising, sorry about that, it's a mindset I've been in and one I sympathise with and frankly one I'm tempted to go back to.

It's really nice to have only(!) the technical challenges laid out in front of you and not have to deal with the business fluff.


  > Maybe you'd be surprised how many programmers there are
  > out there who don't care if anyone uses what they do,
  > don't want to interact with users and aren't really
  > bothered who it affects, and would rather be left alone
  > with the purity of "here is a task, go, 
  > be a programmer".
We're really talking about people who have single domain expertise versus those who have multi-domain expertise. Most people can get by just fine with single-domain expertise, and have little motivation to go through the growing pains of learning another.

Interestingly, I've noticed that along with the increased amount of "startup porn" on the interwebs, I'm encountering more and more programmers who think that they want to move out of their comfort zone and deal with all of that messy business stuff. I suspect that it's articles like this that are causing programming specialists to become insecure, as there's a subtle arrogance to them. From TFA:

  > I'm also a person. Programming is just one thing I do.
As if those who choose focus on programming are not people.


You can NOT have a single domain of expertise as a programmer, and be a great programmer.

You have to at LEAST have a good base knowledge of both programming, how to solve/codify problems and solutions, AND the domain knowledge of the problem you are trying to solve. Almost no programming is providing programming solutions for programming alone... the vast majority come from real world business needs.

Yes, there are some domains that are programming tools.. languages, platforms and frameworks... and many programmers focus on that, which is why there are plenty of options. However, that alone will not make you a great programmer.

I've spent most of my career doing contract work, because I absorb domain knowledge like a sponge, and enjoy it... I think my most productive time was in aerospace e-learning. It meant becoming a domain expert in e-learning, as well as the subject matter for the content of the e-learning. Now, I'm not a jet engine mechanic, and have no inclination to be, but being able to create a simulated interface for some of those systems was really enlightening, and I learned a lot about sheer engineering from that experience.

I've also had the chance to learn about systems security, and business processes in other positions... Not to mention providing a clear user interface and experience for interaction along the way. I love to learn, and have never enjoyed traditional education. Programming has given me the opportunity to learn in more depth about more subjects than a typical person does in several lifetimes.

If you aren't learning in this industry, and are only focused on programming, then you will be continuously behind... then again, there is plenty of work out there for mediocre code monkeys.


  > You can NOT have a single domain of expertise as a 
  > programmer, and be a great programmer
Nobody said anything about great programmer.

edit: And you're defining great only one way: Someone with multi-domain expertise. Certainly someone who is expert at databases can be a great programmer too.

edit 2: great is measured relative to the problem at hand... If you have a deep technical problem, then multi-domain expertise doesn't really give you any edge. If you have a business problem that needs a technical solution, then having expertise in both the business side and technical side is an advantage.


Personally, I have no problem consulting the domain experts before coming up with a solution. Personally, that's all a great programmer really needs to be able to do in my opinion.

You really think you're a domain expert because someone discussed their business requirments with you in order that you complete a job? Ah maybe you are, but's it's not the impression I feel you're giving off right now.

No offense though, it's probably just a cultural thing. I have a hard time calling myself an expert in anything, yet many with much less skill sell themselves quite a bit harder.


No... I only said I became an eLearning domain expert... What I said was you need to know more than just programming, and insight into the problem domain is critical to delivering the best product (in terms of time, and budget constraints)... knowing what is really needed is important.

I don't really consider myself as much of an expert on anything... I know I'm better than most at JavaScript, and that I (used to) know a lot of current technology surrounding e-learning specifically (haven't followed the tincan project much, which is replacing SCORM).

I never meant to imply that one had to be an expert in the problem domain, only that you had to learn the domain to deliver an exceptional product.


There are also people who write insanely complicated and featured software for themself. They open-source or might even sell it, but their only target user is themself.

You can code a long way solely - because you spend no time on communication.

Sometimes their software is useless for anyone but themself. Sometimes it is useful and then it forms a whole fanatical community around it.

How to determine you've hit this piece of software: it has tons and tons of features and they all interact beautifully, provided your needs fit whatever task the Creator had in mind. Everything you can think of is already there and works.

Example: Far Manager (for windows; early versions, anyway).

Paradigm shifts tend to leave such projects on the sideway because the previous paradigm was pretty fine for the Creator so he sticks to it.


And I think you would be surprised by how equally dispersed it is out there. For every developer that doesn't care there is at least one more who does.


Errr... I'm not saying there isn't, and it would be very hard to put a number on it, I just wanted to point out that there does exist a large group of tech folk who actually want the sort of situation described.




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

Search: