How To Become An Apprentice Developer
hugomelo.com
hugomelo.com
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.
Either that statement is incorrect, or you are only charging some students. What would you refer to the $3,000 upfront payment as?
There are clearly defined rules for deducting from the deposit (e.g., arrive late for class: $10, etc.). The money deducted does not go to us, but is distributed evenly among the other students.
The reason for the deposit is that students are working in pairs throughout the class, and if a student doesn’t show up, he/she disrupts the classroom experience for everybody. The system was successful for our summer course; it both helps ensure that students have a pair programming partner everyday and that even though the class is free upfront, everyone feels invested.
As long as students show up everyday and stay focused, they get their deposits back at the end, as all of the summer students have.
- 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 case in point. He's off to Twilio now.
whoops ;)
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.
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.
Don't drink the Kool-Aid, stay in school. Use Coursera and other available resources to augment your university education.
Experiment.
How many people didn't get accepted something like App Academy? One problem with self-taught education is the lack of metrics; it's hard to tell if teach-yourself is a viable path for everyone, or just a small percentage.
I don't have a CS degree, but I've still found that having a humanities degree from a top tier university is still very helpful for opening doors. Like it or not, having a degree is a positive signifier. Dropping out is (in many cases) a negative signifier. And if you're struggling to learn in college, what makes you think that you'll do better outside of college? I found that one of the most important things I learnt at university was how to learn effectively and quickly.
I've taken a break on freelancing for 3months to finish some personal projects I'm hoping that will get me something. /fingerscrossed
Maybe others like this pushy attitude but it wouldn't work in my company.
The EV of contacting people like this is high. You should do 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
Please don't listen to this guy, it's very bad advice
You only skip the HR process if you have a pre-existing relationship with a decision-maker in the company. Cold-calling can work, but the most likely outcome is getting black-listed if they think you're one of the crazies.
If you really do want to go the cold-call method, use the cold-call to establish a relationship (i.e., ask for career advice, to talk about their technology stack, etc.) Once you have a real connection, then it may be appropriate to give them your resume.
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.
Reason I went to shipping my own code for clients and customers is that they don't care about my degree or programming practices...they only care if I can ship or not.
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.
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.
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.
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)?
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.
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.
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.
I understand people want Junior jobs to exist, as junior developers. As someone hiring, why should I hire one? Serious question...
Young/junior developers often have a lot of spirit and enthusiasm which is injected into an existing team. They'll also tend to bring the 'latest new ideas' which while not already ideal does get the old guard thinking. If anything it's interesting to watch people adjust their proverbial footing to stay relevant.
On a similar note, I often wonder how does a senior/lead developer take a different direction? I took the JVM + Web stack and I was giving it serious thought to jumping ship into another area of software development. Now understandably you wouldn't be a lead but rather a born-again junior yet any interviewer will automatically assume (with evidence to the direct contrary) you've been doing it for years.
Tricky our industry...
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.
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?
You might decide that your business can derive a significant amount of experience from people who don't have a computer science degree. Those people might be easier and cheaper to hire. So it might be worth hiring them.
Fundamentally, the question is whether the hire is worth more to the company than the cost of employing them. If you think that CS graduates with four years of experience are overvalued by the employment market, it's a good move.
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.
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.
Thanks for writing this article =)