TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How to train my students to be Unicorns

12 pointsby freedevbootcampabout 10 years ago
I have a free dev bootcamp for exceptional people who have a dream of becoming a software developer. I only have the front end curriculum ready but wanted to get some input on what I might add for front end or back end. I don&#x27;t have most of the books listed but the learning is a combination of the best books with the best online videos.<p>Thank you so much for you input. I really appreciate it.<p>1. Setup Workstation<p>2. Learn Linux or OSX at the command line<p>3. Learn vim<p>4. Learn Git<p>5. HTML<p>6. CSS<p>CSS Frameworks <i></i><p>L. Bootstrap Framework M. Foundation Framework<p>7. Javascript<p>Javascript Frameworks <i></i> A. Angular.js B. Backbone.js C. Knockout.js<p>8. JQuery<p>9. Pro Developer Tools a. Yeoman b. Grunt c. Gulp d. Bower e. Coggle f. Balsamiq<p>BACK END<p>10. Node.js<p>11. Databases and Caching Technologies<p>12. Webserver, reverse proxies and load balancers

18 comments

mikekcharabout 10 years ago
Several people have written nice supporting responses with good suggestions. One person (that I have seen so far) has written a testing question. I don&#x27;t want to discourage you, but sometimes with ventures like this, I think testing questions can be more valuable than the good answers to your original question.<p>In that spirit, I hope you will allow me to explore some questions that might help you narrow down what you are doing. To reiterate what the other poster asked, &quot;What do you mean by Unicorn&quot; and I will tack on, &quot;and why is that the goal?&quot;<p>You say you want to target &quot;exceptional people&quot;. What do you mean by that? If a person is &quot;exceptional&quot;, why do they need your help? What gap are you filling?<p>Finally doing this kind of thing is often difficult and time consuming. What is your motivation for starting? How will you measure your success? How will you sustain your motivation over time?<p>Now some advice: Like some others, I have started many projects. Some have lasted a weekend. Some have lasted for years. Quite a few projects (even ones that lasted for years) had very few participants other than me. This was OK for me because I enjoyed building stuff. None of my projects (so far) became super popular. That&#x27;s pretty normal I think. Exceptional things are exceptional by definition. Making sure that you are OK just building stuff because you enjoy building it is a good way to make sure you don&#x27;t get jaded.<p>Having said that, if your motivation is driven by having a following, learn something from the lean startup guys. Do the tiniest thing that could possibly work and just go. See if you get any interest at all. Fiddle with the parameters until you start to get some interest. Don&#x27;t build a whole big website and gamble on the all-or-nothing. Build it and your following together over time and don&#x27;t engage in too much risk.<p>I hope the questions I asked will help you narrow your scope and help you find the fastest way to deliver something and start testing the waters. Good luck!
评论 #9347303 未加载
moron4hireabout 10 years ago
&quot;Unicorn&quot; is a term usually used by experienced developers who think specific job listings are asking for unreasonably broad skill sets. i.e. &quot;I&#x27;ve been doing this job for 15 years and even <i>I</i> can&#x27;t fill this Jr. Dev role.&quot;<p>EDIT: oh god, I just glimpsed a future where asshat recruiters on LinkedIn have co-opted the word &quot;unicorn&quot; and are starting to use it like &quot;rockstar&quot;.
评论 #9346999 未加载
erikbabout 10 years ago
Don&#x27;t overload them. Present an easy to get started IDE and prepare some code that already generates a hello world in a GUI&#x2F;browser. Then teach them a little fancy stuff like color changing, making a ball jump by pressing space, etc. If you hit a newcomer with vim and expect him to do something without giving him 2 years, then he will just think that programming is not for him.
评论 #9347323 未加载
dangrossmanabout 10 years ago
This list is more than a 4-year CS program would hope to teach a dedicated student. It&#x27;s not realistic to expect someone to go from learning how variables work to load balancing a server they wrote from scratch, in vim on a shell, in a bootcamp.
评论 #9347313 未加载
评论 #9347352 未加载
s_kilkabout 10 years ago
What exactly do you mean by the term &quot;Unicorns&quot;?<p>In my mind, rare and mythic creatures (and their human analogs) cannot be trained into existence. Sure you can take a group of people and show them how to do something, but the result would be closer to a squad of foot-soldiers than a herd of Unicorns.
评论 #9347339 未加载
评论 #9346888 未加载
purerandomnessabout 10 years ago
You&#x27;re setting yourself and the students up for a really bad experience.<p>People have to experience repetitive text editing before realizing why vim would be valuable. They need to copy and paste code and make file backups by hand to get a clue why git would help. They need to try to build a big JavaScript application to appreciate why all the frameworks exist.<p>Don&#x27;t rob them of having to experience why all these projects were created and what problems they&#x27;re trying to solve. Ignite the spark with some fun, playful basic stuff.
评论 #9347052 未加载
gtirloniabout 10 years ago
You can find a lot by researching what other web frontend &#x2F; basic backend dev bootcamps offer: <a href="https:&#x2F;&#x2F;www.google.com.br&#x2F;search?q=programming+bootcamps" rel="nofollow">https:&#x2F;&#x2F;www.google.com.br&#x2F;search?q=programming+bootcamps</a>
Achsharabout 10 years ago
IDK, maybe pull down a little on the frameworks and add another &quot;traditional&quot; back end language like python maybe? Or dare I say php since it&#x27;s easier to pick up. Because all those frameworks look a lot of work for a bootcamp IMO. People can&#x27;t go from learning command line and html to handling servers and complex frameworks in the course of a single camp.
Hytosysabout 10 years ago
Hmm, are you advertising that this is a series on web development? Do these students have prior development education? I fear that you&#x27;re agenda is bloated.<p>* Vim deserves a class of its own. My personal experience is that it takes months of using Vim before it starts paying off. Your students will struggle with and be distracted by Vim.<p>* Git is an invaluable, industry-standard tool for collaboration. Still, is it helpful for learning to code or is it also a distraction? Pastebin&#x2F;Dropbox&#x2F;etc. are sufficient for collaborative efforts when your students are writing no more than 100 lines of code a day.<p>* Angular&#x2F;Backbone&#x2F;Knockout are all opinionated and assuming. jQuery is also too much &quot;magic&quot; for someone who just learned what a variable is a few weeks prior. These are just getting in the way.<p>* Yeoman&#x2F;Grunt&#x2F;Bower are cool. But there is something much more intuitive about just manually linking in a .js file to learn about dependencies.<p>* Gulp&#x2F;Coggle&#x2F;Balsamiq are similarly unnecessary.<p>In general, I think you&#x27;re trying to teach opinionated tools that will frustrate, distract, and mislead your students. There will be a lot of &quot;wait, which one&#x27;s Bower, again?&quot;<p>I hope I haven&#x27;t been discouraging and unnecessarily critical... my doubts would certainly need to be revised if these students indeed had prior experience. My idea of a schedule for starting web dev:<p>* Very short overview of how a web browser and a server communicate.<p>* HTML: creating interactive elements for humans with textual markup.<p>* Node.js&#x2F;Sinatra&#x2F;etc. (students might benefit from using Node.js here as to not be overwhelmed with languages later): code a simple server to respond to a POST.<p>* CSS: modifying the visual representation of HTML elements for a better user experience.<p>* JS: react to HTML element events.<p>* Expand your Node.js server to respond with JSON instead of HTML, and rig your JS to asynchronously communicate with the server.<p>* Throw in a simple JSON&#x2F;SQLite database. Flat file databases are great. Make the tried and true to-do app.<p>* Teach deployment (real-world servers). Git should probably be fit in here!<p>* Bonus: a whole class on how to solve problems using Google.<p>If your students are intermediate&#x2F;advanced, ignore me completely.
评论 #9347500 未加载
djmillabout 10 years ago
Maybe for a small backend project, you could use Ruby on Rails? RoR gives you easy JSON API capabilities, an app server, and an out-of-the-box sqlite3 db.<p>I figured I&#x27;d throw it out there because for a beginner, all of these things would be wrapped into one application and it might be easier for a beginner to maintain; however, you&#x27;d need to call out that not all frameworks have everything that RoR has.<p>And I&#x27;m not saying RoR is a &#x27;best practice&#x27; backend approach, because I&#x27;d never use it as a real backend service, but it might fit in nicely with your bootcamp!
sisciaabout 10 years ago
How long is the boot camp ?<p>Supposing is not very long I won&#x27;t teach any framework, but I would let them discovered it.<p>After they manage the CSS I would make them build some simple page, and I will let them know that there are some CSS framework already done...<p>Similarly for the Js part, teach them how to inject html in a page first and finally let them know about framework...<p>Also I will cover react.js, not because is particularly cool or new or hot, but because is a completely different approach, actually closer to the CSS &#x2F; front end way to code...<p>Also, I won&#x27;t really teach them vim... Maybe sublime is a safer bet...
pbhjpbhjabout 10 years ago
Why Vim?<p>Edit: downvotes, so .. it&#x27;s the only thing I&#x27;ve not personally used in his list, I&#x27;ve been using nix environments for over 20 years and never got beyond &lt;esc&gt;:q! (or whatever it is). It seems the author considers it an important tool for being an accomplished web-designer - enough to have it as a prereq - so I&#x27;m interested in the OP&#x27;s reasoning.
评论 #9347002 未加载
meiraabout 10 years ago
You&#x27;re not going to train an unicorn teaching technical stuff. This can be learnt easier and better using the internet.
atmosxabout 10 years ago
Looking at that curriculum if my newphew wanted to learn programming, I sure as hell wouldn&#x27;t send him to your bootcamp.<p>You can&#x27;t seriously expected anyone to learn 10 disciplines in one go.
Warewolf-ESBabout 10 years ago
Encourage them to participate in open source projects! They will learn from some pretty awesome developers, and also contribute to the greater good :)
radleymithabout 10 years ago
This is a lot of work. How long is the bootcamp?
评论 #9347394 未加载
mauvmabout 10 years ago
It would be awesome if you would include ReactJS for the people who lean towards app development.
nphyteabout 10 years ago
How to get in touch with you?