Valuable insights
1.Year of Study Deemed a Mistake: Spending over a year studying academic subjects like math and CS was ultimately deemed not the optimal use of time for career advancement goals established by the individual.
2.Initial AI Ambitions Required Deep Math: The pursuit of Artificial Intelligence immediately revealed prerequisites, specifically graduate-level mathematics, necessitating foundational study before specialized texts could be effectively engaged.
3.Passive Learning Hinders Retention: Merely watching lectures or reading material, such as content from Three Blue One Brown, creates an illusion of knowledge without the necessary scaffolding for practical problem-solving.
4.Math Academy Proves Effective for Mastery: Dedicated, practice-heavy resources like Math Academy successfully built foundational understanding over four months, contrasting sharply with passive consumption methods observed elsewhere.
5.Software Engineering Needs Less Core Math: A significant portion of advanced mathematics studied proves largely irrelevant for day-to-day software engineering tasks, especially when building existing models rather than researching novel architectures.
6.CS Study Focused on Unnecessary Low-Level Topics: Computer Science study included low-level topics like CUDA programming, which proved unnecessary without direct application, suggesting practical C++ programming would have been a better starting point.
7.Structured Algorithm Practice Boosts Engagement: Utilizing structured learning paths, such as the LeetCode Roadmap, transforms algorithm practice into an engaging puzzle game rather than an arbitrary, frustrating task.
8.Data Engineering Knowledge Applied Professionally: Knowledge gained in Data Engineering, particularly concerning tooling and monitoring data pipelines, directly benefited the speaker's primary employment responsibilities and workflows.
9.Framework Obsolescence in Machine Learning: Focusing on older Machine Learning frameworks like Keras/TensorFlow risks obsolescence, as PyTorch is currently emerging as the industry standard for new development in the field.
10.Production Over Consumption for Retention: The primary mistake involved consuming vast amounts of content without producing tangible output, leading to poor retention unless active exercises were performed, as seen in foundational subjects.
11.Scattered Focus Hinders Career Tracks: Studying disparate fields simultaneously—CUDA, Transformer research, and data pipeline building—resulted in superficial knowledge across multiple career tracks without achieving deep mastery.
12.Future Focus Shifts to Project-Based Learning: The next phase prioritizes project-based learning, focusing on completing achievable monthly projects that stretch current abilities without getting stuck in unproductive rabbit holes.
Introduction and Initial Assessment
A significant period, spanning over a year, was dedicated to intensive study across mathematics, computer science, and various academic disciplines. While these subjects hold inherent interest and promise future career utility, the overall endeavor is now assessed as having been a mistake—not representing the most efficient allocation of time. This review details the scope of the studies undertaken, the specific areas covered, and outlines a revised approach for any future intensive learning periods.
Motivation for Study Initiation
The journey commenced in November 2023, driven by dissatisfaction with existing web development skills and a desire to pivot toward Artificial Intelligence, which appeared highly promising. This ambition immediately led to the acquisition of specialized literature. For instance, one text on deep learning was discovered to be a graduate-level mathematics textbook, demanding a level of prerequisite knowledge that was absent at the outset.
Initial Resource Selection Challenges
Another selected resource required more foundational mathematics than anticipated, alongside familiarity with Python libraries such as Pandas and Numpy. This initial selection immediately created friction, causing a slight retreat from the direct path toward AI. These early missteps set the stage for the subsequent year of learning, which involved numerous avoidable errors from which current insights can be derived.
Deep learning so turns out, it is, a graduate level math textbook and the individual did not have the preparation for that.
Mathematics Foundation
Extensive mathematical study became necessary after realizing the gap exposed by the initial textbooks. The initial phase involved consuming lecture series covering Linear Algebra and Discrete Mathematics, both deemed excellent resources for concept introduction. However, relying solely on lectures and textbooks proved insufficient for developing practical competence.
Passive Learning Pitfalls
A significant finding was that merely watching educational content, such as the highly regarded visualizations from Three Blue One Brown, provides intuition but does not enable problem-solving. If the objective is practical application—the ability to execute mathematical operations—passive consumption is inadequate; active engagement with problems is mandatory.
If your goal is to actually be able to do the math and to understand what you're doing then then you have to do it you can't just watch it or even just read about it.
Achieving Mathematical Mastery
The most effective method identified for achieving true understanding was utilizing Math Academy, specifically their Mathematics for Machine Learning course. This resource involved diagnostic quizzes and required continuous problem-solving to level up skills. This intensive process required approximately four months and served as the primary side project during that time, resulting in confirmed comprehension upon completion.
Although foundational mathematics is universally useful in science and engineering, its direct necessity in typical software engineering roles, particularly when utilizing AI tools rather than building models from scratch, is surprisingly low, estimated at 99% of the time.
Computer Science Fundamentals
The study of Computer Science was approached with some prior knowledge from a web development background, allowing certain areas to be bypassed, though a decade had passed since formal minor coursework. This necessitated re-learning significant portions of the material, organized into distinct clusters of study.
Low-Level Exploration and CUDA
One cluster focused heavily on low-level concepts and hardware, pursued under the misguided notion that it would be immediately useful for starting Cuda programming after hearing the term 'CUDA mode.' This path proved inefficient. A more direct approach, had the goal been serious Cuda kernel development, would have involved immediately starting programming in C++.
- Background knowledge from recommended sources is useful.
- Practical application through exercises and projects is essential for retention.
- Direct programming in the target language (e.g., C++) is often superior to theoretical exploration of related hardware concepts.
Database Internals Curriculum
Another component involved an advanced CMU course focusing on database internals, essentially an introduction to building proprietary database systems. The introductory exercise required implementing a tree structure, specifically a Trie, using C++, which served as a bridge into algorithm study.
Algorithms and LeetCode Practice
Algorithm study commenced largely as a consequence of the database internals assignment, which required foundational knowledge in this area. The LeetCode Roadmap was identified as a superior starting point compared to other resources available for practicing algorithms.
Structured Algorithm Practice
This roadmap excels because it structures learning by starting with easy problems to teach core tricks, then progressively builds upon those tricks with harder problems. This methodology transforms the practice into an enjoyable puzzle game rather than an arbitrary, frustrating exercise that often causes newcomers to abandon the process.
If you jump on LeetCode and start trying to solve them you're going to have a bad time and it seems arbitrary but if you do it this way it's fun it's a puzzle game.
Although the practice is engaging—even more enjoyable than web development in some respects—it is currently being paused as compensation is not directly tied to solving these problems outside of a job search context.
Data Engineering Focus
The study of Data Engineering proved immediately beneficial, as much of the learning directly supported responsibilities within the speaker's day job. While specific tooling learned for work (like DBT and Datadog) was not explicitly listed in the study materials, the concepts were highly relevant.
Essential Tooling and Flow Monitoring
A key aspect of this field involves understanding the data flow and implementing tooling necessary to detect failures, which is more complex than spotting errors in frontend interfaces or direct database interactions. The book Designing Data-Intensive Applications was highly praised, confirming its reputation for providing an excellent high-level overview.
Machine Learning and AI Exploration
The final major area of study was Machine Learning and AI, the original catalyst for the entire year-long effort. A comprehensive book covering various algorithms was reviewed, divided into sections covering Scikit-learn for traditional machine learning and Keras/TensorFlow for deep learning.
Framework Obsolescence Concerns
A significant drawback noted was that the Keras/TensorFlow section risks becoming outdated, as PyTorch is rapidly becoming the dominant framework in the industry. This situation is likened to learning older frontend systems like Angular or Ember.
- Core conceptual knowledge remains transferable across frameworks.
- Significant effort may be required to learn newer tooling like PyTorch to participate in mainstream development.
- The initial course material was surprisingly underutilized despite being the primary motivation.
Reflections on the Learning Year
Despite the overall assessment of inefficiency, positive aspects exist, especially considering the context: the individual maintained a full-time job and cared for a new baby, tasks that consume substantial time. The most critical realization, however, centers on the imbalance between input and output.
Consumption Versus Production Imbalance
The study log reveals a heavy emphasis on content consumption with very little tangible production or accomplishment recorded. This lack of output means that even when lectures were high quality, the necessary scaffolding for independent recall and application was never built.
If you don't actually do something you won't remember it and just like with the math you could be tricked into thinking that you understand it by the lecture being really good.
- Algorithm work on LeetCode (building bottom-up).
- Mathematics practice (building bottom-up).
- Data Engineering application in the day job.
The Problem of Scattered Attention
The learning path was characterized by extreme scatter, pulling focus across multiple distinct, deep technical domains. This diffusion of effort meant that while exposure occurred across several areas, true progress in any single track remained minimal.
These three areas represent entirely different career trajectories, each demanding specialized knowledge. Consequently, progress stalled across the board, with only the data engineering knowledge maintaining a slight connection to daily professional responsibilities.
Future Strategy: Focused Projects
The revised strategy for the upcoming year involves a significant shift toward intense project focus, aiming to solidify knowledge through application. The goal is to define a specific project achievable within one month that necessitates learning required skills on the fly.
Project Scope and Difficulty Calibration
Projects must be challenging enough to force learning but constrained enough to prevent getting lost indefinitely in rabbit holes, a risk associated with foundational subjects like pure mathematics or abstract algorithms. For most programming tasks, knowledge should be expanded incrementally by implementing solutions based on existing understanding.
- Define a project scope that can be completed within one month.
- Ensure the project stretches current capabilities slightly.
- Solidify acquired knowledge by immediate application before attempting harder concepts.
This focused, iterative approach is intended to build demonstrable ability over the next year. Plans exist to share the outcomes of these projects, with the first project already underway and expected to result in shared content within a few weeks.
Useful links
These links were generated based on the content of the video to help you deepen your knowledge about the topics discussed.