You are on page 1of 20

Coder Manual

Job Hunting Handbook


Author: Rob Dey

ence. If so, congratulations! Youve accomplished quite a bit


and you should be proud. Youre ready to step into the

Website: http://codermanual.com

world of professional web development and youre in for a

Table of Contents

treat. Youll hopefully nd that being a web developer can

1. Have a Strategy

work/life balance, exible companies, half-day fridays, free

be a great experience - fullling work, high salaries, great


beer (if youre of age) are not uncommon on job listings, if

2. Presentation Layer

you know where to look.

3. Job Hunting and Outreach

Ive written this ebook to help you apply what youve


learned and earn money. I strongly recommend that you

4. Acing the Interview

read through it all the way through - it is full of tips and in-

5. Further Learning

formation that will round out your understanding of being

6. General Tips

a web developer and enable you to hang with the seasoned

7. Glossary

signed to be an easy, quick read.

developers more comfortably. Dont worry, this ebook is de-

Preface

I. Have a Strategy

At this point, youve hopefully completed a full Coder Man-

Now that you have development experience, you may be

ual course and have real, practical web development experi-

interested in a number of ways to apply your new skills. Per1

haps you want to work full-time, part-time, free-lance, or

Also note that your learning doesnt necessarily end as a

start your own business.

web developer, because of the rapid evolution of technology. Try to be comfortable with the idea that youll be learn-

This chapter will demystifying your options and help you

ing new things fairly regularly. The benet is that your

make good choices as you move forward.

value, and thus salary potential, increases as you learn.

An important note: everyones skill level will vary based on

Here are a few suggested strategies for moving forward:

experience and ability to absorb new concepts. The best


way to get better is to write more code. That said, a large

1. Seeking Full-Time/Part-time Work

part of a web developers job is to tackle new things, i.e.

There are two common approaches I want to point out.

solve problems theyve never faced. Youll hear many people say that half of the job of a web developer is using Goo-

a. Join a company/startup and work on a single companys

gle to nd solutions. Even if you have experience building

code.

multiple applications at this point, you need to embrace the

b. Join a digital agency and work on a variety of projects for

fact that, youll often face problems youve never coded so-

multiple companies. Digital agencies are basically out-

lutions for - the real skill of a programmer is to be able to

sourced teams that do web/programming/marketing

make the computer work for you no matter what task is at

work for multiple companies at the same time.

hand. The point Im making is that, while you should always

Hashrocket (http://hashrocket.com) is a well known shop

be conscious of your current skill level, be fearless in your

that might fall under this category.

approach to new things and understand that your job will


often be to solve problems youve never encountered be-

c. Find and connect with recruiters and let them do the

fore. Dont let it demotivate you early on if you get stuck on

work of getting you hired (e.g.

problems - everyone goes through that at some point, and

http://www.cybercoders.com).

youll get better and better with each new problem and solution.
2

There are pros and cons for each approach. Lets start with

ance and happiness at work will be based on the work

(a), joining a startup or established company. If you go

youre doing for the company. Make it worth it for yourself -

with (a), I recommend that you rst choose the company

youll become a better coder, and have meaning in your

based on an alignment of interest and values (well discuss

day-to-day work/life balance. Youll be happier.

how to nd these companies in a bit). What I mean is that

Youll also likely develop a sense of camaraderie with your

you should work for a company that you believe in - every

teammates so try to get to know the team before you join a

company generally has a mission. Dont just join a company

company. Try to nd a team that you can learn from. Inter-

for the money, or who pays the most. Even if youre

view them when they interview you. Get a sense for what

strapped for cash, do your best and hold out for the com-

theyve accomplished, who else theyve worked for, and

pany that is closest aligned with your own beliefs. The good

how sophisticated their current approaches are to web de-

thing is that there has been an explosion of new compa-

velopment. Every team handles things dierently, and

nies, not just in Silicon Valley (or New York, or any of the

some are more sophisticated than others, sheerly based on

large cities where tech is ourishing), but all across the

experience.

globe. People have caught wind of the startup movement


and the momentum is really on the move - which means

In contrast, going with (b), joining a digital agency, will at

you have plenty of options (if you know where to look).

least give you exposure to many dierent people and com-

Tech has grown in virtually every industry, so whether

panies (who will be your clients at a digital agency), and

youre interested in healthcare, helping the poor, getting

therefore youll get exposure to many dierent ways to

rich in the nal sector, or anything in between, theres a de-

building and maintaining web technology.

cent chance that there is a job waiting for you. Take a hard

In terms of money, even as an entry level Rails developer

look at your own interests and try to nd a company with

(no previous work experience), you should be able to nd a

the best match.

company or startup that pays $60-$80k for full-time work.

The reason why this is so important is that, once the excite-

Some companies pay even more than this for entry level

ment of the new paycheck dies down, your work/life bal-

programmers. According to the Bureau of Labor Statistics,


3

the median pay for software developers (programmers) in

before you get started, so that the sales team can propose

2012 was $93,350. If you do a Google search for things like

costs to the clients.

rails developer entry level salary or rails developer average

Digital agencies are abundant across the globe and are of-

salary you can sift through many sites to get a sense of the

ten hiring actively or are passively on the lookout for new

market value of your skill set. Keep in mind, every resource

talent. Since many digital agencies work on projects for For-

gathers their data dierently, so variance will be apparent,

tune 500 companies, this is a good way to get rst hand ex-

but the BLS metrics are usually a good benchmark.

perience with that level of establishment. Youll build a

The main reason you should go with a digital agency is to

wealth of skills at an agency since every project will proba-

build experience. If you have the mindset of putting aside

bly be very dierent from the last, and youll also get a

your passions and values to build experience (which is to-

sense for ecient work ows.

tally respectable), then going with a digital agency is a good

The downside here is that youre usually not working on a

choice.

project that youre passionate about on a personal level. On

Digital agencies are usually small or medium sized compa-

a professional level, you may really enjoy your work, but

nies that are hired (outsourced) by small businesses to For-

how meaningful it is will vary.

tune 500 companies for their technology and/or marketing

Finally, you could go with (c), connecting with a recruiter

needs. You would likely join their IT sta to handle web de-

for them to assist in placing you at a company. Sometimes

velopment. They sometimes have a team of designers who

if you ll out a LinkedIn prole (you can set up a free ac-

work closely with you to create the web experience that the

count at http://linkedin.com) completely and state that you

client is looking for. Digital agencies also usually have a

have Rails experience recruiters may contact you directly.

salesperson or sales team that goes out and gets work

Once you build more experience, youll nd recruiters con-

from clients. Youll have to get good at scoping out the

tacting you regularly. You can also reach out to recruiting

work to estimate how many hours each project will require

rms - search Google for things like Rails recruiters or recruiters in the nearest big city, you should be able to nd
4

companies. From there just be honest - if youre inexperi-

getting a website running and most people dont know how

enced let them know you want entry level positions, but

to do that. If you know where to look, you can keep yourself

still be descriptive about what youve built (i.e. e-commerce

very busy.

experience, HTML, CSS, and so on).

Being a freelancer requires a lot of organization. Not too

2. Become a Freelancer

much, but just enough to get things done right. Youll have
to wear many hats in your role. Freelancers will often team

You may already have a great job in a specialty outside of

up with other web developers or designers to split up the

web development or you may just want to get your feet wet

work. If you choose this route, you should really value

before you dive in and start committing larger portions of

good, clear communication. This is one of the most impor-

your time to web development. If that is the case, freelanc-

tant parts of the job and it really helps you in all aspects of

ing may be perfect for you.

career growth as a freelancer. Youll also need to be conser-

Working as a freelancer can be fullling because youre still

vative in your estimates of time and scope of work (well dis-

your own boss and you have a lot more control over when

cuss this later), and only take on work that you feel con-

you want to work and who you want to produce a product

dent about producing well.

for. It makes for a exible lifestyle.

3. Start Your Own Business

The downside is that it is usually up to you to seek out the

If you think youve got a great business idea, you might

work, and if this approach becomes your livelihood, you

want to consider building a business. We cant get into the

need to make sure youre able to nd work regularly (well

full breadth of subtopics related to starting a web business

cover this in a bit).

here, but Ill point you in the right direction. People have

The great thing about freelancing is that in 2015 and be-

many dierent goals and expected outcomes when starting

yond, almost everyone needs a website. Whether it is a lo-

businesses, but since the rst dot com bubble and the lat-

cal shop or a friend, lots of people are in need of help with

est wave of startup culture, there are a few sort of universal truths - if you will - that have surfaced. Personally, Ive
5

built my own protable business

test the potential before even starting the business - survey

(http://DJCoursesOnline.com), but not without experiencing

a number of people to get signicant feedback and senti-

failure rst (more on failure in a bit).

ment about your solution to a problem. Would people pay


for it? Is it scalable? It is very easy to get a sense of momen-

Here are some things to think about before starting a busi-

tum in your mind about an idea that you think is cool or

ness:

has potential, and that makes it easy to convince yourself


that your business will work. Again, most businesses fail,

a. Be Driven By Passion (as clich as it sounds, its true)

and you need to be comfortable with that possibility. The

Starting a business is challenging, but if youre truly passion-

more your business solves a real need that people experi-

ate about your company mission, you may increase your

ence, the less theres a likelihood of failure.

odds of success. Your company needs to align with your

c. Growth Doesnt Happen on its Own

personal views. You should take a hard look at yourself and


make sure youre dead-honestly passionate about what

Some people launch websites thinking that trac will just

youre doing. The reason you need this is because you will

come right after launching. A physical store in a strip mall

inevitably work long hours and this passion is literally like

in a small town has better odds of getting trac than a web-

the fuel in your car - it is what will keep you going. Remem-

site. Marketing your site is a very real and necessary task in

ber that most businesses fail. Passion will drive people to

order to see growth. You may eventually get ranked in a

do crazy things and it takes crazy sometimes to achieve

search engines results list but not until you have trac in

great results.

the rst place. Search engine algorithms change regularly


to become smarter at detecting which sites people care

b. Solve a Need

about visiting (i.e. sites with good content) vs. sites that

Your business may never get o the ground and become

dont add value to peoples day or lives. So the rst step af-

protable if it doesnt solve a need. Again, you need to take

ter launching a business is to get people through the door.

a hard look and see if it really does. A good strategy is to

You should consider press as one of your top priorities. You


6

could pay for ads or try to market your site all by yourself,

get comfortable with the fact that many ideas can or will

but, press is one of the best, most cost-eective ways to go.

fail and that you should move past them quickly. It is very

If youre solving a need, the press will naturally want to

easy to get into the mindset of becoming attached to a busi-

cover your product.

ness idea, and not wanting to let go for a year or longer.


That is valuable time you could spend learning and testing

d. Criticism, Failure, and Adaptation (Pivoting)

new things. Most successful entrepreneurs youve heard

Society, sometimes places very strange views on lots of

about have had many failures before their most popular

things, two of those being criticism and failure. Contrary to

success stories. Finding a business model that works is like

what most people will say, criticism and failure are very

throwing things on a wall to see what sticks - throw lots of

powerful agents in your path to success. They are good, use-

things and something will eventually stick. It may sound

ful things. You should always seek negative feedback and

counterintuitive and fairly childish, but it is generally true.

criticism because you simply cant look at your own product

II. Presentation Layer

with the same perspective as others. They will show you


things that you simply dont see. You dont always have to

Before you start reaching out to companies, you need to

agree, but youre better o building a list of observations

have your presentation layer looking great. If youre seek-

from others than being clueless.

ing work as an employee Im referring to four things here:

Regarding failure, use every single experience of failure -

a. Rsum

big or small - as a lesson. Break it down as if youre in a


classroom and really look at what caused the failure and

b. Portfolio/Code repository

how you can do better going forward. If you become a stu-

c. Cover letter

dent of your own failures, youll grow personally and build


better businesses. Also, if there is a chance of failure, try to

d. Web presence

let it happen early and often. Youll learn more up front,


and you can usually risk more earlier than later. You should
7

Lets start with (a). Your rsum should be short - no

In terms of (c), you should always add a cover letter when-

more than one page unless you have 5-10 years of work ex-

ever possible if youre applying for a job. Even if there is no

perience that simply cant t on one page. If you have no

place to add one in the application, nd an email address

prior web development experience, focus on previous expe-

of a relevant person at the company to send it to. Try to

riences youve had that could make you a fun person to

keep it short and snappy - just a few paragraphs. That in-

work with and show that you can exceed expectations. Re-

creases the odds that employers will read it all. The cover

member that being a web developer is really like being a

letter is your chance to convey a few key things that will get

problem solver who uses code as the medium for the solu-

you in the front of the line before interviews even happen:

tion. If you can show that you will really dig to solve prob-

you can show that youre a great communicator by writing

lems and not give up easy, youll be telling employers that

well; you can use your real speaking voice in terms of dic-

you have the right traits.

tion for employers to get a sense of your personality; you


can express interest in the company; and you can point to

Regarding (b), if youve completed a Coder Manual course

your best projects quickly before theyve reviewed your rs-

at this point, you should already have pieces of a portfolio

um.

and real experience building production grade aspects of


applications. Having a live portfolio site that an employer

The format I like to follow:

can visit before or during an interview will help. Often

- Opening line after your greeting should go something like:

times, employers want to see your Github account or which-

Im very interested in the Rails developer opportunity and

ever repository site you use. Therefore, you should take

I want to tell you why I may be a good t.

that seriously and keep pushing public projects or small applications that you build to your Github account - the site

- Then, the rst paragraph should briey list the relevant

tracks your activity over time so you may want to avoid a

languages and technologies you have experience with,

cold streak before applying to companies just to stay fresh.

such as HTML, CSS, JS, Ruby, Rails, etc. You should also
mention a quick line about your personality such as, my
friends know me as a passionate individual or my col8

leagues think of me as a very uplifting kind of guy/girl.

show employers your projects. Even if you only have prac-

Just be honest about your top personality trait.

tice applications built, this will help you stand out as long
as you explain your applications capabilities descriptively.

- The main body paragraph should list one, maybe two,


things about the employers current web technology, mis-

- Finally, add a paragraph - just a line or two - that explains

sion, or other reason that makes you want to join them. It

that youre looking forward to a response, and that youre

could be that they have really cool interfaces and youre

interested in learning more about the team. Also provide

passionate about contributing to them, or that they are a

the best way to be reached - ideally include your phone

music startup and you make music, etc. Then, you should

number to be direct. You want to make sure you state that

mention some of your projects and embed the links to

youre interested in learning more, as opposed to at out

those projects in the text itself; if you struggle with nding

saying that youre the one for the job, in most cases. This

overlap between what youve built and how it would per-

shows that youre experienced in that you want to make

tain to the company, try to be creative and dig in to your

sure you like the team and the culture before you jump in

coding experiences or even your workow and work ethic

- theyll respect that.

- youll nd overlap if you look hard enough. The main

In terms of (d), web presence, this refers to things like

point is to make sure you embed hyperlinks to your pro-

your LinkedIn prole and other social media sites. You may

jects. This makes the cover letter a joy for the reader be-

want to house your rsum on its own web page at

cause they can click inline links to see your projects as your

yourname.com or yourname.org, etc. You may also want to

words describe the relevance. This creates a coherent ex-

put together a site that showcases your best work. A good

perience for the employer. For example, you could say,

looking portfolio will impress employers, and there are tons

Ive built and managed an application that serves DJ

of free/low cost HTML rsum and portfolio templates, that

courses to paying subscribers on various subscription

are just a Google search away. Sites like http://about.me

plans, where part of that sentence links out to the project

are also great solutions for creating personal web pages

your describing. Most email applications allow you to em-

that look good. Again, a Google search will show you similar

bed hyperlinks in the text and this is an elegant way to


9

options for website builder applications. You should also

Dont underestimate the number of jobs that are out there.

have the skills to build your own fairly quickly since it

What you see or hear about is likely just a sliver of what is

should just be based on HTML, CSS, and maybe JS and/or

out there - its easy to develop impressions about job mar-

Bootstrap. Just remember that your web presence repre-

kets based on friends and discussions, but it really is a mas-

sents the impression employers will have of you so keep it

sive market. Here are some of the best places to look for

real and professional. If youre building a freelancing ca-

jobs:

reer, a great looking website or portfolio helps. You can add

- http://authenticjobs.com (great list of companies, allows

to it over time as you get more clients. As mentioned above

you to lter for things like freelance, remote, full-time,

you should be able to nd templates or build your own site.

etc.)

III. Job Hunting and Outreach

- https://weworkremotely.com (primarily lists remote jobs)

1. Seeking Full-time/Part-time Jobs

- http://careers.stackoverow.com

As mentioned before, you should search for jobs that are

- http://www.simplyhired.com

aligned with your personal interests. If youre talking to re-

- http://indeed.com

cruiters, let them know what your interests are. The excitement of working for a great paycheck will wear o quickly

- http://exjobs.com (another list of remote jobs)

and youll be left with how much you really enjoy the work.

- http://jobs.rubyinside.com/a/jobs/list/ (mostly Ruby/Rails

The more meaningful it is to you the better. See if you can

jobs)

nd companies with visions that match your own set of beliefs or simply meet your objectives. Your goal may be to

- http://jobs.rubynow.com/ (mostly Ruby/Rails jobs)

build experience, or work with a specic kind of team.

- http://railsjob.com/ (title says it all)


- http://www.rorjobs.com/
10

Also, youll nd interesting job boards like

often willing to train you if you meet most of the require-

https://nytm.org/made (which is an excellent site that lists

ments and have a great personality.

hundreds of NYC-based startups, many of which are hiring

Also, dont forget to ask around. Again, many people are

and are open to remote work). There could be similar job

currently in need of web help, so there is a good chance

boards for other big cities as well. Get creative with Google

someone in your network knows of an open position.

and search for companies directly. You never know what


you may nd. Never be afraid to reach out to a company di-

2. Freelancers

rectly and express interest, even if they dont actively state

You need to have a real strategy if youre planning on build-

that they are hiring, because in 2015 and beyond, nearly

ing up your freelance career. It can be as simple as looking

everyone needs tech help. And regardless of which city

through Yelp and calling local businesses directly, or hiring

their oce is in, its worth reaching out because of how

someone to help you. Obviously, someone who has great

many companies oer remote jobs for programmers.

communication/sales skills is ideal for the sales role. Since

Dont underestimate startups - they may be young compa-

this isnt a sales guide, we wont cover those details here,

nies, but funded startups can sometimes pay higher sala-

but you shouldnt have too much trouble nding your rst

ries than Fortune 500 companies while oering a modern

contract. Again, if you dont want to take the manual ap-

or radically dierent company culture.

proach to sell to companies directly, you can always check


sites like the aforementioned http://authenticjobs.com and

Read job listings carefully as employers often have key re-

lter for contract work only, or work with recruiters. Also,

quirements of what to include in your application. Also, be

you should be able to nd some contract work on

sure to go through a number of job listings just to get a

Craigslist.

sense of what skills are required in general. You may see an


emphasis on certain skills that you feel could be brushed

Youll also need to have a process nailed down. Once you

up a bit more before you apply. That said, companies are

land a client, the rst thing you need to do is:

11

a. Have a conversation. Your goal should be to extract as

if you get the work done quicker as opposed to the other

much detail from the client about exactly what they are

way around. Youll also need to clearly display your

looking to have done. Keep in mind, there will likely be a

hourly rate and the total cost for the work (include any

loss in translation. What I mean is that most of your pros-

costs you may have to incur like hosting, APIs, etc.). Gen-

pects and clients typically wont use technical jargon that

erally freelance Rails developers in the U.S. charge be-

you should be used to using at this point. Clients will also

tween $55-$150/hr or more depending on experience. If

often under/over-estimate the amount of work involved.

youve got very little experience, you may want to start

Understand this and keep things very clear as you pro-

low and work your way up as you gain more client experi-

ceed.

ence.

b. Provide the client with a formal Scope of Work or Pro-

c. Communicate often and clearly. The client will appreciate

posal. Those are just formal names for a document that

this. And always we remember to remain courteous even

outlines the work and costs involved. Youll need to de-

if the client is an @$#%*&%! Theyre out there - youve

scribe, briey, what is involved in each step and how

been warned.

many hours it will take. For example, if youre building a

d. Get paid. Write up an invoice for the work when it is com-

contact form for the client, youll want to break it down

plete and send it over to the client. You can nd high

into specic sections and give each section a time esti-

quality invoice templates from a quick Google search,

mate like 0.5 hours - View le. We will create the markup

that come in various formats like Microsoft Word or Goo-

for your contact form and link the form elds to a contact

gle Docs if you dont have access to Word.

object using embedded Ruby. Be conservative in your time


estimates. You always want to exceed expectations

IV. Acing the Interview

rather than let them down, and you never know when
youll run into an unforeseen problem. Ive heard the rule

First of all, break down whatever youve been told about in-

of thumb is to multiply the time you think it would take

terviews before. It isnt something to get nervous or too ex-

for a given task by 2x or 3x. That way the client is happier


12

cited about. It is simply a step in the path between you and

you followed the strategy tips mentioned previously, this

a company. Unless the company states otherwise, you

shouldnt be a problem since you should be talking to a

should think of it as a conversation, not something so for-

company youre excited to be a part of anyway.

mal (obviously maintain a professional appearance), and it

b. Learn how to nd and convey value in the experience

is just as important that you interview the company as

you have, no matter how much or little you do have.

much as it seems all about you.

When describing a previous project, you could phrase it

There are at least two types of interviews in the web world.

like, I built a Rails app that takes payments, or you

One is the typical interview where you talk to the company

could say it more like, I have experience building a Rails

and each nd out if its a good t (can happen over phone,

application from front to back. The app supports e-

video chat, or in person). The other is a technical interview,

commerce functionality that I integrated from scratch -

which usually happens if the employers value a formal or

my users can sign up for free or pay a monthly fee and

theoretical computer science education - basically, theyll

automatically get billed via recurring charges. I also inte-

quiz you to see if you can solve some programming ques-

grated the Sendgrid API to give the application the ability

tions. It isnt always a deal breaker if you have trouble an-

to send out email notications and Ive deployed the ap-

swering the questions, but your other qualities would really

plication to live Heroku servers. Youre welcome to inter-

have to shine in that case.

act with it here: xyz.herokuapp.com. In other words, the


same idea can be delivered in multiple ways, so be thor-

The typical, conversational interview is by far the most com-

ough, thoughtful and descriptive. When you have less ex-

mon but every now and then youll run into a technical in-

perience, its important to make whatever you do have

terview. Here are a few pointers for the typical interview:

really shine. That said, be honest in your descriptions you dont want to set their expectations higher than you

a. First, if you happen to have a mellow personality, try to

can meet or exceed.

amp it up a notch. It is hard for people to tell how interested we are unless we really take the enthusiasm up a
notch. Obviously, be genuine in your enthusiasm, and if
13

c. Interview them from the start. Make it clear from the be-

To prepare for technical interviews, you can search Google

ginning that youre interested in learning more about the

for things like ruby on rails interview questions to get a

company during the interview and that you have ques-

sense of what might be asked, but note that the sites youll

tions that need to be answered. In particular, ask them

nd will vary widely in terms of what they think are com-

about the team. By default, you should be interested in

mon technical interview questions. So dont let those ques-

knowing what the team is like, how experienced they are,

tions scare you, they come in a wide variety of diculty

how many people are involved, who you have to report

ranges. Remember, even if you had no prior experience, if

to regularly, etc., but explicitly asking about these things

youve successfully completed a Coder Manual course,

will make them respect you a lot. Asking about the team

youve got proven chops by now, since youve built real,

is a good way to show real interest because it shows

practical applications and that should be the most impor-

youve thought about how things will work out on a per-

tant thing when youre getting a job - not how well you can

sonal level, beyond just the professional level. Also, ask

remember a certain corner of the ruby language. That said,

about the company culture - put them on the spot and

you cant always anticipate which companies will attempt to

ask them what the day-to-day energy feels like or ask

run a technical interview, but it doesnt hurt to brush up on

them to describe a typical work day.

your skills, especially when youre just starting out. Of


course, with such high entry level salaries (for a Rails devel-

d. Emphasize that youre a fast learner and deliver on that

oper, according to Payscale.com, that is $77,322 at the time

promise. You dont have to be brilliant to follow through

of this writing), why not just start by seeking an entry level

on that, you just have to be persistent. Plan to take notes

position and working your way up? Youll be much more

regularly on the job, so that your teammates dont have

stress-free if you nd a job where youre expectations are

to repeat things - especially in your rst year, youll have

lower, which may be a good thing if youre just starting out.

to maintain passwords, learn new processes, etc., so the


other developers will appreciate you being eager to stay

Finally, an important note. On some level, you need to think

on top of things.

about the chances of getting a job, how much it will pay,


and how great the culture is, all as a numbers game. The
14

companies you nd and the interviews and outcomes you

2. Rails Guides - http://guides.rubyonrails.org - Excellent

have will be a sliver of what is out there because of pure

written material on the ins and outs of Rails.

probability. You need to do your best to take the emotion

3. Ruby Koans - http://rubykoans.com - Great resource for

out of this process. Dont get too excited or feel too let

keeping your Ruby chops sharp. I highly recommend this,

down with each win or loss. Just keep moving and trying un-

and it may be tricky to set it up at rst, but it is totally

til the right job nds you. Once youre able to view it as a

worth it.

numbers game and pure probability, youll nd that youll


reach the outcome you want more easily. The point is that,

4. The Ruby on Rails Tutorial by Michael Hartl -

if you keep looking, and you shouldnt have to look too

https://www.railstutorial.org - Absolutely amazing re-

hard or too long with the skills you have, youll nd what

source. You can read the book online for free and you

you want because this job market is in your favor right now.

build a Twitter clone along the way. This is a great way to


learn Test Driven Development, which many companies

V. Further Learning

want in candidates. If youre serious about learning Rails,


do this tutorial!

Being a web developer, your learning usually doesnt end


because of how quickly technology changes. Embrace that

5. Codecademy - http://www.codecademy.com - A fun,

fact. Youll see job listings evolve over time as well to match

easy-to-use website where you can brush up on every-

these changes. So here are some great resources to keep

thing from HTML, CSS, Javascript, jQuery, Ruby, Rails and

you sharp and relevant (note that some links may change

more. I strongly suggest that you complete their courses

or stop working over time as the web changes):

on all of these topics as you should be able to y through


them pretty quickly.

1. RailsCasts - http://railscasts.com - Lots of free videos on


highly focused Rails topics.

VI. General Tips

15

I wanted to include a few general tips to help ll out your

ful for yourself. For example, you could build a mini Rails

understanding of web development:

application that connects to the YouTube API and gathers


new videos about your heroes like Elon Musk or Larry

a) Remember that, especially when youre starting out,

Page (or whoever your heroes are). You could refer to the

youll nd yourself Googling for answers and suggested

API tutorials at http://codecademy.com if you dont know

solutions to code problems you face. There is absolutely

where to begin. Also, consider contributing to projects,

no shame in this and many of my colleagues joke that

especially open source projects. You can nd great open

half of the job is Googling. A common workow is that,

source projects, especially those backed with great moral

whenever you run into an error, you can copy and paste

or ethical goals.

the actual error message itself in a Google search. If its


not an error, just Google the key terms that describe the

c) Something I like to do is keep an eye on job listings over

problem youre facing like rails controller create params.

time. Checking them regularly will give you a sense of

Youll nd that http://stackoverow.com will show up in

what the market is like and what skills are in demand.

the search results quite often. This site will be your new

Youll also get a sense of how other companies set up

best friend so get comfortable using it often.

their IT architecture so that you can make improvements


on your own turf.

b) The best way to keep your skills sharp and see career
growth is to build more things. I cant reiterate this

d) Keep your code clean and well written. Add comments

enough. I nd that the motivation to keep building things

wherever relevant and be thorough. Also consider using

comes from working on projects that you nd to be use-

tools like http://www.jslint.com or http://validator.w3.org

ful, practical, or are passionate about. This goes back to

to get instant feedback on your syntax quality.

what I mentioned before about nding jobs that are

e) Start exploring software design patterns. There are

aligned with your personal interests. That said, you dont

plenty of books about them that are specic to each lan-

always need to work for money. Consider building pro-

guage. These will increase your awareness on how experi-

jects for fun - things that you think would be fun and use-

enced developers handle common programming prob16

lems from a theoretical standpoint that can lter down to

- http://careers.stackoverow.com

the practical level easily.

- http://www.simplyhired.com

f) Some cool links:

- http://indeed.com

- CSS Tricks - http://css-tricks.com - Well written/managed

- http://exjobs.com (another list of remote jobs)

resource for handling common CSS problems and learning new tricks to really impress your friends!

- https://nytm.org/made

- Chrome Experiments -

- http://jobs.rubyinside.com/a/jobs/list/ (mostly Ruby/Rails

http://www.chromeexperiments.com - A site that shows

jobs)

some pretty amazing work from developers around the

- http://jobs.rubynow.com/ (mostly Ruby/Rails jobs)

world.

- http://railsjob.com/ (title says it all)

- Dribbble - https://dribbble.com - Show and tell for designers.

- http://www.rorjobs.com/

- Awwwards - http://www.awwwards.com - Lists high quality

VII. Glossary

web sites.

Ive included a glossary section to list out key terms that

g) For the tl;dr crowd, here are a few awesome places to

you may come across as you get your career o the

nd great jobs or contract work:

ground. These are just denitions seen through my own

- http://authenticjobs.com (great list of companies, allows

lenses, but Ive done my best to keep them objective.

you to lter by things like freelance, remote, full-time, etc.)

- app: Short for application and can refer to any software

- https://weworkremotely.com (primarily lists remote jobs)

application though it is often used to describe applica-

17

tions designed for mobile devices like iPhones or Android

- HTML: Hypertext Markup Language. Used for putting con-

phones.

tent on a web page like text, images, or embedded videos.

- bug: An error or problem in a computer program that

- Javascript: Not to be confused with the Java program-

causes it to produce an unexpected result.

ming language, Javascript is a programming language that


allows one to control interactive properties of web pages.

- CSS: Cascading Style Sheets. Used for adding color, posi-

Javascript has recently risen in popularity even though it

tioning, layout control, font-size, and more to markup like

has been around since the days of Netscape, especially be-

HTML.

cause it can be used as a server-side language as well.


Frameworks like AngularJS, Backbone, Meteor, and tons

- database: An organized set of data. Common systems for

more are based on Javascript.

managing databases include MySQL, PostgreSQL, SAP, Oracle, NoSQL, Redis, MongoDB, CouchDB, etc.

- jQuery: A popular library that makes writing Javascript easier.

- David Heinemeier Hansson (DHH): The software developer who created Rails. Involved with 37 Signals, a popu-

- responsive: A term used to describe websites or web ap-

lar software company.

plications that are optimized to look good across browsers


or devices of any size/width. CSS media queries are one

- design patterns: Refers to reusable solutions to common

way to control how things look across various devices.

programming problems.

- Rails: A framework, or a way of organizing code, which

- Donald Knuth: An inuential computer scientist, author,

makes building web applications with Ruby easier.

mathematician and professor. His work, The Art of Computer Programming is well known/revered by computer sci-

- Ruby: A programming language that is commonly used

entists.

for building web applications.

18

- server: A computer that is optimized to serve web page

- Yukihiro Matsumoto (Matz): Chief designer of the Ruby

content via HTTP responses (or another protocol) for

programming language.

browsers or other applications. Companies like GoDaddy,


Heroku, Rackspace, Amazon, and many more rent out
servers.

- Fin -

- Tim Berners-Lee: The computer scientist credited for in-

http://codermanual.com

venting the World Wide Web.


- web application: Usually a term used to describe a website that does more than just display content and actually
have functionality built in that possibly interacts with a database. Examples are Facebook, Hulu, Dropbox, etc.
- web server: Software that resides on a server that handles the actual delivery of the HTTP response (or other
protocol). Common web server libraries include Apache,
Webrick, and Unicorn.
- website: Usually this term refers to sites that act more
like brochure sites in that they simply just display HTML
or some other form of content without deeper functionality occurring in the background. The term is broadly used
to describe any web property including web applications,
so it can be seen as an umbrella term, as well.

19

You might also like