Designing My Personal Tech Stack
Source: Dev.to
About Me
Over the past year, I have experimented and gone back and forth about what kind of software developer I wanted to become and considered my current position. I have 9 years of experience in vanilla HTML, CSS and JavaScript for a Building Automation and Controls company where I built user dashboards to monitor floorplans, units and other equipment in real time.
Until recently, I wrestled with the idea of whether to continue with front‑end work or move completely to my newly discovered preference for back‑end development. I now feel more comfortable developing a full‑stack skill set that leans back‑end for pragmatic and interest reasons. I have settled on the following criteria I want in my modern software‑developer tool belt and how to make myself employable, stand out, and simply enjoy software that I can say I created myself.
My Criteria
Versatility
I like the idea of being a developer who can apply my skill set to a wide range of fields beyond just web development. While web development will be my primary focus, I would like to explore desktop and mobile development, systems programming, and cybersecurity/hacking in the future. Versatility also means being able to run my software on any platform or OS—Windows, macOS, or Linux.
Synergy
My stack should complement and build on each other to create robust software and share an ecosystem and culture that align philosophically.
Pragmatic
While I enjoy testing less‑popular languages and frameworks, I also want to get hired ASAP and develop a tech stack that is widely employable across the United States.
My Preferred Tech Stack
Main Languages
- JavaScript – Obvious. I’ve used it for 9 years and am very familiar with it. Building on this experience makes it easier to get hired.
- TypeScript – Adds type safety and modernization to JavaScript. I already use it and consider it essential for any front‑end or full‑stack development.
Secondary
- Go – Easy to pick up, lightweight, and very fast. Its ecosystem synergizes well with JavaScript/TypeScript and is a growing back‑end language. While Java roles are more abundant locally, Go will differentiate me and prepare me for modern web development.
Tertiary
- Python – Everywhere, easy to use, and integrates well with most code bases. Its breadth of domains rounds out my skill set from a pragmatic, hireable perspective.
Other
- SQL – Absolutely mandatory for anything back‑end related.
- Bash/Shell – Picked up from my capstone course; useful for automation, reducing boilerplate, and setting up dev environments and Docker containers.
Frameworks and Tools
- React – Most popular JS framework for front‑end; I have extensive experience.
- Electron – Builds desktop apps with web technologies, opening opportunities for desktop projects.
- Node.js – Dominant JavaScript runtime with a vast ecosystem.
- Bun – An emerging alternative to Node.js gaining popularity quickly.
- Express.js – The most popular framework for Node.
- net/http – Default Go framework, widely used.
- Gin – Popular Go web framework.
- Fiber – Designed to help JavaScript developers transition to Go, with syntax similar to Express.