Ask HN: How to Move from Journeyman Developer to Software Design Engineer?

2 points by bryanwb ↗ HN
I have been working in software industry for 9 years now, the first four as a sysadmin and the last 5 as a software developer. I have been very lucky to work remotely, first in Italy and now in Thailand, for an awesome company (Cycle Computing). I am stereotypical of many modern developers in that I am very knowledgeable about the tools I use but weak in CS fundamentals. I know that these fundamentals aren't essential to working in this field but IMO they make a huge difference in what kinds of problems you can solve and how well you can solve them.

I want to embark on a very specific self-study course to acquire these fundamentals. The irony here is that I actually have a B.A. in Computer Science. I changed my major to CS midway through my junior year of university and took all of my CS courses in a mad rush before my university scholarship ended. I enjoyed these courses but my retention (and grades) were fairly poor.

I have looked at online master's degrees for CS and by and large they don't address my weak fundamentals and they are also quite expensive. I am currently looking at MOOC courses.

These appear to be the most essential courses:

* Computer Architecture

* Algorithms and Data Structures - this could be even 2 or 3 separate courses

* Probability and Stats for Engineering

optional:

- Cryptography

- Compilers

- Computer Networks

- Operating Systems

- Machine Learning/AI

Which courses do you think would help me best achieve my goals? Also, I would very much appreciate your recommendations for the online courses that best address them. The prioritization of these courses is pretty critical because I will have at most 15 hours a week for self-study.

Thanks in advance for your help!

0 comments

[ 4.7 ms ] story [ 9.1 ms ] thread

No comments yet.