

What I learnt pretending to be a programmer - wernah
http://wernah.com/2012/03/what-i-learnt-pretending-to-be-a-programmer/

======
bdg
> They don’t teach rails at uni. So straight off the bat it eliminates that
> large segment of people inspired by the dot-com bubble to get IT degrees to
> earn good bucks. Java and .NET developers are a dime a dozen. Also the
> barrier to entry with learning rails is a little tricky. PHP by comparison
> is fairly easy to get up and running. Some view this in the negative, or as
> arrogant elitism. I tend to think the high barrier to entry is innocuous and
> unintentionally weeds out those who arn’t committed to their craft.

Is there not a single rails developer who isn't totally full of themselves?
It's a programming language. It's not magic, and rails doesn't mean you're a
good programmer. I'm more and more frustrated every time I read stuff like
this. When I was learning Rails I was berated with tutorials that made
statements like "Rails is a whole new way of thinking" or "Rails means you
don't have to work with cruft like braces!!". It's like being the apple fan-
boy for a programming language. "Oh it's amazing and everything else means
you're not committed to the craft".

I don't _hate_ Ruby or the Rails framework, but I do hate this attitude that I
see proliferated through the vast majority of people I speak to who use Rails.

~~~
benihana
I mean, the guy has a huge banner with a picture of himself on every page of
his website. He seems to think that developers who are into music creation are
unique to Rails (it's been my experience that there's a high correlation
between programming and enjoying creating and playing music). He seems to be
the stereotypical Rails developer - arrogant, full of himself, convinced he's
one of the normal, cool guys who programs and that people who use other
technologies, like .Net or Java (who are a dime a dozen) are just dorks with
no style.

I'm sure there are plenty of Rails developers who are good people, they're
just eclipsed by guys like this shouting about how awesome everything they
touch is.

~~~
bithive123
Precisely. The good people tend to be a silent constituency because they have
better things to do than carry the "humble Rails developers exist" banner
through the average discussion thread.

HN seems to link to a lot of these blogs where the author breathlessly shares
some sophomoric musing demonstrating more arrogance than insight. A few people
with nothing better to do post critical comments while dozens of others cheer
"right on, I'm liquidating my savings to do my <adjective> start-up too, stay
strong brother". The rest of us have just finished our coffee and have work to
do today.

~~~
Klinky
_> The rest of us have just finished our coffee and have work to do today._

...and post scathing comments on HN.

------
TeeWEE
Language|Framework X vs Language|Framework Y... I'm getting tired of this.

Its the concepts and fundamentals that are important. I bet you that most
javascript and ruby developers dont know what an AST is and how a regex can be
transformed into a state machine. Not even to mention how lambda calculus
influenced lots of languages.

Anyway. Languages come and go. Frameworks come and go. However the problems
associated with computer science, like distributed computing, scaling,
mobility. They will stay.

The best software engineers are the ones that understand the basics. And most
importantly: know how to use them in practice.

A good software engineer will choose a framework language depending on the
domain / problem that needs to be solved.

Not because they like it.

~~~
angersock
Observation:

Scaling, mobility, and distributed computing are all problems for the
electrical engineers--theoretical computer scientists likely already have the
answers.

The bridge between theory and practice is where most of us find work.

EDIT: changed "true computer scientists" to "theoretical computer scientists"
and hedged bets slightly.

~~~
malkarouri
> true computer scientists already have the answers.

And the answer is .. 42?

No, really. When did the distributed computing issues become "solved" in
computer science?

~~~
viscanti
Probably sometime between when Erlang was developed and the first MapReduce
paper was written. There isn't "One True Way", but there are plenty of
solutions.

We don't need to re-invent MapReduce or message passing. There are ready made
solutions/frameworks like Hadoop and Storm that are fairly easy to implement.
There are also a number of databases that are designed for distributed
computing. You don't need to be Google to have a fault-tolerant distributed
computing setup. It's really a matter of choosing the appropriate
technologies, rather than re-inventing the wheel. Because of that, I'd
consider it a "solved" problem, even if a particular implementation might need
some thought to match up with appropriate technologies. It's not necessarily
trivial, but it's probably as "solved" as it needs to be.

~~~
malkarouri
Interesting that you effectively use an engineer's definition of "solved"
rather than that of a theoretician.

Message passing is effectively the assembly language of distributed computing:
very low level. Mapreduce and the various NoSQL databases are effectively the
next level up, but we still have some time to be able to have a proper theory
for designing and implementing effective scalable distributed systems.

In short, we have many bits and pieces that can be brought together with a bit
of luck to be able to attain the scale that we are currently seem to be happy
with. So I can accept that the engineering definition of solved is there. But
from a computer science point of view, we certainly are far from having a
satisfactory theory. So we definitely do not have the answers.

------
cmurdock
> They don’t teach rails at uni. So straight off the bat it eliminates that
> large segment of people inspired by the dot-com bubble to get IT degrees to
> earn good bucks. Java and .NET developers are a dime a dozen.

Yep, just because you know a certain framework (not even a language, a
freaking framework) means that you can pass judgement on how valuable every
Java and .NET developer is. This guy obviously doesn't have a clue about what
he's talking about. They don't teach any other framework at most universities.
It's assumed you can learn that stuff on your own. Just because you went and
learned Rails doesn't make you automatically a programming superstar.

------
mcknz
Programmers are a dime a dozen. Good programmers are somewhat more expensive.

If bleeding-edge technology X proves to be widely useful, you have a brief
window of opportunity where simply knowing X gives you an advantage.

Then you slowly become two for a dollar, three for a quarter.

------
learc83
I learned to program with Ruby, and used Ruby+Rails exclusively for 2 years
until I learned Java, C++, C#, and Python.

I thought I was just a Ruby guy, but once I was exposed to other languages I
realized that once you know how to _program_ , the language you program in
doesn't matter.

Sure some languages are better at specific tasks, but they're all just tools;
if you can use one you can probably pick up another one with very little
difficulty (this also assumes were talking about object oriented languages
here--transition from OO to a functional language is a bit different).

------
dustineichler
This is a problem.

ie- Can't be productive in another language... Finds Rails, thinks he/she is a
genius. Anyone can consider himself or herself a professional artist, but that
doesn’t make it so.

I'm trying to fight being mean, but Ffff!!

------
Hominem
I think I have seen this argument before, that X is somehow obscure, in the
sense that all those lame workaday cororate drones don't use it, so it must
follow that all the most awesome people gravitate towards it. I'm not sure I
buy it. Sometimes stuff is obscure because it sucks. It would also follow that
using the most obscure language possible would make you the most awesome. Sort
of like inventing a sport in order to ensure you are the best in the world.I'm
also ignoring the fact that there seem to be a million rails based sites out
there, they were not all done by an elite cadre of the best of the best of the
best were they?

~~~
lmm
Even obscure languages that suck may well have a more talented "average
programmer" than those which don't. The best programmers are those who learn
new languages because they want to, so a language that isn't useful for
passing a degree or getting a job will always have a higher average talent
level than java et al. Even your reducto ad absurdum doesn't really work - a
programmer who invented a language themselves is probably better than the
average java/.net programmer, even if that language itself is terrible.

------
dustingetz
careful, some of those dime-a-dozen java devs are solving way harder problems
than the hipsters and their rails CMSs. strong rails hipsters grow up to be VP
of some ycombinator webapp. strong enterprise devs grow up to become VP at
google.

------
ChuckMcM
_Never underestimate the importance of your ability to self motivate and
learn. Even the most exciting projects contain mind numbing tasks._

This is the money quote for me, if you are programming because you love
programming, you find a level of self motivation in that joy. Have you ever
heard/seen a programmer excitedly running through the source code base and
changing all the calls to a particular subsystem to use a new syntax/set of
parameters because how 'cool it was going to be' when this was in place? Here
they are doing tons of 'crap' work because they are excited about the system
will look in the end. Whereas people who really don't love programming won't
even _start_ on changing a routine if it means they are going to go back and
change everything that calls it, because of all the 'drudge' work.

That difference in attitude has a huge impact on their productivity.

~~~
rprasad
In general, most programmers would probably just use an IDE to refactor that
for them.

------
bootz15
"They also tend to be musically inclined; As in, a lot of them play
instruments."

Fascinating -- I play three instruments. I never noticed a correlation before.

~~~
ohashi
It's anecdotal evidence at best. Are rails programmers any more musically
inclined than other types? Are programmers as a group more musically inclined
than the average person? I don't know, but his statement and you playing an
instrument don't mean much in terms of evidence one way or another.

------
lrobb
tl;dr -- young rails fanboi thinks it's the greatest thing since sliced
bread... doesn't know tim toady...

------
islon
Why the so-proud rails-guy use wordpress in his blog?

~~~
nathan_f77
Because Wordpress is an awesome blogging platform? I'm also a "so-proud rails-
guy", and only recently switched from Wordpress to static site generated with
Jekyll.

------
charlysisto
"If I had only a few words to generalise them, it would be curious,
determined, intelligent, and collaborators. They also tend to be musically
inclined; As in, a lot of them play instruments."

I don't know for the rest, but yes I do play piano :-)

