

Ask HN: What to learn to become employable, starting from zero? - testtestq

Hi.
I intend to learn web developement, but I am not limiting myself to this and so I am open to other options.<p>While I would love to learn web development, I am afraid it will hinder me to do back-end work, if that is something I end up finding interesting in the future.<p>My question is basically, what exactly should I learn to become employable in Europe? Preferably England or Switzerland. I have no degree, and I would be creating a portfolio from scratch. Exactly how low are the requirements?<p>At the moment I intend to learn: Ruby, Ruby on Rails, HTML5 CSS3, Javascript, jQuery. Is that really enough?
======
richardjordan
So, a few years back, as a non-technical founder I lost my technical co-
founder in back-to-back startups. This was not a great experience, and made me
decide to never be dependent on someone else for getting initial product out
the door. I spent every evening for several months learning Ruby, Rails and
the periphery of front end stuff needed to get projects finished.

I also went to every hackathon I could - not to win, but to meet other
programmers, to sharpen my skills, to learn how to finish something under
pressure.

After a few months I started getting contract gigs - nothing fancy but paid
work. And a funny thing happened. I loved it. Loved programming. Wished I'd
been doing it for the last decade in go-to-market roles. Key was I never let
up learning. I read everything. Watched every video I could. Tried katas,
built any app I could think of to build. Shortly after that I was able to get
full-time gigs.

Nowadays I'm in a great company, doing awesome work and loving every minute of
it. Your instincts are right. If you're genuinely dedicated to it you can get
your head down and learn the stuff you mentioned. Plenty of folks hiring in
the UK for ruby/rails. While it's lost its luster for much of the HN crowd,
it's only increased in its broader adoption, and the number of jobs hiring for
those skills have multiplied far beyond the available talent.

Go for it. Good luck.

------
mod
"Back end" is typically used to refer to web development as well, so I'm not
sure if I misunderstood you, or you misunderstood the term. Web has "back end"
(ruby/rails) and "front end" (html/css/javascript). With a lot of the latest
developments there's a lot of overlap in job descriptions.

That _is_ really enough, yes. That's nearly "full stack." You're going to
learn some sql while learning rails, and you're going to have to learn enough
to deploy somewhere (I recommend heroku to start).

Basically you should teach yourself how to build essentialy any CRUD app
(blogs, wikis, basic twitter, news site, hacker news, reddit, etc). When you
can do that, you're employable--and probably well above average, honestly.

There will still be _TONS_ of stuff to learn after that, but there won't be
any reason for you to not get typical web-development jobs.

~~~
orlandob
>>Basically you should teach yourself how to build essentialy any CRUD app
(blogs, wikis, basic twitter, news site, hacker news, reddit, etc). When you
can do that, you're employable--and probably well above average, honestly.

That's a tall order to become barely employable. I'm guessing this is written
from a Silicon Valley / SF market perspective?

~~~
richardjordan
Barely employable? ...Ruby/Rails/Full Stack jobs are so hard to fill it's
insane. Starting salaries are in the $130-150k range for mid-level $150k plus
for senior and even junior level is a six figure gig. Sure it'll take time to
get to a hirable state but it's perfectly doable.

~~~
orlandob
I've added the full quote to my post.

~~~
mod
It's not "barely employable," and that's not what I said it was. Rather, it's
a solid entry-level position at most agencies.

Also I don't think it's that tall of an order. These "bootcamps" are
(arguably) cranking out graduates that (supposedly) know how to do that.

I taught myself over something like a year of spare time (I was in high
school), although this was pre-frameworks. Also pre-really-good-tutorials.

Last, I've never been west of Oklahoma. I don't know what your "perspective"
comment is on about.

------
iovar
Do you have any programming background?

I don't have a degree either, but having dropped out from a computer
engineering university department (where I did pass most of the programming
courses) and having maintained my own free software project, gave me a head
start when I decided to take the web-dev route as a career.

At that point, I studied php/mysql,js/jquery and html5/css.

These were enough to land a job as a frontend Dev, but the amount of studying
that I did afterwards I began working, was orders of magnitude more than
before.

So I think your list is very complete for a start but prepare for lots of
reading related to the specifics of the jobs you land.

Also, why limit yourself to local gigs? Even if you don't like remote work
from your home, you can't ignore that it opens a huge market to you.

------
eldelshell
Linux. Whatever you choose in web development, unless you're focusing on the
MS stack, will run in Linux. Not sysadmin level, but try to use the CLI as
much as possible when interacting with your other tools and get some
understanding of how it all works. If you can also give some time to tools
like Docker you'll be much more productive.

Also, today web development isn't as much about backend as it's frontend, and
there aren't many frontend (all JS) developers out there as much as PHP or
RoR. So, I would give more effort to SPA Frameworks than to RoR.

------
meesterdude
I was laid off from my job a few years ago (network monitoring) and decided I
would use the unemployment to change careers. Been a rails dev for 3+ years
now, so I will convey what worked for me.

The requirements for a full stack rails developer are not what i would
consider low. I don't think they're unreasonable, but there's a lot involved.

Sorry, this devolved into general "new dev" advice / what you need to learn;
hope its helpful.

1\. Watch railscasts - try to watch all of them. Make it your new TV show. You
don't need to "get" everything, you just need exposure/familiarity.

2\. Have ideas and ideas of how to build them.

3\. Build things full stack - such as one of your ideas. be someone that gets
things done. this also means that you'll face problems (like search, caching,
uptime) that you'll have to solve in your side projects, that will give you
experience to use professionally.

4\. Deploy to a server via capistrano. You should also know how how to do
heroku, but you'll be more useful if you can setup and deploy to a live
server.

5\. Understand testing; either test_unit or rspec - it depends on you which
you prefer. familiarity with both isnt a bad idea either. You should develop a
sense of testing philosophy - not everything has the same testing priority.
But you absolutely should know how to test in unit and functional full-stack -
testing is a big deal in ruby/rails.

6\. watch the "is TDD dead?" talks with DHH, martin fowler, and kent beck.

7\. learn git & github. I recommend "git essentials training" on lynda.com

8\. dig into ruby - after you know the basics, "the well grounded rubyist" by
david black is a great read, and gives you insight into the nuances of ruby.

9\. "design patterns in ruby" by obie fernandez is good - i'd save for after
#8 at the least, it's fairly high level and you certainly won't need it in the
beginning - more a mid-level book.

10\. ruby tapas is great for little nuggets of ruby that can be insightful to
know.

10\. Sandi metz is wicked smart - any of her talks online or books are worth
checking out.

11\. checkout jobs on sites like weworkremotely.com and see what kinda stack
people roll with to gauge what you need to know.

12\. learn an editor, like sublime or rubymine or whatever floats your boat.
For sublime, i recommend "perfect workflow in sublime text 2" on tuts+. you
don't need to be a master, but there are little tricks you'll learn that can
help you be more efficient.

13\. stay humble and curious. It is far too easy for a developer to think they
are smart and write amazing code and that they don't need to do or use X
because they know better. I speak both of my own experiences, and what I
witness from others.

14\. Embrace change. How we build web apps is evolving and you should try to
stay with the times. How rails 2.x got things done is different from how rails
4 does things.

15\. Be conservative. This is somewhat contrary to #14, but that's because
there is a balance to be struck. Neither as an extreme is healthy. You should
be reaching for pre-existing design patterns or whats built into rails, before
reinventing the wheel, or pulling in a gem. If you do, have a good reason.

~~~
piratebroadcast
+1 to this whole list. Great advice.

------
contechual
I think you have a good start.

Don't forget to use lots of resources already mentioned: -StackOverflow
-Codeacademy -Udemy -Khan Academy

To really ramp up your skills. Build small projects and go from there. This is
coming from someone who barely has a coding background but is currently
dabbling in Control Overflow in Python. Good luck with everything!

------
orlandob
Those skills would get you callbacks. The killer in South Florida, at least,
is the "3-5 years experience" requirement so often seen in job postings. A
nice portfolio could overcome that hopefully.

~~~
richardjordan
...having been in several organizations in recent years which are challenged
to find enough people, everyone says 3-5 years, but everyone will hire someone
with obvious talent, a portfolio of stuff on Github and enthusiasm to learn,
at much less than 3-5 years of experience.

