Doug Wilson
2 min readDec 23, 2024

--

Jacks (and Jills) of all trades are masters of none.

Done well, actual full-stack development would require not just passing familiarity with but mastery of at least six (6) very different domains and associated tool sets, processes, and languages.

1. Requirements and Process (with Jira or similar) - Not just what I call "engineering directives", like "build a service that manages retail locations" but actual detailed, actionable requirements with objectively verifiable acceptance criteria, like https://cygnustechnologyservices.com/services/services-more-effective-user-stories/

2. Data Layer (with SQL) - Designing and implementing a clean, consistent, complete set of data structures that will perform well, like https://medium.com/look-fuckers/how-bad-things-happen-in-the-data-layer-8e58420b8cca

3. Service Layer (with Java/Spring Boot, C#/.NET Core, etc, IDE, Postman, API documentation, GitHub, etc) - Designing and implementing a clean, consistent, performant, secure, and manageable set of services that represent business entities, processes, and rules, like https://cygnustechnologyservices.com/services/services-business-process-modeling-and-automation/

4. Presentation Layer (with HTML, JavaScript, CSS, a web framework, like React, Java or Kotlin with Android Studio IDE, or Swift with XCode, GitHub, plus a raft of plugins, libraries, etc) - Designing and implementing a clean, usable, attractive, performant, secure user interface that helps people get their work done quickly and easily

5. Automated Software Testing (with Postman, JMeter, Selenium, etc) - Test the output of domains 2, 3, and 4 for correct functionality, scalability, and security.

6. Infrastructure & Operations (with Terraform, AWS, GCP, or Azure, BASH, GitHub, etc) - Designing, implementing, and managing the technical environments in which the output of domains 2, 3, and 4 will run and deploying, testing, and managing the operation of the resulting application(s) in development, staging, test, and production environments, i.e. DevOps, SRE, etc

Spelled out in detail, I think any reasonable and technically competent person would agree that mastery of all six is unlikely.

UI/UX Design + Front End Development seems much more realistic to me (not to mention valuable due to specialization, which has always had the potential to command a premium, and its inherent value).

--

--

Doug Wilson
Doug Wilson

Written by Doug Wilson

Doug Wilson is an experienced software application architect, music lover, problem solver, former film/video editor, philologist, and father of four.

No responses yet