3 ms·
Ask HN: Any advice on how to survive (and thrive) at a developer academy?
I suppose I should point out that by "developer academy" I mean a class of programs that has sprung up in recent years catering to individuals with no computer science background nevertheless interested in learning enough code to contribute professionally.
After making the personal decision and doing the research, I learned the material necessary to complete the entry exams and apply to several developer academies across (and outside) the country. Now I'm at the point where I'm completing the prework and executing the necessary logistics to attend one in the fall and would love to know from any alums of programs like Hack Reactor, App Academy, Bitmaker Labs, etc.: what did you wish you knew going in? I'm a little late in the game to make much use out of "don't do it, they suck" but I'd greatly appreciate any advice you could give on maximizing the experience! Thanks!
- argonaut 13y agoI've been involved with one of them. 1. I don't know which one you'll be joining, but do the prepwork. 2. If the prepwork doesn't include git, learn git (Recommend CodeSchool, GitHub's tutorial, and generally spending time using git). Reading Pro Git or something like that doesn't really help unless you've been using git for a while. Learn how to use GitHub (fork, cloning, pull requests, issues, etc). Build a good internal mental model for what is going on. 3. Get in the habit of properly touch-typing if you don't already (meaning all ten fingers and using the pinky). You'd be surprised how even a lot of programmers don't properly touch type. Get comfortable with a standard text editor (I recommend Sublime Text for a beginner. You can learn vim later, maybe after the course). 4. If the course curriculum does not include basic data structures and algorithms, get a good overview of basic data structures and algorithms. Meaning learn about hashes, arrays, multi-dimensional arrays, stacks, queues, linked lists, trees, binary search trees and how to implement them. Learn about order of growth, etc. If the course does cover those topics, then you can go ahead and hold off on learning them (or not). You can read about these topics, but I think getting it explained to you by a teacher, assuming those topics are covered in the course, is a lot easier and intuitive. 5. Some courses don't go into much depth about HTML and CSS (for good reason - those topics are just pure memorization, lots of busywork and trial and error, not very much educational value). If so, brush up on HTML and CSS, especially advanced CSS. A lot of web dev interviews will (sadly) involve those two areas. 6. Code as much as possible. Jump ahead. Read as much as possible. If it's a Rails school, take the initiative to go through the Hartl tutorial, learn/read/code about advanced Ruby metaprogramming. Ditto if you're doing JS or Python. 7. Start a personal website and blog. Make it look good (this can be your practice for #5). This is not important for success in the course, but is important for branding yourself after the course. By the way, I personally believe you should avoid branding yourself as a "junior" developer. Avoid that.
- CoreSet 13y agoThank you for the advice! Let me ask for clarification on a few points. Absolutely agree with 1, 2 (just did Codeschool's free "Try Git" tutorial and am moving on to the paid version) 3, 4 (though I don't have any experience here) and 5 (I think the majority of our HTML/CSS will be through online courses). For 6, you're referring to this, right? http://ruby.railstutorial.org/ http://ruby.railstutorial.org/ Also, would you recommend studying Python or any other languages concurrently with Ruby besides HTML, CSS, and JS? I love Ruby's simplicity so much compared to half-remembered bits of high school Java that at this point anything else will come as a shock. On 7, do you have any ideas for other angles? I'm coming from a journalism/content background and will try to avoid wholesale anything pegging me as green, but if it came down to it...Journeyman Developer? Upstart App Writer? What would be the best way of honestly representing my expertise?
- systemtrigger 13y agoFor 6, yes he's referring to that. Learn python, but maybe not now. You are taking on plenty with git, ruby, rails, html, css and js. The best way of honestly representing your expertise is, in my opinion, web application developer.
- argonaut 13y ago1. About git. In my experience, I have never met anyone who learned git by just doing tutorials. The best way to learn git is to start using it for every coding exercise. 2. Yes, that's the Rails tutorial. 3. Is the dev academy Ruby-focused, JS-focused, or something else? Because I would most certainly NOT recommend you try to learn multiple languages concurrently. Whatever language is the focus of the dev academy, master that one. So no, don't learn Python/any other languages concurrently. (HTML and CSS are not programming languages. They are markup languages and it is assumed that any web developer has basic proficiency in them). The one exception is you usually need to know some JS. So if, for example, the dev academy does Ruby, you'll still probably be taught JS. But as far as self-teaching goes, focus on the language that's the focus of the dev academy. Master that first. 4. You're missing my junior developer point. "Upstart" and "journeyman" are all synonyms of "junior." My point is that you should not give such a blatant indication that you are junior in any way. Let them make up their mind about your abilities when they interview you. Saying you're a junior developer is only going to hurt you. It is only going to increase the likelihood that your resume gets tossed out. Just say you are a (Software|Web|Ruby|JavaScript|Python) (Developer|Engineer).