Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I came late to the software and web development game. I just wanted to prototype a tool I needed and ended up becoming a full time developer.

After grasping HTML and CSS basics, prototyping my heavily interactive tool seemed impossible with JS alone, until I learned React. React solved real problems for me. Create-react-app with a firebase backend got me VERY far with zero formal education.

But I struggled with SEO, load times, and needed a sprinkle of server-side logic. Next.js solved those problems, and more.

As my prototypes grew into products, complexity was hard to manage. Refactors were impossible, even with small, modular components and well tested functions. Enter TypeScript. The single most important tool in my toolbelt. I refuse to work in plain JS now.

I'm several years in now, at my 2nd full-time dev gig and working on my 3rd side-business. My stack is Typescript, Next, vercel, firebase. Both at work and at home. Hardly any third-party dependencies needed beyond these (stripe, coingate, mapbox). I write most my CSS by hand with css grid because its the least verbose way I've found so far. I auto-format with Prettier.

I can use types and tests across my stack, I can enforce bespoke auth/permissions behavior, all kinds of queries, media upload, pretty much everything I'll ever need outside of real-time collaboration. I can build and maintain profitable products by myself. I've done it.

This also happens to be a very popular stack. What's insane about it? Every alternative I've looked at looks way less sane. Multiple languages and repos for one app? No thanks. Managing server instances and databases migrations myself? I hope I never have to. Software is fun, but I like making products more. JavaScript just happens to be the best way I've found so far.



It's very reasonable for someone new. It's batshit insane for anyone who's been in the industry for about 20 years. But that doesn't matter. The only thing that does matter is finding tech that you're productive with, and you've found it, so everyone else's input is pretty moot. In addition, it sounds like you've found the right idea anyway which is: avoid complicating work.

It's a real tangible accomplishment to find a tech stack you're productive with and don't have to change or update frequently. So, congratulations!

The last major real revolution on the backend in my eyes was Sinatra, not for Sinatra itself, but how it changed how everyone wrote web servers. The last real revolution on the front end was Angular.js (v1.x) and then shortly after, React.

There's a lot of change year after year in the real world, but a majority of it you can ignore.


No, what matters is user experience & user satisfaction. That is why this frontend churn is useless because it doesn’t improve either.


It is really sad but in my experience the only improvement provided.bybthese tools are regarding developer experience (and some times, not even that!). We're trading our own dev experience and sacrificing our user's. For proof, look at the new reddit, and so many other react apps which even with modern macs feel terribly slow and clunky


I was finally able to load the modern web as quickly as the old web once I got a laptop with one of those newish Ryzen chips. I expect complexity to grow quickly past the performance gains, but it's a nice reprieve.


With firebase, do you call individual cloud functions or does an API sit in front?


I ditched firebase cloud functions for Next's /api/ functions. I put all the db stuff and checkout and webhook stuff behind those endpoints. At first I just loaded the entire firestore library on the client and did authenticated reads/writes directly... But I wouldn't do that again, made my app too heavily intertwined with firestore's api.


Luckily you only have to learn that lesson once.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: