Print

Print


On Tue, Nov 29, 2011 at 4:40 PM, Alexander Johannesen
<[log in to unmask]> wrote:

> No argument there. For example, why are we having this conversation?  ;)

Well, Anne was looking for advice on skills to pick up, when starting
out a career as an application developer fresh out of library school.
Hence, I was advising her that figuring peoples' needs (and the
related communication skills, etc) is way more important than any
particular technical skill. In particular, going out and picking up
some random text on data modeling is not likely to be very useful.

Technically, here's what I'd advise: rather than becoming an expert at
any technology right now, try lots of stuff. The abundance and quality
of free tools and guides right now is delightful. Build the tutorial
apps for Rails and Django and Flask and Sinatra and Drupal. Make a
simple Wordpress plugin and theme. Try Sphinx and Solr. Build
something with a SQL database, and try rebuilding it with CouchDB or
MongoDB. Play with jQuery and Prototype and MooTools. Compare CSS to
SASS and Compass, and Blueprint to Susy. Try building a non-web-app --
maybe iOS or Android. You can do all of this without spending a cent.

As you do this, think about what you like and dislike about the things
you're using, and how they compare. What do you like about PHP versus
Ruby and Python? What do you like about Sinatra versus Rails, and
Flask versus Django? How about ActiveRecord versus Django's database
layer? What kind of problems are the CSS frameworks trying to solve,
and do you like their solutions?

A big part of what I've learned in sampling different tools is that
there are solutions out there to problems I didn't even know were
problems. I learned about typographic grids and vertical rhythm, for
example, from Blueprint -- and discovered that they'd been used in
print for hundreds of years, for very good reasons. ActiveRecord was
the first ORM that really made sense to me -- and Rails was the thing
that really illuminated MVC principles. After years of writing bad PHP
code (I apologize again for Libstats), it was like a light turning on.

Plan to fail on some projects -- but fail fast, fail cheap, and above
all: learn from your failures.

Best of luck!
-Nate