

Developers: You are not a Language - aaronwhite
http://restrictionisexpression.com/post/13112621228/developers-you-are-not-a-language

======
raganwald
Of course I’m not a language, I’m a framework. Never mind “Java,” am I Spring
or am I Struts?

Never mind “Ruby,” am I Rails 2.x or 3.x?

—

This may seem tongue-in-cheek, but regardless of how we see ourselves,
ignoring how others see us is an exercise in frustration:

<http://www.joelonsoftware.com/articles/LordPalmerston.html>

~~~
CodeMage
Spot on. We're always something. Sometimes we're a language, other times we're
a framework or something else. Spend enough years programming and there will
always be something in which you specialized. Doesn't mean you shouldn't pick
up something different if you want to. Doesn't mean you shouldn't want to,
either ;)

~~~
TheCapn
But if you must be something why can't you be "versatile" or "jack of all
trades"?

Maybe not the best examples given but hopefully you see the point? I work for
a company doing shell, C, Java coding... my manager comes up time to time
asking if I can do something Python or TCL not because I can or can't do them,
but because he knows I can pick them up fast enough to resolve the problem
we're experiencing.

~~~
CodeMage
Like I said, there's no reason why you shouldn't want to pick up something
new. In fact, unless you overspecialize, picking up new things gets easier
with years. It's fun and refreshing and helps you learn new things. And as a
plus, you become the guy people go to because he can learn new things.

However, that doesn't mean that most of us don't have something we like and
are comfortable with, more than other things. For me, it used to be Delphi,
until I switched to Java and then it became Java. Nowadays I can code
comfortably in C/C++, Java and Python; I have some non-trivial experience with
C#, Ruby and Common Lisp; I've played a bit with Haskell, Io and Self; and I'm
learning Scala because I want to write serious code in it. Despite that, if
you asked me what's the language (and standard library) I'm most familiar
with, I'll tell you it's Java. Doesn't mean I think it's the best thing since
sliced bread or that I want to stay with it forever. It just means that's my
strongest language/platform for the moment.

Most people I know have branched a lot less. They have one primary
language/platform and know bits an pieces of something else (usually Perl and
shell scripting) to help them with "duct-tape work". They'll pick up new
things if they need/want to, but for the moment they identify themselves most
strongly with their primary language/platform.

------
patio11
Defining yourself by your languages also encourages the guys with money to
consider you a trivially substitutable commodity, equivalent to any other
"resource" with the same keyword set. You probably don't want that.

~~~
euroclydon
I was just in a meeting with a company who wants to license our software. They
have hundreds of developers all over the world. They were happy to discuss
architecture and business cases with me, but the one sentance where they
mentioned my two best language skills was when they said they could "ramp up
development over seas for a couple months."

------
nzonbi
A good hacker can pickup a new language quickly, maybe half hour, or 1 day, or
three days for complex ones. But also usually with each language, comes a set
of tools and practices, that take a bit more time to become proficient with,
and are also necessary to reach a high levels of productivity.

Recruiters expectations varies on each market situation. In my experience, as
a freelancer doing remote work, few if any hiring companies are willing to
wait that time. You are mostly required to have demonstrable high quality
concrete experience in the specific tools to be used.

Various factor are involved in this situation. Among these, one thing is that
is difficult to identify good hackers. Also, hiring the wrong person can be
very costly for a company.

Hackers have to send the right signals, to surpass these barriers. Some are
lucky, and their careers give them the right opportunities. Others doesn't
have that luck, and must put an "special" extra effort, to be able to advance
and get these "best opportunities".

~~~
raganwald
HN frowns on novelty accounts and bot posting, but if they were allowed I
would write a bot to post this link whenever someone mentions learning a new
language quickly:

<http://norvig.com/21-days.html>

I’m not saying that a good programmer cannot become _productive_ in a new
language quickly for some definition of “productive,” but it seems thee is
more than meets the eye when it comes to learning a new programming language.

~~~
evilduck
Comes back to the "you can write FORTRAN in any language" saying.

~~~
raganwald
I used to write “Can write LISP in any language” on my resumé. Then I
discovered that those who knew Lisp well were afraid that I couldn’t, and
those who didn’t know Lisp well were afraid that I would.

------
rb2k_
I am not a language, but I have a certain taste in languages.

While I am somewhat capable of coding in Java or C, I just enjoy the Ruby
community, the podcasts, the expressiveness of the language and the approach
to solving problems way more than I do with the respective C/Java equivalents.

I am not a language, but I'd like to chose the tools that make me happy.

------
brlewis
Lots of opportunities claim to be a chance to work on interesting problems
together with other smart people. Filtering opportunities is hard. Filtering
by language is flawed, but what better techniques are there?

------
tommorris
No, but it's a pretty useful signal. If you want someone who can build you an
iPhone app, asking for an Objective-C programmer gets you 75% of the way
there, and calling yourself an Objective-C programmer is more likely to get
you the damn job than calling yourself a "smart, informed Hacker News reading
hipster".

------
kablamo
Thoughtful and interesting. This post makes me second guess myself.

As a counter point: I wonder if this is a personal decision. Some people are
interested in deep mastery and some people are interested in broad mastery.

------
pnathan
You know, it's great to _say_ that, but the vast amount of job postings are
asking for a keyword set oriented around languages and frameworks.

One optimizes for what is apparently selected for.

~~~
aaronwhite
That's fine, what prompted my post: Talented developer writes me to join
company because he likes the opportunity we are going after, but assumed we
were ruby. I share our tech stack, and he passes because he is "only looking
for Ruby"... and I have so many counterpoints as to why that is a suboptimal
career strategy.

~~~
pnathan
Well, there's also the problem of "Requires X years of Y experience" jobs...
if you are (e.g.), a Ruby person looking to move ahead, you want to increment
X years in Ruby so your resume isn't trashed by the HR screener or the
automated resume scanning program.

So I disagree: it's a career strategy that is optimized for HR screeners and
resume scanners, which most bigcos seem to use.

(I personally prefer generalist positions but I don't see those advertised
outside of startups).

------
abdulhaq
I know I'm not a language, now try telling that to the recruitment agent.

------
imjimmurphy
No, but are you still strongly typed?!!

