Help for Newbie

Hi All,

This may sound strange, but I am looking to get out of my sales career
and into web development - I’m looking for a bit of career help and
direction around what technologies I should learn to get where I want to
go… so far, Ruby on Rails seems like a very compelling choice… but
at the same time a bit daunting for a newbie.

I’ve been reading about RoR for about 6 months now. Ever since I found
out that 37signals was based in Chicago (my hometown), I saw the
possibility for me to do something interesting with the internet and not
have to live in the Bay Area…

I’m interested in doing one or more of a few things:

  1. Working as a freelance developer - doing contract work either from
    an office or from a remote location (i.e. the beach)

  2. Creating my own application(s), or applications with a team of
    people to hopefully leverage into a profitable business (so I can spend
    more time on the beach/travelling/playing with kids/etc).

  3. Learning these technologies so that I can figure out what sorts of
    business problems are solvable with technology and create those
    solutions.

I have a BS in Mechanical Engineering but haven’t done engineering in
almost 7 years so I’m kind of starting from scratch. While at U of
Illinois, I really enjoyed my programming (C & C++) classes but haven’t
done anything with that in years.

I just took an online Javascript class and really enjoyed it. I’ve been
playing around with Ruby and have been getting into it… I am looking
to learn technologies that will help me make some of my internet
business ideas into a reality.

I’d appreciate any advice on:

  1. A roadmap of technologies that I should know? (i.e. if I want to
    learn Ruby on Rails, what else do I need to know understand (assuming I
    know nothing)) Also, what other technologies should I learn to make
    myself a well-rounded web developer / web application developer?

  2. What are my prospects of making money as a developer (i.e. what are
    typical pay ranges and what kinds of lifestyle/workstyle do people have
    (work in offices? work from home? free time? what is the best
    recommended way to set up your freelance business - what kinds of jobs
    to take on, etc.))

  3. Any other resources I should use? Web forums, Chat rooms, books,
    websites, blogs?

Thanks in advance for the help… I apologize if I’m posting this in the
wrong place.

-Dustin

Ps - The reason I’m looking to get into RoR & development is because I
think it’s something I would enjoy and be good at - of course, that
remains to be seen… But, it’s the thing I’m most excited about right
now…

Dustin A. wrote:

  1. A roadmap of technologies that I should know? (i.e. if I want to
    learn Ruby on Rails, what else do I need to know understand (assuming I
    know nothing)) Also, what other technologies should I learn to make
    myself a well-rounded web developer / web application developer?

Must have:

  • General understanding of programming (sounds like you have that
    already).
  • HTML
  • CSS
  • Ruby

Good to have:

  • SQL (while you can code in Rails without using SQL statements, an
    understanding of SQL is very helpful in coding with Rails)
  • JavaScript (again Rails makes it easy to code without JavaScript. But
    understanding some JS will help you decipher and debug Rails code -
    your own and others’ - , build your own Rails helpers more easily,
    etc.)
  • XML (depending on what you’re developping)

Additionally:

  • You may need specific technologies depending on what you’re
    developping for, such as SOAP, etc.
  • If you delpoy as well then you need to understand a bit about web
    servers like Mongrel, Apache, etc.

I’m going down a sort of similar road. I’ve been developing software
for
10+ years, but only now have I begun thinking about switching from doing
server-side/mid-tier stuff to more cutting edge web development. I’m a
long
way from any sort of expert on anything, but I think my advice will be
ok
for a noob.

First, and maybe most obvious would be to learn HTML and CSS. :slight_smile:

I’d also grab a beginner’s book on MySql and learn as much as you can
about
relational databases. You’ll learn a lot as you learn Rails, but if
you’re
a true noob it’s a really important place to start learning.

Go through some tutorials on common linux shell commands. I’m coming
from a
Windows world and it’s been a pain having to look up every single thing
I
need to do when I ssh into my ISP. You can develop Rails on windows,
but
I’m not aware of any ISP that runs Rails on Windows.

If you don’t already have it, get the 2nd edition (right now only
available
as a PDF) of the Agile Web D. with Rails book from the
Pragmatic
Programmers website. It’s the single best reference to start with.

Honestly, I think as a noob, that’s MORE than enough to start with.
Don’t
make my mistake of trying to bite off way more than you can chew. Get
familiar with HTML and CSS first - I highly recommend the HeadFirst
HTML/CSS
book from O’Reilly. Then learn all about relational databases.

Take your time and have fun!

On 9/11/06, Dustin A. [email protected] wrote:

I’ve been reading about RoR for about 6 months now. Ever since I found
people to hopefully leverage into a profitable business (so I can spend

wrong place.


Terry (TAD) Donaghe
http://www.tadspot.com

Dustin,
At first I thought it sounded strange but then you posted. I’m
attempting to make a similar move :slight_smile:
Good luck with the new endeavor!

Stuart

On 9/11/06, Terry D. [email protected] wrote:

I’m going down a sort of similar road. I’ve been developing software for
10+ years, but only now have I begun thinking about switching from doing
server-side/mid-tier stuff to more cutting edge web development. I’m a long
way from any sort of expert on anything, but I think my advice will be ok
for a noob.

First, and maybe most obvious would be to learn HTML and CSS. :slight_smile:

And Javascript.

You can develop Rails on windows, but
I’m not aware of any ISP that runs Rails on Windows.

Developing Rails apps on windoze in no way prevents you from deploying
to something else. I develop my personal Rails apps on a Mac and
deploy to a Gentoo Linux box for example.

If you don’t already have it, get the 2nd edition (right now only available
as a PDF) of the Agile Web D. with Rails book from the Pragmatic
Programmers website. It’s the single best reference to start with.

Ruby for Rails by David Black is very beginner level also.


Greg D.
http://destiney.com/

On 9/11/06, Greg D. [email protected] wrote:

You can develop Rails on windows, but
I’m not aware of any ISP that runs Rails on Windows.

Developing Rails apps on windoze in no way prevents you from deploying
to something else. I develop my personal Rails apps on a Mac and
deploy to a Gentoo Linux box for example.

Yup, but the problems I’ve run into are just in accessing stuff on the
linux box. If you’re a total noob it’s pretty confusing when you type
“dir”
and find out that doesn’t do what you think it should. Simple things
like
that are the reason I recommend becoming somewhat comfortable with
getting
around in linux. I still have no idea how something like this works,
though:

ps ux | awk ‘/(lighttpd|dispatch)/ {print $2}’ | xargs kill -9

That just looks mostly like gobbledygook to me.

The great thing about coming from a Mac background is you already know
(maybe) all about “ls -l” and things that work on your linux ssh
account.


Terry (TAD) Donaghe
http://www.tadspot.com

On 11 Sep 2006, at 22:05, Dustin A. wrote:

This may sound strange, but I am looking to get out of my sales career
and into web development - I’m looking for a bit of career help and
direction around what technologies I should learn to get where I
want to
go… so far, Ruby on Rails seems like a very compelling choice… but
at the same time a bit daunting for a newbie.

  1. Working as a freelance developer - doing contract work either from
    an office or from a remote location (i.e. the beach)

You need a track record to get these gigs (in my experience). That
means either some menial work in someone’s office, or visible apps
you have developed yourself.

There is a disturbing trend to see job ads aimed at web designers
that ask for Ruby on Rails experience - IMHO this isn’t a very likely
combination of skills; any business trying to combine those skill
sets probably doesn’t understand what they are asking for (although
there are some excellent developers who can do both…).

  1. Creating my own application(s), or applications with a team of
    people to hopefully leverage into a profitable business (so I can
    spend
    more time on the beach/travelling/playing with kids/etc).

You don’t mention your sales background, but most developers lack
skills in selling, and, more importantly, don’t want to have them.
This may be the easiest way in for you, but is unlikely to lead into
programming if you are actually successful at it.

I’d appreciate any advice on:

  1. A roadmap of technologies that I should know? (i.e. if I want to
    learn Ruby on Rails, what else do I need to know understand
    (assuming I
    know nothing)) Also, what other technologies should I learn to make
    myself a well-rounded web developer / web application developer?

As an experienced freelance, you should understand HTML, CSS, SQL,
AJAX and Javascript, more or less in that order. Specifically MySQL
for working with Rails. You should be able to deploy your apps on
your own servers (MacOS X or Linux - probably Debian) as well as
hosted servers. So some basic Unix command line knowledge required.
You’ll almost certainly want to develop on MacOS X, anyway.

Alongside Rails you’ll want to know about web servers - Apache,
Mongrel; version control - Subversion; and deployment tools -
Capistrano.

General programming knowledge, of course; Object Oriented programming
to a reasonable level (ie, not C++). Ruby is a given. If you want
to be seen as competent, good Ruby knowledge is important.

  1. What are my prospects of making money as a developer (i.e. what
    are
    typical pay ranges and what kinds of lifestyle/workstyle do people
    have
    (work in offices? work from home? free time? what is the best
    recommended way to set up your freelance business - what kinds of jobs
    to take on, etc.))

Programming salaries in this general area at a reasonable level are
less than half what they were 5-10 years ago, and don’t look like
they will be going up anytime soon. Entry level salaries have held
their own - ie, at a low level. Blame India, if you want to (I
wouldn’t, but it’s a popular pick). I would of course welcome any
concrete evidence to the contrary on pay scales :-).

  1. Any other resources I should use? Web forums, Chat rooms, books,
    websites, blogs?

This mailing list and the ruby-talk one. There have been a couple of
lists of blogs posted recently; www.planetrubyonrails.org aggregates
most of them.

Books: ransack the Pragmatic Programmers library - you’ll want their
books on Ruby, Rails, Unit testing, version control, and the original
The Pragmatic Programmer, at least. Kernighan and Pike’s The
Practice of Programming is sort of a master’s level coverage of the
same topics.

You want the O’Reilly books on HTML, CSS and Javascript. You should
also look at O’Reilly’s “Head First” books on HTML/CSS, AJAX and
whatever else - although they have a very particular style that I
personally hate.

I’d also add in David Black’s Ruby For Rails, and the O’Reilly Ruby
Cookbook.

Paul

Thanks Paul, François, Terry, Greg, Stuart… very helpful and much
appreciated!!!

  1. Any other resources I should use? Web forums, Chat rooms, books,
    websites, blogs?

Besides what’s been mentioned, there is a lot of very helpful free
information online about HTML, CSS and JavaScript - tutorials,
references, etc. You might find all you need there without having to
actuall buy books on those. www.htmldog.com is a good one, as are many
others.