
I’m a boring programmer (and proud of it) - ingve
https://m.signalvnoise.com/i-m-a-boring-programmer-and-proud-of-it-d4ac3dd2defe
======
nommm-nommm
"But what if, like me, you don’t relate to these labels at all?"

My personal hypothesis is I think these labels are just meant to attract and
appeal to a certain demographic. The demographic that skews young, male, and
single. The demographic that prioritizes work above all other pursuits. The
demographic that is naive and easy to manipulate into seeking life fulfillment
by staying at the office from 7am-9pm.

This is the sort of employee they are seeking so they do what they can to
attract them. They aren't looking for people who "coder ninja" doesn't appeal
to. It's by design.

I think it actually works since I'm totally turned off by those job ads.

~~~
partycoder
Well exactly. The concepts of 10x programmer, ninja, rockstar, etc... appeal
to narcissistic people that really believe they're above average or at the
top.

I know I am not Donald Knuth or Linus Torvalds or John Carmack or Woz. I am
not a rockstar.

~~~
V-2
Certain degree of narcissist traits can be beneficial if it translates into
taking pride in your work.

"We will encourage you to develop the three great virtues of a programmer:
laziness, impatience, and hubris" (Larry Wall)

You don't need to be Donald Knuth - or Larry Wall - to be above average :)

~~~
partycoder
Well, laziness in terms of typing more, probably. Laziness in terms of
thinking less, definitively no.

~~~
V-2
LAZINESS: The quality that makes you go to great effort to reduce overall
energy expenditure. It makes you write labor-saving programs that other people
will find useful, and document what you wrote so you don't have to answer so
many questions about it. Hence, the first great virtue of a programmer.

IMPATIENCE: The anger you feel when the computer is being lazy. This makes you
write programs that don't just react to your needs, but actually anticipate
them. Or at least pretend to. Hence, the second great virtue of a programmer.

HUBRIS: Excessive pride, the sort of thing Zeus zaps you for. Also the quality
that makes you write (and maintain) programs that other people won't want to
say bad things about. Hence, the third great virtue of a programmer.

[http://c2.com/cgi/wiki?LazinessImpatienceHubris](http://c2.com/cgi/wiki?LazinessImpatienceHubris)

------
fishnchips
Maybe it's just my luck but my feeling is that terms like 'ninja' or
'rockstar' are these days mostly if not exclusively used by recruiters.

~~~
overgard
You know what would be an awesome title? "Professional". I'd rather work with
adults instead of people that think they can trick 22 year olds into working
overtime by feeding into their narcissistic fantasies.

~~~
CuriouslyC
I like "creative problem solver"; honestly I don't even enjoy coding that
much, it's just the most powerful tool for solving problems (along with math)
I've come across. Since HR drones don't grok "creative problem solver", I
usually sell myself as a software architect and data scientist - that pretty
much sums it up.

~~~
Retra
"Creative problem solver" is only a valuable label if you are well-read and
understand existing solutions to problems. Which is not creative. In fact,
most problems can be solved perfectly adequately by applying tried-and-true
boring, uncreative methods.

~~~
CuriouslyC
That's not really true. The creativity comes in seeing the parallels between
disparate areas, and being able to use things in unintended ways to good
effect.

As a random example, I was able to take a road pollution model that was
meticulously optimized, written in Fortran, and approximate its results in
Javascript, with almost an order of magnitude performance INCREASE, to the
point that pollution models can be computed in near realtime in the browser
(road network density permitting).

I did this by using optimization to approximate the model's pollution
distribution about road segments using Bezier surfaces, which are fast to
compute and have the nice property of being completely contained within the
convex hull of their control points. That containment property let me leverage
an R*-Tree to quickly determine which sources could contribute an appreciable
amount of pollution to a given pixel, and only compute those.

None of the algorithms or data structures I used were original, but the
circumstances where I applied them are somewhat novel and the results are
fantastic.

------
some1else
Moreover, we should avoid the general attitude of 'cleverness' in programming.
We've all spent hours dealing with a needlessly intricate piece of code
someone else, or a younger us, wrote in a moment of meta-programming / monadic
delusion. To me it's telling, that I'm sometimes even more frustrated after I
fully comprehend the mental model. Especially if it's apparent, that the
person employing the complexities is a junior, or a superficial expert. Be a
boring programmer. It won't exactly make your peers 'adore you', but you'll
save yourself and your team a lot of time and effort.

~~~
dropit_sphere
_Pretensions_ of cleverness, sure---but sometimes there really are free
lunches. Just as a change in perspective is worth about 80 IQ points, using
the right abstraction can make coder cleaner, shorter, more efficient, _and_
more understandable. No, typing `defmacro` doesn't make that automatically
happen, but it is, sometimes, necessary.

~~~
some1else
Pretensions of cleverness sounds more accurate, the correct implementations
are often intrinsically clever, I agree.

------
julianpye
In my experience I also met the following types of S/W engs:

\- 'Pioneers' \- hackers that pave the way, create amazing prototypes and
whose code you can't use in production

\- 'Architects' \- who see the work of pioneers and see the bigger picture and
build the structure that is needed

\- 'dogmatists' \- who see beauty in the art and educate their peers and don't
create much code, and act as cult(ural) leaders

\- 'Workers' \- who implement, work 9 to 5 and go home and implement solidly
and don't need passion, but have lots of discipline.

The last group is really important and is rarely talked about.

~~~
afarrell
I think a lot of the cause of talking about "rockstars" is that in America, we
idealize pioneers. This tendency isn't all good or all bad (at least, until
you apply it to a particular context), But sometimes it falls on its face
because life is not a Walt Whitman poem.

------
andmarios
The author describes how he feels that hacker/ninja/wizard descriptions are
arrogant, then says that he prefers more “humble” terms for himself, like
scientist and artist.

Sorry, but ninja and wizard probably advertise that you watched too much tv
when younger, or played RPG. A scientist on the other hand is someone who
worked hard to get a degree and tries to advance his/her science. An artist is
someone who puts his/her art before anything. They aren't humble roles at all.

~~~
sotojuan
It's interesting how programmers want to be called anything but "programmer".
Whether it's "ninja", "scientist", "artisan", or "craftsman" IMO all are
BS—what's wrong with just being a programmer?

You don't see a scientist say he's a "science artisan" or an artist saying
he's a "canvas ninja".

~~~
andmarios
It is a complex issue and there are a few different reasons for this.

In the old days, there were analysts (the people who wrote programs) and
programmers (the people who translated these programs to punchcards). We kept
only the programmer title.

Our field is vast, yet everyone is a programmer as far as people outside our
field are concerned. Scientists could be physicists or astronomers, artists
could be painters or actors, doctors may be pathologists or heart surgeons for
example.

A programmer can be self-tought, thus the title programmer doesn't imply any
kind of official degree or a discipline. You could have a MIT diploma or just
be a high schooler.

I think the field developed (and keeps at it) too quickly and the social
adjustments that should take place can't catch up. A job not only provides for
you, but gives you a place in society. The title “programmer” is as generic as
it gets.

~~~
Raphmedia
To me, programmer is equivalent to writer.

------
fouric
Am I the only one bothered by the implication that "prying your way into an
unauthorized system" is a thing that "hackers" do? Call me sceptical, but I
don't think that the author really understands hacker culture.

------
bdcravens
I think terms like "DevOps" and "full stack" are as meaningless if you've been
programming for more than 3-4 years, as you likely fulfilled those roles
before they had a cool label.

------
V-2
Isn't this an American, or at least Anglosaxon thing? In my country noone
advertises programming positions with hype phrases like "rockstar" etc.

~~~
sotojuan
It's not even "American", it's a Valley startup culture thing.

------
saijanai
"Debugging is twice as hard as writing the code in the first place.

Therefore, if you write the code as cleverly as possible, you are,

by definition, not smart enough to debug it."

-Brian Kernighan

------
takno
Much as I hate the rockstar and ninja tags, this article itself is pretty
arrogant. It makes some fairly unfounded assumptions about other professions
like librarianship, while really doing them down a bit.

~~~
V-2
What do you mean?

The only assumption about librarians is that they "enjoy quiet and order".
While this may be an oversimplification (although if you didn't, wouldn't this
affect your chances of becoming a librarian?), but what's so arrogant about
it?

This oversimplification, or stererotypization, is justified by the context
anyway; obviously it doesn't refer to real-life librarians. It's metaphorical
language, just as the ninja analogy has nothing to do with actual ninjas, only
their image in (pop)culture

~~~
takno
Basically it seems to say "I'm not a ninja, but I'm all these other things".
It still seems to have the attitude of programmers as being better generalists
than anybody else is a specialist without spending any time trying to
understand their jobs. The librarian reference particularly annoyed me because
it just plays into the cheap stereotype of librarians as little old ladies who
put the books away and tell you to shush.

------
JeremyMorgan
I love that someone came out and admitted this. I'm in the same boat. Not a
rockstar ninja code shepherd wizard. I'm just a developer who enjoys getting
stuff done. At 38 years old if I were a Torvalds, Woz, or Knuth I'd know it,
and you'd already know my name. I'm not, and I'm ok with that. I've stayed in
this industry through tenacity, passion, and the ability to get stuff done.

I do like to call myself a "hacker" because I feel I fit that definition like
so many in our field. But to me hacker defines someone with a strong passion
for discovery and curiosity, breaking the rules and learning new things. It's
not a magician, genius, or hot shot that others should bow to when we enter a
room. A hacker could be anything from Woz to a five year old kid who figured
out how to build something different with Legos. It's not a resume bullet
point.

I too am growing a little tired of these labels in job ads, asking for some
"ninja" who's fresh out of school willing to work 90 hours a week for founder
bros because profitability is "just around the corner". At this point in my
career I'm looking for fast paced, exciting work but I'm not going to drink 10
red bulls a day to get your platform as a service app finished while drinking
IPAs and coding between ping pong rounds. I'm not going to sacrifice 99% of my
free time for your baby just to be thrown to the street when you sell out to a
bigger company or (more likely) run out of funding. That's the image that
those keywords conjure up for me.

I'm the boring middle aged programmer that will work his butt off to get stuff
done. I'll exercise due diligence to build things to the best of my abilities
and work hard to make sure my skills get better and better as time progresses.
I'll get stuff done. I'll ship, and ship good stuff. That's what the kind of
companies I seek out are looking for anyway.

------
bdcravens
Eschews certain labels, then proceeds to compare himself to a scientist,
artist, and carpenter.

~~~
Retra
Those are actual trades. Nobody is a professional ninja, and rockstars are
really just performers and musicians.

The labels are rejected because they are wrong, not because they are labels.

------
viach
"Boring" it's just another label, like "ninja" or "full-stack developer".
Wouldn't it be better to avoid labels at all?

~~~
partycoder
"Full-stack" is very vague and very rarely means working on the full stack.

Also, if someone cannot answer the question: "what happens when you type
'google.com' in your browser" then you are definitively NOT full stack.

~~~
fishnchips
Ah, the Google interview question. Should we start at keyboard interrupts? ;)

~~~
partycoder
Should we start at the motor cortex?

~~~
fishnchips
Only if we're recruiting a neurosurgeon.

------
libeclipse
I've never actually heard those terms before. In my circles, you're either
good or you aren't.

------
javajosh
There are only two productive behaviors: minimizing risk, maximizing reward.
Three if you include the Buddhist solution, roughly "learn not to car about
risk and reward." This post is by a risk minimizer expressing incomprehension
at the reward maximizers.

Such is life.

------
shizzy0
How to Become a 10x Boring Developer

