2 ms·
The other advice to practice is good. But you really don't want to be polishing turds, however skillfully. You want to find where you can contribute the most.
by w10-1 3y ago
The other advice to practice is good. But you really don't want to be polishing turds, however skillfully. You want to find where you can contribute the most. Aim to be a professional.
If you have a year to switch, you'd get tremendous value from building your understanding of the field so you can make good decisions and target the right things, and see if you want more education/training.
Separately understand the gist of:
- business domains and their product lifecycles
- software lifecycles
- classical software problems: algorithms, data structures, concurrency
- modern software: internet scale, real-time & device, NLP & AI
By "gist" I mean understand the issues and forces, and how well-understood the problems are (i.e., are there many good solutions?). E.g., web apps can be re-deployed to millions daily, but medical products have multi-year lifetimes, and that determines the production process. Look for the difference that makes a difference.
Then assess yourself by trying some real CS, trying to get at the ideas behind the languages. E.g., pick up Haskell and write an interpreter. Read up on the math behind big-O notation, 3D models and ray-tracing, AI regressions. If it's sensible, more training might be in order, or you might take on peripheral roles in those domains (QA, data cleaning).
Finally (if not conversely), monkey see, monkey do: there are SO many open-source apps, databases, frameworks, etc. Just figure out how build and run them, watch how a bug gets fixed, and perhaps contribute. Pick the best (e.g., for C, sqlite). Then you can start to address the build-vs-buy question at the heart of non-greenfield/prototype software design.
One thing you'll optimize in that year is how to learn and assess, and how to plan multiple small projects, which you'll need for your entire career.
CS grads come out with knowledge but no experience. Your goal is to show you grok experience lessons and have the capability to learn as you go -- to show upside potential long after the interview. The skills part is the easiest to pick up.