Update 2021–03–20: You can now buy the first tome, dedicated to the software craft.
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 interesting, but seeing people reading and learning from my own book felt 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 next year ;-)
The Dev Concepts project is going to be a series of 12 books, covering a wide spectrum of subjects.
Subscribe to the dedicated 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 with various modern Web frameworks/libraries. That book was 800+ pages long, so it was quite detailed, but it “only” covers a quite narrow subject: modern front-end development. And the thing is that front-end software development is only a part of a much larger picture.
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.
Through my 1:1 coaching sessions (which have been a blast). 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 in IT infrastructure, IT security, software development, 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 its readers a much more comprehensive mental model of software development.
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!
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 tomes (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 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!