Live data from Hacker News

Ask HN: How to train my students to be Unicorns

news.ycombinator.com

21–30 of 35 posts

Re: Ask HN: How to train my students to be Unicorns

#21
Hmm, are you advertising that this is a series on web development? Do these students have prior development education? I fear that you're agenda is bloated.

* 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.

* Git is an invaluable, industry-standard tool for collaboration. Still, is it helpful for learning to code or is it also a distraction? Pastebin/Dropbox/etc. are sufficient for collaborative efforts when your students are writing no more than 100 lines of code a day.

* Angular/Backbone/Knockout are all opinionated and assuming. jQuery is also too much "magic" for someone who just learned what a variable is a few weeks prior. These are just getting in the way.

* Yeoman/Grunt/Bower are cool. But there is something much more intuitive about just manually linking in a .js file to learn about dependencies.

* Gulp/Coggle/Balsamiq are similarly unnecessary.

In general, I think you're trying to teach opinionated tools that will frustrate, distract, and mislead your students. There will be a lot of "wait, which one's Bower, again?"

I hope I haven'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:

* Very short overview of how a web browser and a server communicate.

* HTML: creating interactive elements for humans with textual markup.

* Node.js/Sinatra/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.

* CSS: modifying the visual representation of HTML elements for a better user experience.

* JS: react to HTML element events.

* Expand your Node.js server to respond with JSON instead of HTML, and rig your JS to asynchronously communicate with the server.

* Throw in a simple JSON/SQLite database. Flat file databases are great. Make the tried and true to-do app.

* Teach deployment (real-world servers). Git should probably be fit in here!

* Bonus: a whole class on how to solve problems using Google.

If your students are intermediate/advanced, ignore me completely.

Re: Ask HN: How to train my students to be Unicorns

#23

You're setting yourself and the students up for a really bad experience. 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. Don't rob them of having to experience why all these proj…

Anyone who has ever lost or accidentally saved over a file should appreciate git. They might not appreciate the complexity of git, but they can see the purpose.

Re: Ask HN: How to train my students to be Unicorns

#24

"Unicorn" is a term usually used by experienced developers who think specific job listings are asking for unreasonably broad skill sets. i.e. "I've been doing this job for 15 years and even I can't fill this Jr. Dev role." EDIT: oh god, I just glimpsed a future where asshat recruiters on LinkedIn have co-opted the word "unicorn" and are starting to use it like "rockstar".

I can only look forward to the time when all recruiters are looking for "Full-stack ninja unicorns" to crush code.

It will at least make for a useful Gmail filter to auto-send to the trash.

Re: Ask HN: How to train my students to be Unicorns

#25

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'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. In that spirit, I hope you will allow me to explore some questions that might help you narrow down what you…

Thank you for taking the time to comment. My motivation behind this is to teach people who have a goal or dream to be a software developer that can't go to school for whatever reason and can't afford a bootcamp.

By Unicorn I mean rockstar or be in the top percentage among peers instead of just being average.

It has been hard to find quality people who have the motivation, passion and drive to be able to have the determination to teach themselves.

What I meant be exceptional is someone that has tried and failed to teach themselves but is willing to give it another go. I should have used dedicated instead of exceptional.

I have already done the Front end curriculum this past year and weeded out all the bad videos and books to find the best material. It would take a part time student learning at night about 9 months for the bootcamp.

Thank you for your input.

Re: Ask HN: How to train my students to be Unicorns

#26

This list is more than a 4-year CS program would hope to teach a dedicated student. It'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.

Totally.

Just getting enough context to know what you don't know is often unattainable for those who have been in the field for years.

I have mixed feelings about bootcamp/codecamps, mostly because I think they are Web 2.0 University of Phoenix that preys on people that are in a disadvantaged state. My experience with people who have bootcamped is that they exist in an uncanny valley, some stimulus responses they react to, others result in a blank stare.

Wanting to learn how to code so the IT guy can no longer fsck with you, great! Make awesome macros in Python for Excel, cool. Learn SQL so you can reduce your own data, all the more power.

But to say that someone can learn "to code" in even three months is preposterous and potentially very damaging. Only use codecamps that take payment after you have been hired.

Re: Ask HN: How to train my students to be Unicorns

#27
post #14

Don't overload them. Present an easy to get started IDE and prepare some code that already generates a hello world in a GUI/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.

I picked vim because of all the plugin support and its long history. A person is going to have to learn an editor anyway so might as well learn the best. The learning methods I use for vim are just one book and several videos. I do not expect anyone to move on to the next learning topic until they feel comfortable and positive about learning vim. So if it takes a few months to learn vim they will retain the knowledge before they move on.

Thank you so much for your comment.

Re: Ask HN: How to train my students to be Unicorns

#28
post #2

What exactly do you mean by the term "Unicorns"? 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.

In The Valley, Unicorns are devs that also have some graphic design skills.

In other places, they are often devs that also have deep domain knowledge. Like an elevator repair tech who also codes, esp useful for your elevator repair startup.

Re: Ask HN: How to train my students to be Unicorns

#29

This list is more than a 4-year CS program would hope to teach a dedicated student. It'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.

I dont really know if bootcamp is the right description of the school. It really does not have a time limit and my role is more of a mentor than a teacher. I did the Front End Developer curriculum to weed out all the bad videos and books and it took me about 9 months doing it part time at night. I dont expect a student to move on to the next topic until they feel comfortable with the current one and can do it by themselves.

Re: Ask HN: How to train my students to be Unicorns

#30

This is a lot of work. How long is the bootcamp?

The bootcamp really does not have a time because it is free, and what they are really getting is a mentor who can help them and guide them to all the best resources. I put together the curriculum after searching for the best books and videos and it took me 9 months.
Post reply on HN