Hacker News new | ask | show | jobs
by mtlb 901 days ago
The most important thing is to figure out what you want to achieve. Banal, easier said than done, but always important to keep in mind. Your goals and understanding of them are likely to change, but having more understanding is always better than having less. This understanding can only be gained through practice, and is personal to you, which makes it hard to give specific advice.

CS is not really a field that can be mastered as a skill. The skill sets of people developing web services, games, robots, programming languages, hardware architectures, and software that runs on space shuttles will be somewhat different. There are also purely theoretical and mathematical aspects: algorithms and data structures, type theory, formalized logics, etc, etc. All of those have their own resources and communities.

There are some general things that would be good to know for anyone working on anything CS-related. Check out a few computer science courses in big universities, and the things they all teach in first and second years would be the most universal ones.

As for the practical stuff you can do right now: for engineering aspect, I would recommend picking a simple project (website/app/game) and implementing it end-to-end using best practices you can find for everything: code style, testing, repo, CI/CD, and so on. For theoretical aspect you can check out Project Euler and see how far you can go in solving the challenges on there.

And I wish you best of luck on your quest.