Level Up Engineering
Objective
I want to become/grow as an AI Engineer. Therefore, I want to reiterate and grow my engineering skills.
My objective is two achieve this with three aspects:
- Committing engineering knowledge to my mind.
- Practicing coding challenges by passing the Neetcode 150.
- Speak and write at more conferences.
Engineering Knowledge
Everything I want to know in engineering.
Engineering Knowledge | Places |
---|---|
Object Oriented Development in Python | City of Wuerzburg |
Algorithms and Data Structures | City of Vienna |
Software Philosophy | City of Seattle |
Machine Learning | Schottenfeldgasse 55, Vienna |
Deep Learning | Brueckenstr, Eichelsee |
Data Intensive Applications | City of New York |
Golang Syntax | Commute Bellevue |
Neetcode
Topic | Week | Challenges |
---|---|---|
Backtracing | 1 | 2 |
Graphs | 2 | 6 |
Advanced Graphs | 3 | 1 |
1-D Dynamic | 4 | 10 |
2-D Dynamic | 5 | 2 |
Greedy | 6 | 2 |
Intervals | 7 | 5 |
Math | 8 | 3 |
Bi Manipulation | 9 | 5 |
Array & Hashing | 10 | 8 |
Two Pointers | 11 | 3 |
Sliding Window | 12 | 4 |
Stack | 13 | 1 |
Binary Search | 14 | 2 |
Linked List | 15 | 6 |
Trees | 16 | 11 |
Tries | 17 | 3 |
Heap / Prio Q | 18 | 1 |
Reading: Beyond “Clean”: Unlocking the Secrets of Software Architecture
As a software developer, I’m constantly striving to elevate my craft. A crucial aspect of that journey is building a strong foundation in software architecture. After all, well-architected systems lay the groundwork for scalability, maintainability, and overall code elegance.
With this hunger for knowledge in mind, I embarked on a quest to find those hidden gems of architectural literature. Here’s what my search unearthed:
-
Designing Robust Data Systems
If your work involves handling large datasets, Martin Kleppmann’s “Designing Data-Intensive Applications” should be at the top of your reading list. It dives deep into the fundamentals of distributed systems, consistency models, scalability techniques, and the complexities of managing data at scale.
-
The Microservices Advantage
For those intrigued by the potential of microservices, Sam Newman’s “Building Microservices” offers pragmatic guidance on designing and deploying these fine-grained services. Learn about the benefits, common pitfalls, and the finer details of creating an ecosystem of microservices that interact seamlessly.
-
Proven Architectural Patterns
Martin Fowler’s classic, “Patterns of Enterprise Application Architecture,” is pure gold. This book presents a treasure trove of battle-tested patterns and solutions for tackling the structural challenges that large applications frequently face. Think of it as your field guide to elegant software design.
-
Mastering Domain-Driven Design
Eric Evans’ “Domain-Driven Design” is a paradigm shift for many software professionals. It teaches you to model software systems in a manner that mirrors your problem domain, leading to cleaner code and a deeper understanding of the business logic.
-
Practical Software Architecture
“Software Architecture in Practice (3rd Edition)”, by Bass, Clements, and Kazman, distills the core concepts of software architecture and provides a systematic approach to architectural decision-making. This book bridges the gap between theory and real-world applications.
-
An Engineering Approach to Architecture
For a thorough and modern perspective, don’t miss “Fundamentals of Software Architecture” by Mark Richards and Neal Ford. It covers software architecture’s foundational principles and explores its increasing importance in the software development lifecycle.
-
Implementing DDD in Action
Vaughn Vernon’s “Implementing Domain-Driven Design” picks up where Eric Evans left off, offering practical guidance for turning DDD theory into working systems. Consider this your blueprint for building software that’s tightly aligned with the business it serves.
- “Designing Data-Intensive Applications” by Martin Kleppmann - Approximately 616 pages.
- “Building Microservices” by Sam Newman - Approximately 280 pages.
- “Patterns of Enterprise Application Architecture” by Martin Fowler - Approximately 560 pages.
- “Domain-Driven Design” by Eric Evans - Approximately 560 pages.
- “Software Architecture in Practice (3rd Edition)” by Len Bass, Paul Clements, and Rick Kazman - Approximately 704 pages.
- “Fundamentals of Software Architecture” by Mark Richards and Neal Ford - Approximately 432 pages.
-
“Implementing Domain-Driven Design” by Vaughn Vernon - Approximately 656 pages.
- “Designing Data-Intensive Applications” by Martin Kleppmann - 2017.
- “Building Microservices” by Sam Newman - The first edition was published in 2015, but a second edition has been released in February 2021.
- “Patterns of Enterprise Application Architecture” by Martin Fowler - 2002.
- “Domain-Driven Design” by Eric Evans - 2003.
- “Software Architecture in Practice (3rd Edition)” by Len Bass, Paul Clements, and Rick Kazman - 2012.
- “Fundamentals of Software Architecture” by Mark Richards and Neal Ford - 2020.
- “Implementing Domain-Driven Design” by Vaughn Vernon - 2013.
Public Communications
- Talked for Analytics Vidhya.
- Writing book on LLMs with Manning Publications.
Additional ideas:
- Write LinkedIn contributions.