Live data from Hacker News

I am a programmer

jacquesmattheij.com

91–100 of 130 posts

Re: I am a programmer

#91

"My main occupations are being owner/operator of ww.com" This guy is not a programmer. He is a business owner that can program. He can call himself a trashman and not loose a dime.

Everyone is a business owner. If you sell 40 hours of your time per week to "Major Corporation X," you are still running a business.

With that, I don't see many businesses marketing themselves with titles. You don't see "Google - Search engine engineers", you see "Google". The former would be pretty foolish marketing in my opinion. As such, I refuse to use titles at all.

Re: I am a programmer

#92
What this particular farcical drama boils down to is the tension between the creative and the business. It is identical in spirit to the musician's dilemma.

Usually it comes out to something like this, "Do we take pleasure in our art and pursue the art, or do we take pleasure in selling our art in pursuing that?"

It's painfully obvious that good businesses pay people to create a positive value proposition for them. Therefore, if you are running your career like a business, you need to be seeking to maximize your value proposition. Part of that is passing yourself off as a maximal value creator. That is one half of the essence of patio11's point.

A lot of the artists I've dealt with are content to seek their art and to work in badly paid jobs to maximize their pursuit of their art. As someone who can program computers, we can draw value from our art. We do not need to hack at night and work as a barista during the day. That is the other half of the essence of patio11's point.

No one has to take patio11's advice, and their priorities may not align with his priorities.

But if you're maximizing wealth creation through being a programmer, you need to stop 'being a programmer/hacker/ninja/rock star/operator' and start 'being a person who creates wealth for other people via technology'.

Re: I am a programmer

#93
post #90

Earlier quoted context omitted.

The aerospace and medical fields have done quite a bit to increase the rigor in building software, however there doesn't seem to be any push from them to codify their processes and establish some sort of push for the industry as a whole. The establishment of a true Software Engineering discipline would require some consensus on the use of formal methods in specification design, and then program verification. The othe…

Codify their processes? http://en.wikipedia.org/wiki/DO-178B On the avionics software I worked on, we (another group of people) designed and manufactured the hardware. I'm not as familiar with the process there, but I have no reason to believe that it wasn't done with similar rigor. [See http://en.wikipedia.org/wiki/DO-254 ] I understand mathematical proof, but I wasn't sure that was what you meant. I did not realize…

I'm sorry, I wasn't very precise in my language, I meant the industries working together to generate a more generic process that isn't tied to a specific industry. This would be done with the intention of building a Professional Software Engineer program.

Anything relying on the physical world obviously cannot be mathematically verified, however the mathematical rigor is still there in the modelling and testing.

Re: I am a programmer

#94

Earlier quoted context omitted.

“Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.” If you call yourself a programmer, someone is already working on a way to get you fired. That sounds derogatory to me. His opinion is that business types could care less about what you do. You're not a programmer but an exploitable resource. Since when is being a crafts-person and being proud of your work and…

> Since when is being a crafts-person and being proud of > your work and what you do bad? Nobody said it was. Not the original article, not me, not anyone. > I'm in the business of producing good software. I don't know, maybe you are. Right now, I'm in the healthcare business. My main client is a medicare company and they want people to sign up for their plans and fill prescriptions, preferably for the cheaper generi…

If someone comes along who writes poorly-architected messes but that achieve those goals better my client will leave me for them. I will be disgusted as a programmer that this happened, but it only makes sense.

I understand what you're trying to say, but I disagree that people perceive "programmers" as highly-paid peons. If they did, why would you want to work for them? There are companies who are desperate for good programmers and recognize that good programmers are hard to come by. Negotiating with them is much less adversarial, I assure you.

I don't disagree with a lot of what you're saying. I think we can both agree that a good programmer understands their role in the business and should view their practice holistically as a part of a much bigger entity. However, I don't think that people universally see programmers as overly-paid gurus or what-have-you. Assuming they want skilled programmers to work for them, why would they look for replaceable cogs and peons?

The true cost of hiring those kinds of programmers will not be apparent until 5 years down the road when you're spending 80% of your budget and time fixing bugs and putting out fires from pissed off client who cannot believe you would ship them such a shoddy product.

Again.. maybe there are people in the world who still do not know what a programmer does or the value of hiring good programmers. I would argue that they're probably in the minority or hiring for a position that doesn't require a lot of skill. In that case perhaps Patrick is right -- but again, why would you want to work for them unless you're desperate to fill in your H1B requirements or you're straight out of school and have no experience. A good programmer can do a lot better in my experience.

Re: I am a programmer

#95
post #90

Earlier quoted context omitted.

Codify their processes? http://en.wikipedia.org/wiki/DO-178B On the avionics software I worked on, we (another group of people) designed and manufactured the hardware. I'm not as familiar with the process there, but I have no reason to believe that it wasn't done with similar rigor. [See http://en.wikipedia.org/wiki/DO-254 ] I understand mathematical proof, but I wasn't sure that was what you meant. I did not realize…

I'm sorry, I wasn't very precise in my language, I meant the industries working together to generate a more generic process that isn't tied to a specific industry. This would be done with the intention of building a Professional Software Engineer program. Anything relying on the physical world obviously cannot be mathematically verified, however the mathematical rigor is still there in the modelling and testing.

Ah, I think I follow then. Mathematical proof of very large software systems may presently be impractical; the verification procedures currently in place for avionics systems are pretty daunting as they stand.

I'm not sure what we would gain from an overall software engineering professional qualification. While I am quick to point to avionics development as (in my opinion) being true software engineering, I also acknowledge that a great deal of software is not built using any methods even remotely as rigorous. But then, it also probably doesn't need to be.

You put a lot more rigor into building a house for people than you do a house for dogs, and you put a lot more rigor into building a skyscraper office building than you do a house. And rightly so. Each needs to withstand different levels of pressure. I see no reason to apply rigorous engineering processes to iPhone games; it would be a waste of time and resources.

As it is, the industries that require rigorous software development have produced their own standards. I suppose if you could ascertain the similarities across industries and codify that into general software engineering practices, that could be a good thing, but you'd probably still need industry-specific regulations to make sure nothing was missed.

I dunno. Maybe if more software needed extensive rigor it would be more obvious what needs to be done across industries.

Re: I am a programmer

#96

"We're middle-men (and women), glorified translators" By that rationale, teachers are glorified dictionaries, accountants are glorified calculators, and lawyers are glorified secretaries. "Programmers don't 'unemploy' people" Bullshit. If I build an automated fraud detection system for a bank and they lay off 50 people in charge of fraud detection after it goes live, I most certainly made their jobs redundant. If I b…

I think this mini-debate is a clash of personal values more than anything else.

Jacques is essentially saying, "I'm a programmer, and I'm secure in that. Even when I'm just gluing existing code together, I'm damn good at it. I know that being a programmer who hacks code, first and foremost, doesn't make me a replaceable cog."

Others are not satisfied to think of themselves as doing gritty work that is not always an act of creative expression or a uniquely inspired solution. If I'm just wiring stuff together, the thought goes, surely anyone can do that? Ah, but the creativity lies in the problem solving, and that's what the employer/client cares about anyway. So I'm a problem-solver, first, and a programmer second.

I think some people are happy to be "just programmers" or "programmers first" and others are "programmers second."

In reality, there aren't two different jobs called "Software Engineer" and "Programmer" across companies, though glamour of title may be a hint as to how a company values and treats their programmers/engineers. If you have 20 years of programming experience and are hired to write code, you're a programmer by default. Whether the work is dull or interesting, creative or rote, or paints you as an "artiste" or a "cog in a machine" depends on the job rather than what you call yourself.

It can't hurt to bill yourself as a problem-solver with business and entrepreneurial savvy, etc., as companies will always say they want people with iniative and higher-level thinking, even if they aren't prepared to let you exercise it. Put another way, no potential employer is going to say, "We're looking for a programmer, but it says here you're an engineer. Are you sure you're not over-qualified for this position?" Your self-given title won't save you. On the flip side, a good company looking for highly creative engineers will know that many of them call themselves "programmers."

In summary, I see the "don't call yourself a programmer" advice as coming out of fear of being a replaceable menial worker, more than reflecting any reality about hiring practices or the deep nature of programming. Jacques's argument is, "Programming can be pretty menial sometimes, but good programmers are hard to replace. So avoid the duller work, and solve people's problems, and you can have a happy, highly-paid career."

Re: I am a programmer

#97

The problem I have with Patrick's essay ("you are not a programmer") is that it addresses a situation that hardly any developer ever finds himself in. If I go to interview for an engineer position, it matters exactly not one bit that I try to pass myself off as a solutions architect or a business problem solver, except for possibly some awkward glances back and forth. All they want to know is how long I've been codin…

You did not understand Patrick's essay.

He did not say give yourself a ridiculously fancy sounding title. He said tell them what you've done in the past and give yourself a title that engenders respect from your non-hacker friends. For example, if you tell people you are a software architect and you designed the system that made your company X million dollars, you will get respect.

If you don't spend at least some time thinking of your companies business processes then your just a non-thinking cog. Challenging these types of things is not only how you get ahead, but it's how you differentiate yourself from the non-thinking cogs.

Re: I am a programmer

#98
post #95

Earlier quoted context omitted.

I'm sorry, I wasn't very precise in my language, I meant the industries working together to generate a more generic process that isn't tied to a specific industry. This would be done with the intention of building a Professional Software Engineer program. Anything relying on the physical world obviously cannot be mathematically verified, however the mathematical rigor is still there in the modelling and testing.

Ah, I think I follow then. Mathematical proof of very large software systems may presently be impractical; the verification procedures currently in place for avionics systems are pretty daunting as they stand. I'm not sure what we would gain from an overall software engineering professional qualification. While I am quick to point to avionics development as (in my opinion) being true software engineering, I also ackn…

There are tons of industries that should require it. The issue is that we focus in on the software that can directly kill us, rather than all the software that can indirectly do it. We instantly reason that all software we use to control things like cars or airplanes should be highly controlled, but what about financial software, phone systems, medical records software?

One of the sloppiest and haphazard programmers I ever worked with is now writing software for non-critical medical monitoring devices (external monitors like O2 sensors, and blood pressure monitors) and it scares the living daylights out of me. When I'm in a hospital room I look around to see if his company's hardware is in use. It might not kill me, but it could contribute to that end.

I'll come full circle around to my initial assertion that I don't know if we can even get to the point of a true Professional Software Engineer. Many of the tasks we deal with are highly abstract. How do we define an acceptable failure rate for a TCP stack? And even if we do, how do we take that into account for a monitoring application? There are many hard questions we have to tackle prior to our industry being taken seriously as a true engineering discipline.

What troubles me is that very few of the leaders in the software community even care about these questions.

Re: I am a programmer

#99

"We're middle-men (and women), glorified translators" By that rationale, teachers are glorified dictionaries, accountants are glorified calculators, and lawyers are glorified secretaries. "Programmers don't 'unemploy' people" Bullshit. If I build an automated fraud detection system for a bank and they lay off 50 people in charge of fraud detection after it goes live, I most certainly made their jobs redundant. If I b…

Efficiency kills jobs by definition.

Yes, efficiency kills (old, existing) jobs, but that gives new leverage to expand production beyond what it was before.

That's why the wheel, the industrial revolution, etc. have all increased the well-being of the world, not decreased it.

It's called progress.

Re: I am a programmer

#100

Earlier quoted context omitted.

“Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.” If you call yourself a programmer, someone is already working on a way to get you fired. That sounds derogatory to me. His opinion is that business types could care less about what you do. You're not a programmer but an exploitable resource. Since when is being a crafts-person and being proud of your work and…

> Since when is being a crafts-person and being proud of > your work and what you do bad? Nobody said it was. Not the original article, not me, not anyone. > I'm in the business of producing good software. I don't know, maybe you are. Right now, I'm in the healthcare business. My main client is a medicare company and they want people to sign up for their plans and fill prescriptions, preferably for the cheaper generi…

I know that you're fighting the good fight, but I just don't have it in me to sell the concept that I'm going to produce software to solve someone's problems. I'm only interested in joining teams where the decision to write high-quality software was already made - and I provide my skill to people who know that's what they need.
Post reply on HN