New Journey
Tue, Sep 2, 2014I’m starting a new episode in my life! About one month ago, I committed myself to learning programming and getting a job as a software developer. For at least the next five years, I want to learn some new skills and explore a new industry. After that, I’ll reassess and see where I want to go next.
Learning Programming
So far, I’ve learned Python through Think Python by Allen Downey, which I think is an excellent book. I appreciated the thoughtful exercises, and the focus on teaching only what’s useful in the moment while building towards a bigger project. I find that too much information without implementation results in shallow learning. Perhaps for other learners, there’s a different sweet spot, but for me Think Python worked great. I’m even planning on working through his book Think Complexity.
With some Python basics under my belt, I’m investigating some other projects. The way my brain works, the computational aspect of CS doesn’t seem daunting, but the organizational part does. For example, data structures in a void make sense, but what’s the best way to organize them to do something useful? I guess this is the software engineering side, and it looks quite open-ended and complex.
My current plans for Python projects are basic inventory management from CLI and to investigate Flask. However, I’ve realized that I’m not very results driven, I’m more of a process person. Of course, getting something to work is satisfying, but I feel uncomfortable with magic and frameworks at the moment because I don’t understand what’s going on. So as I continue to explore, those projects may never get finished.
On the theme of less magic, I’ve also been investigating Golang. I’ve finally got it set up, and done some tutorials. I like the simplicity of the language, and I want to use it to build a simple webserver first. Perhaps to serve sgf files (Go game records).
There is, of course, a ton of other stuff I also find interesting: SICP, Haskell, algorithms, data mining and analyis, numerical computing and modelling. I’m all too capable of running off in many different directions. So I’m going to shelve those for now and concentrate on Python and Golang.
Finding a Job
I’ve been networking with Williams alumni and they’ve been very kind and helpful. I may have an internship set up for the near future, and I’ll also be looking for other opportunities through more networking. I’ve found that my default of responding to Craigslist ads has not worked especially well, maybe because of my unconventional background. Although, I’m also planning on sending some cold emails.