HACKER Q&A
📣 CubeRoot27

Do developers often not know how to put their stuff online?


Hey everyone,

I recently hired three fantastic developers – one who's great with React and two Python experts. However, I was surprised to discover that none of them knew how to deploy their work on AWS, GCP, or even Vercel. They did an excellent job understanding the business requirements and writing the code, but when it came to deployment, they simply pushed their code to GitHub and thought that was it.

Is this a common situation? Do I actually need to bring in a DevOps or infrastructure expert? Are there any dev-friendly platforms available where developers can easily set up EC2 instances and handle the entire deployment process from start to finish?

Thanks!


  👤 GianFabien Accepted Answer ✓
I can think of two explanations:

1. you did not specify that you wanted developers with DevOp experience.

2. it is possible that the developers you hired had previously worked in much larger companies where infrastructure staff handled the deployment aspect.

As a general rule, deployment depends on numerous factors, is it SaaS, in-house, cloud, hybrid? What technologies, what volumes, etc, etc? Except for trivial setups AWS and GCP require considerable expertise.

If you don't want to hire a fourth person, you could specify your requirements for deployment and have one of your team train as a DevOp.


👤 syndicatedjelly
It's not unheard of, although a bit unusual for web developers. Of the three you hired, it's arguable that only the React developer "should" know how to deploy a web app. A Python developer can happily avoid web development with no material impact to their employability.

I didn't know the end-to-end process of deploying a dynamic web application[^1] until somewhat recently (5+ years into a software career). For much of my career a different team handled the site deployment, which only ran on the company intranet[^2].

That said, I only learned the FULL end-to-end process in the last few months, when I finally began building my own web application, entirely on my own, from the ground up.

The process wasn't hard to learn. The basic fundamentals have not changed, it's just there is a lot more noise and abstractions. AWS, GCP, Vercel, DigitalOcean, whatever - the myriad of services they offer are all examples of that noise.

Don't get me wrong, cloud providers solve real business problems and make developers lives easier in a lot of ways. But they are not in the business of making it easy for you to roll your own web application without them. They still want your money and that sweet, sweet vendor-lock.

Anyway, I kinda like DigitalOcean because the abstraction layer is relatively transparent and their documentation is very, very good. They also have a limited set of features, which sounds like a con but is in fact a pro. Fewer features = less "noise". For a simple web app, one may only need 3-5 of AWS's hundreds of services.

If your web-dev company is very small, you don't need a dedicated DevOps expert[^3]. It's easy enough for a decent software engineer to learn. It sounds like you just hired three of them.

[^1]: I knew how to deploy sites with HTML, CSS, and Javascript only.

[^2]: Should I have learned how to deploy dynamic apps to the world wide web sooner? Sure, but there were a lot of things to learn early in my career.

[^3]: This is assuming a standard web-dev shop, making a web service running online.


👤 nicbou
I know my way around docker and nginx and a lot of my code has been running online for years.

I have never used the platforms you mention because the employers that used them had an existing deployment infrastructure when I joined.

That also applies to a lot of tools. By the time I showed up a lot of complex tasks had become a two word command. I could focus on writing code because other people had already worked on the developer experience.


👤 catlover76
So you hired people from larger companies where other people handled deployment for them?

No biggie. Congrats to the Python people, they will now be enjoying dev ops.

Look into Heroku for the easiest to get started with. GCP is pretty understandable too depending on use-case and other needs.

Render and Fly.io are similar to Heroku, but tbh, do not seem as reliable. I have personally had some issues with Render.


👤 dgunay
I haven't worked with a huge amount of people, but about half of the devs I have worked with would be hard pressed to deploy an entire stack by themselves without a few weeks of study or some hand holding. Granted it's complex enough that doing so to enterprise standards is an entire career path right now.

👤 GOTO95
You hired developers, not DevOps people. I assume you hired them to develop code, not manage AWS/GCP/Vercel/younameit, right? They are simply doing what you hired them to do.

Sincerely, a DevOps guy.


👤 Nathanba
well you hired them, why didn't you ask them why they never wanted to actually deploy their code and prove that it works on more than just localhost?