Learning Resource Hub
Bookmarks for tech professionals and enthusiasts at Tech Trendsetters. Constantly updated and curated collection of literature, courses, and resources covers the latest trends and essential skills.
Hello, my fellow tech friends! Welcome to another episode of Tech Trendsetters – this is not a regular episode but rather a special corner of the tech journey. Here, you’ll find the ultimate hub for all the literature, courses, and resources that can shape your career, enhance organizational impact, or simply boost your business.
I’ve realized how essential it is to have a go-to place for all those invaluable nuggets of knowledge. That’s why I started this page, filled with the best and most impactful resources I’ve come across. I’ll be constantly updating this hub with new finds, so you’ll always have fresh content to explore.
Happy learning!
Software Architecture:
Learning Domain-Driven Design
"Learning DDD" is a comprehensive and approachable guide for software developers and architects who want to understand the fundamentals of Domain-Driven Design. This book simplifies the core concepts of DDD, making it accessible even for those without prior experience and serves as an excellent entry point before diving into more advanced DDD literature, such as Eric Evans' canonical work. I recommend it as the first step for anyone curious about DDD.Domain-Driven Design: Tackling Complexity in the Heart of Software
I only recommend this book after you've finished reading Learning DDD, and only if you're inspired to dive even deeper. This is the canonical book in which Eric Evans originally laid out the principles of Domain-Driven Design. While it's often discussed, only a select few people made it all the way through.Fundamentals of Software Architecture
A well-executed guide that effectively addresses the complex topic of software architecture. The authors avoid the usual traps of being overly theoretical or dry, which are common in architecture books. Rather than indulging in endless discussions about what defines architecture or what qualifies as an architectural decision, they focus on delivering practical and actionable insights. A balanced and pragmatic approach makes the book really accessible.Designing Data-Intensive Applications
An exceptionally dense and content-rich book, so don't expect to finish it in a week. It’s structured into three main sections: Fundamentals, Distributed Data and Derived Data. This book is an outstanding resource for anyone involved in designing or developing systems that store and process large amounts of data. It’s not just an excellent guide on data architecture, but in many ways, it could replace your need for foundational computer science class by providing a more practical, modern perspective on the subject. Author also has an youtube course, which is quite insightful.Patterns of Enterprise Application Architecture
Another canonical book that has already celebrated its 20th anniversary. It’s a must-mention in any discussion about software architecture, though it should be approached with some caution. Many of the patterns it explores are rooted in the world of Java applications from the early 2000s. While the foundational design concepts remain valuable, some of the examples and approaches may feel a bit dated in today's rapidly evolving tech environment. Nevertheless, it remains an essential reference, especially when dealing with legacy systems.Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Remains highly relevant over fifteen years after its release. The book covers various application integration styles, such as file transfer, shared databases, remote procedure calls, and messaging, with a strong focus on messaging as the preferred solution. It explores patterns for messaging systems, including channels, message routing, and transformation, offering practical examples and real-world case studies. I highly recommend this book to anyone planning or working with microservices architecture. Familiarity with these patterns will help you avoid common pitfalls and reinventing the wheel.Building Microservices, 2nd Edition
A solid guide to software design, covering both monoliths and microservices, and their respective advantages. The book addresses key aspects like integration, testing, deployment, and monitoring of microservices – essential considerations for avoiding a disjointed system. It also touches on organisational development topics, suggesting that organizational structure and architecture influence each other in a direct way.
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Clean Architecture is just another canonical book, and, surprisingly, the main focus is on … architecture and software design principles. It’s well written, offers some practical advices and provides a clear approach to organizing code in a way that promotes longevity and adaptability. After this book you would be able to prove that “The only way to go fast, is to go well” – a must-read for anyone serious about mastering software architecture.
AI Books:
A Thousand Brains: A New Theory of Intelligence
https://www.goodreads.com/book/show/54503521-a-thousand-brains
I highly recommend "A Thousand Brains" by Jeff Hawkins, a groundbreaking book on intelligence, consciousness, and AI. Hawkins presents a universal theory of thinking and consciousness, explaining how the brain creates models, predicts, and processes information. Key insights include:The brain's model-building is crucial for complex AI;
The brain constantly predicts and adapts to reality;
Brain processing is based on relativities and movement;
The neurocortex's properties can potentially be replicated in code;
This book offers valuable perspectives on brain function, AI development, and the nature of consciousness, making it essential reading for anyone interested in these fields.
Legendary Step-by-Step Guide to LLMs from Andrej Karpathy
Andrej Karpathy continues to create excellent educational content on LLM after leaving OpenAI! In addition to his amazing videos, there is now a repository with future chapters of a textbook on Github. It covers topics such as training LLMs from scratch, fine-tuning, multimodality, model inference, quantization, and many other subjects!
Course — LLM101n: Let's build a Storyteller Github:
https://github.com/karpathy/LLM101n/issues/8
Although the course has only been announced and is not yet ready, it promises to be as excellent as his current video tutorials, which are already the best resources available for learning the internals of LLMs step by step, through examples. Worldwide.Intro to Large Language Models
https://www.youtube.com/watch?v=zjkBMFhNj_gLet's build GPT: from scratch, in code, spelled out.
https://www.youtube.com/watch?v=kCc8FmEb1nY
All of his materials will certainly be of interest to all industry professionals and students who want to dive into solving real engineering problems hands-on
Machine Learning / AI related
Courses below require Python, Fundamentals of Machine Learning, Basic Probability and Statistics, Linear Algebra
CS224N: Natural Language Processing with Deep Learning
https://web.stanford.edu/class/cs224n/
Cool Stanford course, updated every year. This year, for the first time, they decided not to post the lectures on YouTube, although all the 2023 lectures remained publicly available – I highly recommend them.Chris Manning – notes
https://web.stanford.edu/class/cs224n/readings/cs224n-self-attention-transformers-2023_draft.pdf
https://web.stanford.edu/class/cs224n/readings/
The teacher of the course above and one of the most successful scientists, authors of research papers without a large computer (DPO, Backpack language models), Chris Manning, posts all lecture materials in the public domain. Based on the update dates, it is clear that the updated materials are for the 2024 course, use it!Dan Jurafsky — Speech and Language Processing (3rd ed. draft)
https://web.stanford.edu/~jurafsky/slpdraft/
The author of the main textbook on NLP over the past 20 years, also from Stanford, Dan Jurafsky continues to make new chapters of the textbook publicly available, constantly updating old ones. In general, this is practically the only book that you can read in its entirety and already have the keys to understanding 80% of what is happening in the industry.
The textbook was last updated on January 5, 2024.Transformers United
https://web.stanford.edu/class/cs25/prev_years/2023_winter/index.html
https://www.youtube.com/playlist?list=PLoROMvodv4rNiJRchCzutFw5ItR_Z27CM
The second most important course is to understand what's going on - with a general focus on NLP, CV and multimodal models.CS236: Deep Generative Models
https://deepgenerativemodels.github.io/
https://www.youtube.com/watch?v=XZ0PMRWXBEU
The introduction to deep generative models and theoretical analysis of any aspect of existing deep generative models. It touches on difficult concepts such as how to evaluate a generative model. The course materials, including lecture slides and notes, are publicly available and updated regularly. It's an excellent resource for anyone seeking to build a strong foundation from a very beginning.
Courses below are for individuals with no prior knowledge of the topic and are ideal starting points. Study them, and if something isn’t clear, check out the prerequisite courses and learn those first. How you choose to master specific topics like linear algebra is up to you
CS229 - Machine Learning (Classic starting course)
https://see.stanford.edu/Course/CS229
GenAI Beginner Materials
This section covers easier courses and prompting basics. Worst-case scenario – only Python is required.
HuggingFace NLP Course
https://huggingface.co/learn/nlp-course/
A high-level, application-focused course that teaches you how to run inference and fine-tune key models. It provides a basic understanding of what happens under the hood and which parameters to set for different tasks.Cohere LLM University
https://docs.cohere.com/docs/llmu
While the course is designed to teach you specifically how to work with Cohere's products, the overview and surrounding materials are quite good. An added bonus is the course's Discord community.Learn Prompting
https://learnprompting.org/docs/intro
https://inthecloud.withgoogle.com/gemini-for-google-workspace-prompt-guide/dl-cd.html
https://ai.google.dev/gemini-api/docs/prompting-intro
https://claude101.com/how-to-write-a-prompt-for-claude
A great, continuously updated collection of best practices for prompt engineering, chain-of-thought construction, reasoning, ensemble building, and pipeline validation systems with prompts.
to be continued..