

Evolution of a Web Developer: From PHP Newbie To Python Ninja - GNelsonJ
http://dev.hubspot.com/bid/85467/Evolution-of-a-Web-Developer-From-PHP-Newbie-To-Python-Ninja

======
n00shie
This is really good stuff. The roadmap from beginner to expert is generally
consistent irregardless of the language or framework.

I always hoped for a "knowledge map" for programming (example:
<http://www.khanacademy.org/exercisedashboard>) that clearly shows knowledge
dependancies.

Can this be a step towards developing a comprehensive, collaborative knowledge
map which would benefit programmers of all levels?

~~~
dshah
You're giving the article way too much credit (I'm the writer).

But, I think the notion of creating a Khan Academy style map for web
development would be really cool.

~~~
n00shie
Ha, well I was giving credit to where it's due. As a novice coder I find
myself always wondering about the bigger picture, and so I can always derive
value from a step-by-step process of how someone more experienced than myself
has achieved their current status.

------
quanticle
Great read, but I'm slightly horrified that it took until #18 to realize
"concatenating strings to form SQL queries is a bad idea."

~~~
dshah
The order on some of those items is a bit messed up (i.e. it's not quite
chronological).

I was uncaffeinated at the time I wrote it, and the order somteimes reflects
the order I thought of them in, not the order they happened.

------
petercooper
_Ruby as a language feels a little strange. Maybe it was designed for
hipsters. If I had a dog, it would bark at Ruby code._

I'd love to know why. The way this is written makes it feel less like opinion
and more an opportunity to take a pop. Ruby seems susceptible to this sort of
"hipster" callout in a way other languages aren't. Confusing a _language_ with
its comically unfairly defined userbase, perhaps?

~~~
sirclueless
Well, Ruby on Rails has as its mantra "Convention over configuration" which
naturally lends itself to an experience filled with Rails-isms. I think the
language has similar leanings, so you end up with a bunch of Ruby-isms as
well. For example methods ending with ! mutate their receiver, and methods
ending with ? return booleans. None of this is enforced at a language level
but it is still part of standard Ruby practice. You end up with an ecosystem
of opinionated software built on an opinionated platform, which makes many
people -- myself included -- feel a little bit like an outsider when I read
Ruby code that is littered with little idioms.

------
10098
Nice post. It's even more fun to read and compare to your own experience,
there are some things that I had know during the earlier stages that you
learned at a later stage and some things I didn't know until the later stages,
but you knew at the earlier stages.

------
sophacles
Tangent: Shouldn't the python equivalent of a Ninja be a Mongoose?

~~~
nhebb
Some pythons are nocturnal and many mongooses are diurnal. If you've never
coded in Python, you could call yourself a "python mongoose" and not be
_completely_ disingenuous.

------
fourstar
I found this very enjoyable and am finding myself a few steps behind where you
currently are in your journey. Nice article.

------
movingahead
Good to see how other developers evolve. I wonder if OP would start with PHP
today or go straight to Python/Django?

~~~
dshah
I (the OP) would go straight to Python/Django. Knowing PHP is somewhat useful,
but if using it were completely mandatory (because I was building a WordPress
plugin or something), I suspect I could figure it out.

------
sopooneo
If the author reads these posts: please, for the love of all that is true and
pure, do not open with an apology. Instead, just edit out whatever you were
going to apologize for.

Also: I really like the article.

~~~
dshah
Sorry about that. :)

------
killnine
Surprisingly enjoyable read. Thanks!

------
NameNickHN
I fail to see why selection of Python over PHP should be an Evolution.

~~~
ngokevin
Seriously.

It should be more of a metamorphosis from dung to butterfly, or perhaps an
ascension to heaven.

------
niels
Step 152: "And then I switched to using the Java platform entirely, because
there are things I am doing that are much more easily expressible in some of
the JVM languages (not Java)."

------
krishnamenon
Great read,:)

------
Jebus
_"Realized that my friends will forever make fun of me if I stay on PHP"_

That was lame.

 _"Considered Cake as well, but went with CodeIgniter mainly because I had
friends that had used it"_

Can you see a pattern here?

~~~
scelerat
Yes. It's really easy to learn things when you have a support network turn to
for questions and advice.

~~~
skore
_or_ a willingness to take your own path and not mind the opinions of others.

