

How To Become An Apprentice Developer - HugoMelo
http://hugomelo.com/post/35533342698/becoming-an-apprentice

======
ruggeri
[Instructor at App Academy here]

I'm really proud of Hugo; he came in to App Academy as an 18 year old kid with
no coding experience, and through sheer force of will, learned enough to land
a junior dev job in nine weeks.

If you're interested in the course that Hugo took, check us out
(appacademy.io). Students only pay us when they find a dev job after the
program.

Hugo's fellow students are doing great. 11/15 of our students were unemployed
before attending App Academy. 13/15 of our graduates have offers or are
working in tech jobs now at an average salary of $83,000.

~~~
HugoMelo
nicholasreed makes a good point. Let me make some stuff clear:

\- I paid a $500 refundable deposit by mailing them a check they never cashed.

That was legit. A $3,000 deposit is silly though.

\- To the best of my knowledge no jobs were found from App Academy's partner
companies.

\- I don't believe the $83k average salary thing.

That said, Ned is one of the greatest mentors I've ever met, and he's
radically changed my life.

:)

~~~
edskim
Hugo! I never really announced it but I accepted an offer with Twilio to join
as a mobile engineer. I only interviewed with partner companies. I was going
to mention it when I got back from my trip. I think other people got offers
from partner companies as well.

------
avolcano
Gotta say, as a sophomore who's been debating dropping out college, that these
junior positions exist at all is encouraging.

I always thought my trajectory would be to go to my current school, transfer
to a better one, get some good internships, and graduate with a CS degree. But
my grades aren't where they need to be, so I probably won't be able to
transfer to a good school. Honestly I've been concerned whether or not I can
afford it anyways. Going for a junior position, or even a paid non-college-
affiliated internship, is far more appealing.

I've got a pretty decent GitHub, and I've launched a few apps with another in
the works. My major (and it is major) concern is that I don't have a good
grasp on CS fundamentals - algorithms, data structures, etc. But it seems
easier now than ever to teach yourself this - whether through Coursera, or
through reading a variety of sources, and practicing on sites like Project
Euler or Interview Street.

Maybe Hugo's experience was different than the average developer drop-out
because of his ability to get into App Academy, but I'd like to think anyone
who can demonstrate programming knowledge and intelligence has a shot, degree
or not.

~~~
ninetax
We are really fortunate that CS skills are in such high demand. That this is
even an option is pretty amazing. However, the day may come when the market
turns down and the thing that makes an employer hire the next guy and not you
is a piece of paper that says he stuck it out in college. Good luck whatever
you do!

~~~
batgaijin
If you are a good programmer and get turned away for that reason, thank
yourself for that bit of luck.

I went through college, learned dittily squat when it comes to cs, and now I'm
playing catch-up hardcore with js/functional programming/kernel
hacking/everything.

Autodidacts rule the world today, and they will only continue to become more
influential. Nobody can push you harder than you can push yourself.

~~~
pm90
While I agree with your points, rejecting a company because it makes that
demand isn't quite right. If (hypothetically) you have 2 equally good
programmers, and the only difference between them is one has a degree and the
other one doesn't, then its natural to choose the former

~~~
cstejerean
If you have two equally competent candidates, hire both. It's surprisingly
difficult to find good programmers though, so ending up with 2 awesome
candidates to choose from is unlikely.

------
caphill
I've been trying my hardest to find a Junior position. When I finally do find
something that says "Junior" they want 4+ years of experience and expert level
in everything or it's no where near me and they don't hire remote.

I've taken a break on freelancing for 3months to finish some personal projects
I'm hoping that will get me something. /fingerscrossed

~~~
atomical
The most important piece of advice I can give you is to go directly to the
decision maker. Call them if you have to. Make up some excuse to talk to them
on the phone. Tell them your e-mail bounced but you really like what they are
doing and give them a short summary of who you are.

~~~
hnriot
No, this is terrible advice. Companies have hr and recruiters for a reason, if
you jump over them it just shows you're pushy and impatient. If someone calls
me and tells me their email bounced I'd immediately think they were lame.
Seriously? "Did you get my message?" Is circa 2001. These days if an email
bounces you go back and read sent it properly with th right address. Emails
don't bounce on their own. When I lost a job posting I expect the candidates
to be screened by the recruiter. If a candidate calls me I'd just put them in
touch with the recruiter.

Maybe others like this pushy attitude but it wouldn't work in my company.

~~~
barry-cotter
Don't listen to this guy. Building relationships is a huge part of how you go
grom one of the massive pile of mostly crap resumes to someone who can skip
that and get a warm interview. If you have spoken to someone and they remember
who you are, you have a relationship. If you develop relationships with people
who might hire you later, maybe they don't hire you, but maybe they can
introduce you to someone who will.

The EV of contacting people like this is high. You should do it.

~~~
pm90
I agree with what you're saying, but does this approach scale? What I mean is:
(say) Google gets millions of applicants a day. If all of them start calling
up Google devs wouldn't that waste a lot of their time? (I guess a reason why
this works is that not many people are doing it)

On a related note, I've found that I get a lot of benefit just by calling and
speaking to a real person. For instance, an airline representative once saved
me nearly $800 on an offer that was not mentioned anywhere else

------
nhangen
I also had struggles trying to find work as a jr dev, so eventually I gave up
to start building my own software and work on the consulting side.

It's strange because I see a lot of jr. guys/gals struggle to find mentorship,
yet those very same sr. devs don't hesitate to poke holes in their code from
afar.

For example, you see a lot of jr. devs post code and projects here on HN, and
they get lambasted for poor practices.

I guess you just have to learn to weather that storm. Good on the OP for
working hard and getting that first gig.

~~~
atomical
Poking holes in your code is mentorship. If you have some ego about lines of
code you wrote you aren't going to be happy with a career as a developer
because over time everything is slowly tweaked and rewritten.

I don't know what a 'poor practice' is though. Getting something out the door
is key at most places. You need to get most of it right though.

~~~
EnderMB
Absolutely. There are fewer harder things in software development than taking
criticism over code you've lovingly crafted, but ultimately it's this
criticism that makes you understand the code better.

Additionally, if you're posting code on the Internet then you're there for
everybody to shoot at. It sucks sometimes, but that's how things go.

~~~
nhangen
There is a big difference between being cruel and being helpful. Very often I
see the former. I don't post my code, so this isn't about me. It's about what
I see from others.

~~~
EnderMB
You're absolutely right, but it's the current nature of sharing code on the
Internet. I've had enough of my code slated to know, and at times it has
stopped me posting what could be valuable code for others.

It also depends on where you're sharing your code, and what kind of
communities will pick it up. In my experience, the Python and .NET communities
have been great when dealing with both damning and constructive criticism of
any problems of mine.

------
rizzom5000
There are two primary reasons this story is possible. One, we have a highly
motivated student; and two, tremendous demand unfilled via traditional
channels.

And nothing against a 9-week code bootcamp, but even if the student invested
12 hours a day with no days off, we're talking about 756 hours of experience.
Compare this to a university education at four years times 12 hours of class a
week for 30 weeks and two hours of study for each hour of class, we have 4320
hours of experience.

Granted, not all of that experience is _coding!_ , but nor are we counting
four years of personal projects, internships, summer jobs etc. And along with
that, neither are we counting the relationships with professors and peers, not
only within our chosen profession - but perhaps more importantly, without.

Not to take anything away from this kid and his story, but it's difficult to
reconcile the comments from people who think university is a waste of time. It
really just sounds like they are from people who are/were asleep at the wheel.
Which makes me wonder why anyone would want to hire them (well, I mean, other
than the tremendous demand thing)?

~~~
slurgfest
I don't think University is a waste of time. However...

It doesn't seem completely accurate to count all the time spent at university
as equivalent to the same time spent working in the trenches.

And it seems extremely harsh to say that there is no reason to hire people who
didn't do CS in university, because they were "asleep at the wheel." Figuring
out what you are going to do in the future is not the same skill as shipping
software.

~~~
rizzom5000
Well, for your first point, I'll agree that code boot camps and university are
entirely different things and with entirely different purposes. But if code
boot camps are going to advertise themselves as an alternative to university,
I think I'm completely within bounds to compare the two.

For your second statement, sorry if there was a misunderstanding, but my
comment was directly in reference to people who _have_ gone to university, and
who subsequently make comments in public, including on this board, about what
a waste of time it was. It had nothing to do with reasons to hire people, or
figuring out what one might want to do in the future - but everything to do
with people who pissed away four years of what can only be described as full
of opportunity, and now complain about what a waste of time it was.

And my statement stands, I don't think I'd want to hire or work with someone
who honestly believes that they didn't get anything out of university.

------
andrew_wc_brown
It took years before I was hireable material. All I had in 1999 was irc rooms
and mailing lists filled with egotistic programmers that had 120 different
ways to call you dumb if you wanted to learn.

Learning to be a hireable programmer is a multi-year journey. You can do it on
your own. Freelance small jobs until they become big jobs.

------
peteretep
Purely from a hiring side, can someone sell me on the value of hiring junior
developers and training them up? It feels to me like there's real potential
for them to gum up the development team, it's going to take years for them to
be senior (and nothing stopping them leaving when they are)...

I understand people want Junior jobs to exist, as junior developers. As
someone hiring, why should I hire one? Serious question...

~~~
justincormack
Ok so if

1\. You have no trouble hiring senior developers whenever you need one

2\. You have no shortage of money to pay them

3\. You are running a short term business, so your time horizon is only a year
or so

4\. You have no work that has been put aside as high risk given the uncertain
benefits

5\. You dev team is fragile, and liable to be gummed up

Then by all means do not hire junior people.

But if any of those do not apply, you will find all sorts of advantages. Look
at the Google Summer of Code as a model, say. You get enthusiastic people
willing to learn, who you can teach your way of doing things, and fast track
their dev skills so they become senior sooner. So long as your codebase is
slightly modular there must be something people can start on, and do not
forget that teaching is a great way to help you think about things in more
detail, and that meta thinking is the most important way in which you become a
better programmer.

~~~
peteretep
To summarize your points:

Cheap but enthusiastic (and perhaps plentiful) labour, who may be able to work
on non-critical path items, and there may be ancillary learning benefits from
mentoring to existing senior devs.

Is that about the size of what you were saying?

------
welder
[Hugo's Hacker House roommate here]

Hugo went from zero coding experience to holding his own with seasoned
Javascript & Ruby devs in 9 weeks. I'm not sure if he's just an exception, but
it sure paints app academy in a positive light for me. I hope more of these
"Learn to Code for Free" camps pop up around here.

~~~
freework
That depends on what is meant by "holding his own with seasoned Javascript &
Ruby devs". In my experience, the only thing that makes you a good programmer
is building things. What has this guy built? A handful of project euler
solutions? That doesn't make you a valuable programmer. There is no free
lunch. There is no magic bullet.

~~~
welder
I've seen him solve algorithms problems for coding interviews in Javascript
and Ruby. He also helped with some html content on a site I'm building.

By holding his own I meant able to understand and contribute to technical
conversations. I can't even have a technical discussion with some CS students
without having to explain the definition of recursion.

------
sddulaney
I think apprenticeships in general are critical. It's good to see that others
see their value. So many people feel this sense of entitlement. Nothing comes
without hard work. Mentors make it easier. Apprenticeships are amazing.

~~~
slurgfest
As a corollary to 'nothing comes without hard work,' a company can't stock up
on good engineers without hard work on the company's part, and complaints
about this are also rooted in a sense of entitlement.

------
KalobT
This was an amazing read. I'm very happy to have read this, and I now know
that other people feel similar to me.

Thanks for writing this article =)

------
2arrs2ells
Great post, Hugo & great hustle! Glad to see fragments of our conversation in
your writing. Keep growing!

------
orangethirty
Note: if you want a chance at a good _unpaid_ internship, working with Python
and Django (and maybe Rails && javascript), shoot me an email. Hackers who are
< 18 are very welcome.

