Hacker News new | past | comments | ask | show | jobs | submit login

I'm self-taught and a relatively late starter. I've also never studied computer science in a formal setting (i.e. at a university).

I started programming when I was studying for a PhD (in mathematics) around 2006-07. I was 23 at the time. That was mainly in Matlab and Fortran. My code from those 3-4 years is, frankly, pretty horrifying.

When I got my first job in industry (quant at an investment bank in 2010) I had to learn Java, and a language called Q[0], which is a very fast array-processing language with a functional feel and a built-in query language for the KDB database. I also picked up a little bit of R, mainly because I was building a lot of statistical models and it was far easier than doing it in Java.

That piqued my interest in functional programming, and I subsequently learnt Haskell using the book Learn You A Haskell[1]. I picked up Python around the same time when I was trying to write a web scraper, and finding it painful in any of the languages that I currently knew. For that I used Learn Python The Hard Way[2].

When I started a new job in 2011 I started writing Matlab again, causing me to finally learn it properly. Around that time I decided to try and learn a low-level language, so I picked C, mainly because there was an interesting edX course [3] that I wanted to try (the Harvard course CS50).

I'm at a weird in-between stage now. I can write comfortably in half a dozen languages, but there's a whole swathe of programming that is completely alien to me (web design, networking, and any kind of formal software architecture). I've written a lot of heavily numerical and mathematical code, but never written a CRUD app or a web page. I still don't know Javascript.

[0] http://en.wikipedia.org/wiki/Q_(programming_language_from_Kx...

[1] http://learnyouahaskell.com/

[2] http://learnpythonthehardway.org/

[3] https://www.edx.org/




I'm in the same situation as yours, except that I quit finance to work in data science, and I taught myself some basic javascript/html.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: