3 ms·
Ask HN: How to Move from Journeyman Developer to Software Design Engineer?
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!