Resources
I have categorized the content into three sections: CS Fundamentals, Job Hunting, and Industrial Practices. This approach offers you various entry points and perspectives to explore the field of Computer Science - ultimately, they are all interconnected.
文 - CS Fundamentals
This section lists fundamental and advanced subjects covered in the Computer Science curriculum at most schools. Although these topics may not have an immediate impact on your programming skills or career growth, they are essential for fostering a profound comprehension of how computers operate. Consider learning these subjects as a long-term value investment that will significantly contribute to your future without you realizing it.
Fundamental | Advanced |
---|---|
Computer Systems | Computer Architecture |
Microcomputer Design | |
Computer Hardware and Operating Systems | Distributed System |
Cybersecurity | |
Algorithms, Data Structures and Analysis | Algorithm Design |
Machine Learning | |
Deep/Reinforcement Learning | |
Computer Communications/Network | |
Database Systems Concepts & Design |
技 - Job Hunting
This section focuses on job search related topics, including resume editing, the interview process, types of companies, job search platforms, and more. Technical assessment holds significant importance within this context. Job searching requires considerable effort, and the preparation involved is relatively separate from the other two sections.
- Resume Writing:
- STAR Method
- Templates? Less is more.
- Phone Screening
- Online Technical Assessment/Take home Assignments
- Live/Whiteboard Coding
- Algorithms:
- System Design:
- Grokking Modern System Design Interview
- System Design Interview by Alex Xu
- Designing Data-Intensive Applications by Martin Kleppmann
- Others:
- Behavioral Questions/Leadership Principals
- Offer Stage
藝 - Industrial Practices
In this chapter, I will share my personal industry experience, provide insights into industry standards, and share valuable recommendations I’ve received from experienced professionals.
- Version Control: Git-it Guide
- Debugging Tools:
- Chrome Web Dev Tool
- Chrome Extensions
- VSCode Extensions
- Logs
- Code Quality:
- “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin
- “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” by Robert C.
- “Patterns, Principles, and Practices of Domain-Driven Design” by Scott Millett, Nick Tune
- “Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable System” by Martin Kleppmann
- Software Lifecycle
道 - You Can’t See the Forest for the Trees
- App Economy Insights: How they make money
- “Poor Economics: A Radical Rethinking of the Way to Fight Global Poverty” by Abhijit V. Banerjee, Esther Duflo
- “Guns, Germs, and Steel: The Fates of Human Societies” by Jared Diamond