Being a Web Purist
Tags: webdev, javascript, leadership
Published: 2020-09-16 08:13:24

Let's talk about web development. I'm a web purist and I don't plan to change that any time soon. Which means I chose to stick with the web platform. I love the web platform. I have seen it grow since 2002. 

I used to work with LAMP/LEMP stack, then MEAN/MERN stack, then Node.js and React.js. Then Next.js. Dabbled around with Python and Go for a year or so. Nowadays mostly JavaScript for both backend and frontend. 

Been writing JavaScript for over 15 years now. Used to be a funny little language and now it's grown so much. JavaScript is eating the world.

> "Any application that **can be written in JavaScript**, **will** eventually be **written in JavaScript**." _— Atwood's Law_

As an engineering leader, I believe JavaScript has come a long way. It's here to stay. I get why companies choose to use the best possible stack for their products. But that eventually ends up hurting a small startup. 


Hear me out. You see it's a product-driven decision and not a people-driven decision. Maybe with Go or Rust or Python, you'll shave off 250ms load time. That is at the cost of complicating the hiring process for your company. 

If you're an engineering leader, a CTO, or a VP of Engineering at an early-stage startup, where the majority of the business is a web component, for example, a SaaS company — then you need to ask yourself what's the best stack for everything. 

And by everything, I mean the **people**, the **company**, and the **product**. Yes, I say that in a particular order. It's what I believe in. People come first. Be human first. Then the strategic goals of your company. You want to be profitable, right? And then comes your product. 

As engineers, we try to over-optimize for the last part of this pipeline. That's the product. Trying to be extra performant with the product could potentially hurt. What about hiring? What about reaching your company's goals like profitability and market-fit with minimum affect-effort? 

Yeah. That. There are people. There are goals for your company. Both these things have nothing to do with the next shiny tech you want to implement. Especially one that will make it harder for you to hire people. 

_Anyhoo_, I could talk about this for days. It's a pro/con balance kind of debate. Though, I am an engineer with strong opinions and flexibility to be proven wrong. Nowadays, I often advise early-stage startups as a fractional CTO. 

Fraction CTO? What? FCTO? What's that? Now, this? Yup! 

So, an early-stage startup can seldom afford a C-level executive. That's where a fractional CTO comes in. E.g. I work with you for 10 hours a week, help you set up the right architecture for your SaaS, the software development life cycle (SLDC), engineering governance, CI/CD pipelines … … … but but; but most importantly I set you up for success with 1\. **people** 2\. **company** goals. 

And part of that is helping you pick the right stack. Most of the time, it's a bet on JavaScript, the web. You get to hire relatively easily. You have the same language for both front-end and back-end — this leads to healthy team coordination. Especially, when your company is small. [Let's talk](https://AhmadAwais.com/contact). 

So, well my bet is on the web platform. Web for the win. 

— A web purist.