Edit product

Dev Concepts e-book

Your journey towards becoming a software crafter begins right here.

Learn all of the software development concepts in no time. Get a crystal clear understanding of modern software development concepts, practices, and attention points.


Key features

  • Learn about full-stack software development: appreciate the fundamental differences between back-end and front-end development
  • Understand all the concepts (and buzzwords): back-end, front-end, API, layers, services, UI/UX/BFF/I18N/L10N/CORS/XSS/HSTS/K8S/SOLID/BDD/TLS,SAST, and many more
  • Build truly solid software by learning everything about code design, code quality, and programming paradigms. Learn how to write simple, maintainable, and testable code
  • Discover what software architecture is all about and why it matters. Learn about the most popular styles and their respective strengths/weaknesses
  • See how applications fit in an enterprise context and understand what firewalls, load balancers, DNS, PKI, servers, proxies, Web servers, Containers/Docker/Kubernetes, SaaS, PaaS are all about
  • Learn about tools of the trade: IDEs, build tools, code quality checkers, CI/CD, Web browsers, and the Web platform, ...
  • Get at ease with IT security concepts and learn how to write secure code.


Book description

Software development is an ever-evolving field where many things change each year. Getting on-board is harder and harder, and so is staying on top. But it doesn't have to feel bad, novelty is actually both challenging and fun!

This book will guide you on your way towards becoming a software crafter. It'll teach you everything you need to know to feel at ease with software development; from solution architecture concepts down to low-level code quality principles, as well as what IT security, IT infrastructure, and enterprise software (not the boring kind) truly mean.

Through concise explanations and illustrated examples, all of the concepts will become crystal clear to you.

Here are a few questions that you should be able to answer easily once you've read this book:

  • What does "SOLID" mean? What is the Single Responsibility Principle?
  • What is a DAO? Where should I initialize a database connection?
  • What are DI and IoC? Why should I care?
  • What is the difference between a Spy, a Fake, a Stub, and a Mock?
  • What is the difference between authentication and authorization?
  • Where do I implement security in my system?
  • What is the role of a business service layer?
  • How to structure an application so that it can scale?
  • How to choose between a relational or NoSQL database system?
  • What is a SPA? What's interesting about those?
  • What can a framework bring compared to a library?
  • What is the difference between a RESTful and a SOAP API? When is one more interesting than the other?
  • What is TLS?
  • What is the difference between symmetric and asymmetric encryption?
  • ...


This book is for you if...

  • You want to become a software crafter
  • You're just getting started with your career in IT and want to get a solid understanding of the most important concepts to improve your skills and create a more complete mental map
  • You're experienced but lack some understanding of certain concepts
  • You're a back-end developer and want to get started with front-end development
  • You're a front-end developer and want to get started with back-end development
  • You're working in IT infrastructure and are curious about what inside the applications in your IT environment
  • You want to get into a software architect position in the future and need a broader vision
  • You want to learn more about IT security and need to understand the big picture and/or how to write secure coding


Draft outline

What follows is DRAFT and (very) condensed version of the outline. A more detailed version is available herehttps://www.dev-concepts.dev/table-of-contents

The estimated page count is ~1200.

Part 1: Software craft (completed)

  • What is software development
  • What is software engineering
  • What is a software developer/engineer/coder/programmer
  • Evolution
  • What is a software crafter
  • Quality vs user satisfaction
  • Important skills and practical advice

Part 2: What clients need (completed)

  • Requirements
  • Requirements discovery
  • User-Centered Design (UCD)
  • User Experience Design (UX)
  • Design Sprints
  • The Lean Startup and Minimum Lovable Products
  • Specifications

Part 3: Architecture (in progress)

  • Solution architecture
  • Software architecture
  • Information/Data architecture
  • Infrastructure architecture
  • Security architecture
  • Enterprise architecture

Part 4: Software design

  • What is software design all about?
  • Objectives
  • No big design up front (BDUF)
  • Technical design
  • Domain Driven Design (DDD)

Part 5: Computer architecture and Operating system basics

  • Computer architecture basics
  • Operating systems basics

Part 6: Coding basics

  • Programming concepts
  • Programming paradigms
  • Programming languages & platforms
  • Development tools
  • Free and Open Source Software (FOSS)
  • Databases
  • Character encoding
  • Internet
  • Full-Text Search (FTS)

Part 7: General concerns

  • Error handling
  • Code quality & Quality assurance (QA)
  • Logging
  • Performance/resource usage
  • Internationalization (i18n) and localization (l10n)
  • Encoding
  • Caching
  • Feature flagging
  • How to fix bugs
  • Version management
  • Source Control Management (SCM)
  • Continuous Delivery/Deployment (CD)
  • Operational Maturity (OM)

Part 8: Back-end development

  • What back-end developers focus on and why
  • Usual layers and responsibilities
  • Security
  • Data
  • Performance
  • Scalability
  • Filters
  • APIs
  • Frameworks and major libraries
  • Going full-stack

Part 9: Front-end development

  • What front-end developers focus on and why
  • Data
  • Usual layers and responsibilities
  • Component architecture
  • User Interface Design (UI)
  • Web Design
  • Accessibility (a11y)
  • Performance
  • The Web Platform
  • HTML basics
  • CSS basics
  • Metadata on the Web
  • Data entry
  • Approaches to create Web applications
  • Progressive Web Apps (PWAs)
  • UI state management
  • Scalable Vector Graphics (SVG)
  • Web fonts
  • Desktop/Mobile apps
  • Frameworks and major libraries

Part 10: IT infrastructure

  • What IT infrastructure focuses on and why
  • Networking concepts
  • Network domains
  • Availability & performance
  • Systems maintenance
  • Systems management
  • Data
  • Cloud computing
  • Hosting
  • Deployments
  • Environments
  • Security
  • Automation
  • API Integration

Part 11: Security

  • Attackers
  • Key concepts
  • Risk management
  • Security controls
  • Cryptography
  • Secure communications
  • Configuration hardening
  • Secret management
  • Vulnerability tracking
  • Security testing
  • Web platform security
  • Secure coding
  • Incident response
  • Security monitoring
  • Security automation
  • Administrative measures
  • Laws and regulations

Part 12: Product/Project management and Software development approaches

  • Project roles
  • Product management
  • Backlog management
  • Software development process
  • Software development approaches
  • Project management basics
  • Important definitions for teams
  • Release management

FAQ

What is included in the different editions?

The Full edition includes all 12 parts of the book (1200+ estimated pages!).

The Basics edition includes:

  • Part 1: Software craft
  • Part 2: What clients need
  • Part 3: Architecture
  • Part 4: Software design
  • Part 5: Computer architecture and OS basics
  • Part 6: Coding basics
  • Part 7: General concerns

The Advanced edition includes:

  • Part 8: Back-end development
  • Part 9 Front-end development
  • Part 10: IT infrastructure
  • Part 11: Security
  • Part 12: Product/Project management and Software development approaches

The Architect edition includes:

  • Part 1: Software craft
  • Part 2: What clients need
  • Part 3: Architecture
  • Part 4: Software design
  • Part 10: IT infrastructure
  • Part 11: Security
  • Part 12: Product/Project management and Software development approaches

The Back-end edition includes:

  • Part 1: Software craft
  • Part 3: Architecture
  • Part 4: Software design
  • Part 7: General concerns
  • Part 8: Back-end development
  • Part 10: IT infrastructure
  • Part 11: Security

The Front-end edition includes:

  • Part 1: Software craft
  • Part 4: Software design
  • Part 7: General concerns
  • Part 9: Front-end development
  • Part 11: Security

What about updates?

You'll get all the future updates and corrections.

Refunds

If you're not satisfied with the content, then contact me within 14 days and you'll get a full refund. The only thing I'll ask in exchange is to understand what did not meet your expectations.

I can't afford it

Contact me through Twitter or by mail (sebastien@developassion.be), and we'll figure something out.

I want to buy this e-book for a group at work

No problem! You need to buy a group license. Contact me through Twitter or by mail (sebastien@developassion.be) for more information.


About the author

Hey everyone! I'm Sébastien Dubois, the CEO of DeveloPassion, a software development company located in Belgium (beer & chocolate!). You can find me on Twitter and Medium, where I regularly publish content.

I've been working for 15 years in the IT industry and, since day one, I have always been passionate about IT and software development.

I've used various programming languages over the years (Java, Kotlin, JavaScript, TypeScript, C, C#, Basic, Bash, PowerShell, Python, etc), wrote a book about the TypeScript programming language, led development teams, managed large projects both on the infrastructure side and on the software development side and even spent a few years as a system architect/administrator of hundreds of Windows Server machines and Active Directory infrastructure for a large financial institution (fun times :p).

I want to share my passion with anyone willing to learn/discover what IT and software development are all about. Sharing is caring, or so they say. This is why I started giving 1:1 coaching sessions a while ago.

I'm convinced that through this book, I'll be able to reach and help many more people, maybe even you?

So go ahead, pre-order the book right now, and be amongst my first readers!

Checkout

Dev Concepts e-book

Enter your info to complete your purchase of Full edition (Digital copy)

Card

···· ···· ···· 4242
Test card

05/18

Card

Use a different card?

Card

pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$125.

Your purchase was successful!

We charged your card and sent you a receipt

    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad