Ask HN: How to help a guy with no CS backgrnd learn enough to get a job in tech?

10 points by colobas ↗ HN
I have a friend who has had an accident that forced him to change his professional career. He's now looking to enter the tech world and will do an online BSc in CS. However, I feel like he lacks a lot of background and the degree will most certainly be insufficent.

How can I help him learn enough that he can then start learning on his own? Can you recommend good introductory content? (intro to how computers work, basic unix, basic programming, ...)

10 comments

[ 1560 ms ] story [ 1093 ms ] thread
I would be willing to help

contact me HackerNews AT OpenDomain dot Org

Make sure he has access to a computer easy to learn program with and also a good internet connection so he can flip between different websites. I don't know the nature of the accident but don't forget the basics - the learning environment, the people he has access to.
Some of the coding bootcamps have pretty detailed curriculum including intermediate and capstone projects. If somebody puts up useful mini-app backends in Rails or Django and shows they can unit test, branch/merge in git, do basic config/admin on linux db/solr/elastic/web etc servers, that should be a pretty employable. Or data sciency: spider and assemble clean datasets.

Look at meetups, there's fair number intros to python, R, rails, go, C# etc sessions in any decently sized city.

This is asking a lot, it might take 18 months, or a lot longer than those bootcamps. That's ok, it's like learning Mandarin or violin or the first couple years of college applied math, just take small steps, the simplest things that could adequately work.

Lists of basic skills: Uncle Bob Martin's book,

https://news.ycombinator.com/item?id=12829561

http://web.archive.org/web/20150417115543/http://samizdat.mi...?

thanks a lot for taking time to elaborate. take care!
Tell him to sign up for Treehouse[0] to start learning the basics of whatever subject he wants (app dev, web dev, etc.), and from there he'll find out if he actually likes it or not.

If he decides that he likes it and he's feeling driven, there are tons of resources[1] online for learning a lot of what he'll get with the CS degree, including video lectures from MIT[2] and Standford[3].

[0]: https://teamtreehouse.com [1]: https://github.com/open-source-society/computer-science [2]: https://www.youtube.com/user/MIT [3]: https://www.youtube.com/playlist?list=PL0F8848A0E4B65481

Beyond content, I'd suggest helping out an open source project or two - and building a portfolio of progressively harder projects. Projects cross cut a bunch of different topics, and so can really help you learn how to achieve tasks rather than just learning material
Start with Math. He attended university and was working on a Bachelors so I assume he has a base of some math knowledge. Computers are really just calculators and computing engines. Have him start doing basic programs to do basic math. No fancy libraries, GUI, IDE's, build tools, etc. needed. Either pick a language you know a lot about or pick one you also want to learn and learn together.

Once he can get basic math working (e.g. calculator via command line), build a UI for a calculator. Probably a good bet to go with some web front-end since those jobs are more common. Again no libraries or Javascript framework-of-the-month stuff, just basics.

From the background you said he was studying Physical Education... find some dataset that interests him in that area. Build a web app with that data that does something related, shows it, has simple forms to capture data, etc.

Once he's done that, he should have a good understanding of what programming is like and if he wants to continue and spend money on a degree.

The key is probably linking his interests with programming, which could naturally lead to some niche jobs in sports science using programming.

Your friend should be able to easily learn everything he would need to know to land a software eng job in no longer than 1 month by reading online tutorials.

I have watched several of my friends go from absolutely 0 knowledge to senior software engineers in less than 6 months. Being a software engineer is incredibly easy and requires no innate talent.