Software Development Concepts e-book collection
Today, I want to tell you about my latest project, Dev Concepts, a collection of 12 e-books about Software Development, which is currently on pre-order.
Update 2021–05–30: You can now buy the second volume, dedicated to uncovering what users need and how to build truly great products.
Update 2021–03–20: You can now buy the first volume, dedicated to the software craft, how to acquire all the important skills, and become a true crafter.
As some of you might know, I’m the author of a book about the TypeScript programming language. It was my first experience with the publishing world and it taught me a lot. The writing experience in itself was a real pleasure, but seeing people reading and learning from my own book felt more than great.
I want to continue to contribute to the IT community, and writing is my main medium for now. I plan on creating video lessons, but that’s for later ;-)
The Dev Concepts project is going to be a series of 12 books, covering a wide spectrum of subjects. Not in depth because that would take me 5 years to write, but just about enough for you to create a clear, and solid mental model of those concepts.
Subscribe to my newsletter if you want to hear about my progress.
What is Dev Concepts about?
My first book was about the TypeScript programming language and how to use it together with various modern Web frameworks/libraries. That book is 800+ pages long, so it is quite detailed, but it “only” covers a narrow subject: modern front-end development. And the thing is that front-end software development is only a part of a much larger picture. And I have a passion for all of IT.
Of course, it is useful to have books and content in general that focus on specific parts of software development since the devil truly is in the details. But it isn’t enough, because a front-end does nothing much without a back-end; a back-end without a data source is also limited and if none of those can be deployed/hosted, then it’s still pretty much useless. Along the same lines, a system without proper security controls in place is no good. There are countless things to be aware of to build awesome products.
Through my 1:1 coaching sessions (which have been a blast so far!), I’ve found myself repeating the same explanations over and over, about concepts that I believe to be so important, but often seem to be left out in schools and never touched on in many online courses.
Having worked for many years in software development, IT security, IT infrastructure, and project/team management, I have a relatively “rare” perspective of many different aspects of IT.
With this new project, I want to zoom out a little and talk about software solutions as a whole; from the business goals to achieve to the expression of how those goals will be met: architecture, design, back-end development, front-end development, IT infrastructure, as well as overarching principles like IT security.
The goal of the Dev Concepts series is clear: give a much more comprehensive mental model of software development, from A to Z.
Who should read the series?
Almost everyone! Why? Because we are all “stuck” in some specific parts of the software world and have a limited perspective. Some of us work full-time on front-end applications; others on back-end systems, and yet some others in IT infrastructure or IT security. Few of us actually work on different parts and even fewer on all of the fronts.
Still, since IT solutions are made of many different parts, it is super useful to (at the very least) have a basic understanding of what the other parts entail, even if you’re not responsible/involved in that part on a daily basis.
When developing a back-end, data and data security (confidentiality, availability, integrity, validation, etc) is a key focus point. When doing front-end work it’s more about UI and UX, but there’s much more than that.
Whether you’re a back-end developer, a front-end developer, an IT architect, a pentester, a tester, infrastructure manager, team/project manager, junior or senior, then this series has something in store for you.
I’m already a seasoned full-stack developer, why should I read Dev Concepts?
Well, you might have tons of experience with the full software lifecycle, but you might not be that experienced with IT infrastructure and/or IT security.
For instance, do you have a clear understanding of PKIs, what Root CAs are, what CAs are, what’s a certification chain, what’s a certificate, what are Web Application Firewalls, How so-called next-gen firewalls differ from old-school ones, what are load balancers, reverse proxies, DNS, the difference between A and CNAME records, etc?
Do you have a clear understanding of what it means to create a highly available solution? Have you heard about quorums, leader election algorithms? Do you know about IAM, RBAC, ABAC, LDAP, why LDAPS is to be preferred, or what zero-trust security models are? Have you dived into containerization, Docker, and Kubernetes so far? Do you have experience with NoSQL databases and what the implications are for your applications did you use both in production?
Do you know about the OWASP Top 10, XSS, CSRF, BOLA, important security headers like the Content Security Policies (CSPs), Strict-Transport-Security (HSTS), and the like? Do you know the difference between symmetric and asymmetric crypto?
Well, you might have answers to many of those questions, but probably not to all of those. And there are so many more things that are worth knowing about.
Dev Concepts will tell you about all those things, and many more!
Conclusion
The path towards software craftsmanship and full-stack software development includes being aware of the overall solution architecture, the impact of decisions made on the back-end for front-end systems, the IT infrastructure consequences of choosing an architectural style or another, how to scale a solution, etc. There are tons of aspects that are important, which I want to touch on in the Dev Concept series.
Of course, even the 12 volumes (1200+ pages!) of the whole series just can’t have all the answers, but my hope is that they will bring you enough awareness and knowledge for you to have a broader understanding.
If you’re curious, then don’t hesitate and subscribe to the newsletter and/or pre-order one of the editions. Also check out the first volume, which is already available.
If you want more details about the preparation, then I also send weekly status updates over at IndieHackers: https://www.indiehackers.com/post/devconcepts-book-journey-kickstart-0c0a2eb71a
That’s it for today!