DEV Community

loading...

Discussion on: What can developers do to speed up time to market 🚀

Collapse
alexandrudanpop profile image
Alexandru-Dan Pop Author • Edited

Go for Serverless or JAMStack approaches

Those technologies allow developers to leverage the cloud as much as possible - hence focus on building applications, not complex backends.

Of course those are not always possible as sometimes the API's are your selling point.

Leverage external tools instead of building your own

Let's be honest. As developers we like to re-invent the wheel. There are hundreds of programming languages. Dozens of libraries that do the same thing, for each language.
Break out of this loop, re-use what you can and focus on delivering the needed value.

The art of keeping things simple

Developers also love to over-engineer things.
Product owner needs to show the users birthday on the settings page? Well of course it can't be done without having a few microservices communicate in the backend through a service bus. And all indexing in Elastic needs to be changed before you can get that data. Frontend... you'd better forget about it... we need to spend a month first to configure webpack for the new birthday-settings microfrontend. Also the frontend will depend on the i18n microservice that is being refactored so that will take some time.


Seriously now, don't do this. Build things in a simple and easy to maintain way. Challenge over-complicated designs.

Collapse
lifelongthinker profile image
Sebastian

I agree with the points mentioned. But I'd like to add that only less experienced developers (we have all been there!!) like to reinvent the wheel or over engineer.

The more experienced ones know what this leads to and make a constant effort to reuse and avoid reinvention, as well as keep things simple (iteratively, if otherwise not possible).

If we do want to reinvent or over-engineer for pleasure, we do so in our pet projects, not while on the clock.

Collapse
alexandrudanpop profile image
Alexandru-Dan Pop Author

I like this tweet that illustrates this:

As a senior dev you really add value by thinking of ways and writing code that optimizes other developers time.

Thread Thread
lifelongthinker profile image
Sebastian

Absolutely 👍👍 Well said. And yes, I am grateful for every programmer who has gone the extra mile to save my time. And that is exactly what I'm trying to do with my code - save time for those that read and work with it.

Collapse
leob profile image
leob • Edited

You know what's the pattern or the tendency that I'm observing more and more? I think increasingly the perception is that the added value is in the frontend rather than the backend.

Why? Because the frontend is what users directly experience and also where you can most easily differentiate yourself from competitors.

Also, with things like Firebase and Serverless it looks like backend is becoming more and more commoditized.

Devs who only do backend should watch out, going forward they might be out of a job sooner than we think. Like it or not, I think the future is frontend (and for the time being fullstack is also still okay, but I fear that even that will largely go away).

Thread Thread
lifelongthinker profile image
Sebastian

Yep, there is definitely a perceptional mismatch between frontend and backend on the client side.

But I don't think backend work will be rationalized any time soon. At least not for tailor-made solutions. Someone has to take care of the business logic behind the frontend, no matter what service you use.

Thread Thread
alexandrudanpop profile image
Alexandru-Dan Pop Author • Edited

You are making a point here, I am also wondering if development is headed in that direction.
The thing is there are repeatable things that you always need to do backend-side for every project like - authenthication, authorization, user management, containarize, ci/cd, setup an gateway proxy with TLS termination, ensure you have backups, etc. Those things can take a lot of time from the backend developers, so it might make sense that even they would leverage tools that gives them those repeatable things out of the box so they can focus on business logic.

I think there will always be needs for backend developers, but we will have services that automate some repeatable code (we already have).

Thread Thread
leob profile image
leob • Edited

I really HOPE that there will still be demand for backend devs, but my fear is that backend is the first thing that MIGHT be commoditized. I don't hope so, but I discern a trend, frontend is more and more stealing the spotlight and many devs are saying "oh don't worry about the backend, we'll just use Firebase".

We'll see, but I wouldn't be surprised if 5 or 10 years from now frontend is where it's at, and backend has become marginal. Not because I want to or because I like it, but I see the writing on the wall.

But I really do hope I'm wrong, and this "prediction" isn't going to materialize.

Thread Thread
lifelongthinker profile image
Sebastian

And were would the business logic go? The core logic that no SaaS (Firebird, AWS, Azure services) can deliver out of the box?

Thread Thread
leob profile image
leob • Edited

It's still there, but it's just a small snippet that gets uploaded as a Firebase proc or a Lambda function ... the point is that often (way) more than half of backend dev consists of "standard" things like signup, auth, sending emails, logging, monitoring and so on, much of which can be commoditized.

My wish or my intention is not to predict gloom and doom, I'm just trying to be realistic, I really see the writing on the wall. Devs who only do backend should be concerned, maybe not in the short term but for sure in the long term.

Thread Thread
alexandrudanpop profile image
Alexandru-Dan Pop Author

Goes the other way arround. You could go ahead and say frontend developers will not be needed because there will be very smart AI-powered app builders :D

Thread Thread
leob profile image
leob

Absolutely, eventually everything might be automated away, we can all go on eternal vacation.

Collapse
pavelloz profile image
Paweł Kowalski

I think your second point invalidates the first one. ;)

Collapse
alexandrudanpop profile image
Alexandru-Dan Pop Author

Might be, depends how you interpret the words :) What do you mean?

Thread Thread
pavelloz profile image
Paweł Kowalski

Well, going for serverless if you have a simple business site to do, with no DB, no processing, means you will inevitably overcomplicate a simple website.

I think most of the problems I see nowadays in frontend dev sphere are a result of overcomplicating everything and unconcious love for wasting time by devs. ;)

Thread Thread
alexandrudanpop profile image
Alexandru-Dan Pop Author

Yeah I know what you mean I wouldn't go serverless unless you actual need server side code. Would use static site generators if I see a use for them (ex build from markup files) or simple HTML files.

Thread Thread
pavelloz profile image
Paweł Kowalski

Yeah, and as someone with serverless experience (both native aws click through console, SAM, Serverless framework) i know it can be a timehole where suddenly you spend 75% setting up and maintaining serverless instead of focusing on the core of what you want to achivee.

I would personally treat serverless as cost & performance optimization (after MVP is done and works). For those who are not fluent with serverless tech, and only recommend going serverless from the start for advanced users who did it at least couple of times.

Im a big advocate of serverless, just not for novices and not when there is a deadline on their head - this probably wont end well for most :)