Live data from Hacker News

Ask HN: What is the ideal developer experience in 2020?

news.ycombinator.com

21–30 of 92 posts

Re: Ask HN: What is the ideal developer experience in 2020?

#21
For me what I've been moving closer towards and is almost my reality for projects I have full control over:

* Node.js on backend, using a thin db layer (not an orm) like sequelize. My newer projects also use TypeScript on back end and share models with front end with a lerna setup

* React.js with TypeScript (default create-react-app setup) on frontend; multiple smaller apps for each business unit/functional area; some limited sharing of UI components between these apps (turns out not that much needs to be shared really)

* Everything in a mono repo and edited in VS.Code

* Deploy by building apps, gzipping backend and frontend into one tarball, then either:

- Ask my "release person" to copy it into the Windows server drive for test or production

- Run my own "release script" that scp's it to my Digital Ocean droplet and tells pm2 to restart the production application

My projects email me when something crashes in the back end and I run sentry.io to see what's gone wrong in the front end.

Why I find this to be a great developer experience:

* Simplicity. One language, easy to share things like e.g. validation between FE and BE, minimal cognitive burden when context switching; small apps = simple code; simple release system means I can get new features or bug fixes to users extremely fast with minimal fuss

* No CI pipelines or DevOps time sinks: this is effective because I'm a single developer; I also work on projects where a solid CI pipeline and infra as code adds value, but these things can also slow you down too

=====

In other words, what I feel makes me effective is using a modern language and ecosystem, but deploy it with methods from 10-15 years ago. :)

Re: Ask HN: What is the ideal developer experience in 2020?

#22
post #5

Earlier quoted context omitted.

Or... Projects requirements that have a clear definition of outcome and change ever other day based on data.

Or... any project requirements that are clear.

Or ... project requirements.

Yes, it still happens.

Management: we need a program to do X.

Me: OK, gimme specifics.

Management: To the bike shed!

Re: Ask HN: What is the ideal developer experience in 2020?

#23
I often consult other teams in my company on technical issues and architecture. Coming from this background I always wish the following would be covered:

- The project should start up with one click or one command. It's fine if I need to configure credentials or something similar, but beyond that, your project should be so easy to start that your mom could do it. If the project requires me to locally install a database, configure ports, or anything of the like, that's a shining red flag that things are very wrong.

- The underlying architecture and rationale should be documented and this document should be reasonably up to date. Whoever is the lead developer on the project should be responsible for this. Not all details need to be covered, but the main principles and the driving business requirements behind it need to be clearly stated and up to date. If there's no broad documentation, I consider the project to already be off the rails, not just heading that way.

- There should be a concept of testing. You don't need to have tests yet, especially if you're still prototyping, but you need to have a very clear idea of what you will test, how, and how you'll get there.

- Formatting isn't a discussion point. Whatever stylistic preferences there are are covered by linting and automatic formatting. If I clone the project, it should be reasonably hard for me to do things the wrong way and fairly easy to do them the right way.

- Branch management, code review, etc. All of this falls in the same pot for me, no one should have the ability to push directly to master, all changes need to go through review, pass lint, tests, etc before they can be merged. Doesn't matter if you're the lead dev or a summer intern.

You'll notice that all of the above are procedural issues, not code specific issues. I firmly believe that by nailing the underlying process first, you make it easy to build good software and hard to build bad software.

Re: Ask HN: What is the ideal developer experience in 2020?

#24

I don’t know about you guys, but .NET Core (c#) and Visual Studio along with Blazor on the front end and deploying on Linux is pretty darn cool and highly productive. I haven’t had much success getting as productive on Python, Golang, or Node. Blazor eats TypeScript for lunch. Sometimes people confuse complexity for productivity. You can’t tell me installing 60,000 NPM packages just to have one dependency break is yo…

.NET + visual studio + r# is the godlike stack. Haven't tried blazor yet but even asp.net is years ahead of the node ecosystem.

Re: Ask HN: What is the ideal developer experience in 2020?

#25

I don’t know about you guys, but .NET Core (c#) and Visual Studio along with Blazor on the front end and deploying on Linux is pretty darn cool and highly productive. I haven’t had much success getting as productive on Python, Golang, or Node. Blazor eats TypeScript for lunch. Sometimes people confuse complexity for productivity. You can’t tell me installing 60,000 NPM packages just to have one dependency break is yo…

I'd say .NET Core with Jetbrains Rider is even better. :)

Re: Ask HN: What is the ideal developer experience in 2020?

#26

I don’t know about you guys, but .NET Core (c#) and Visual Studio along with Blazor on the front end and deploying on Linux is pretty darn cool and highly productive. I haven’t had much success getting as productive on Python, Golang, or Node. Blazor eats TypeScript for lunch. Sometimes people confuse complexity for productivity. You can’t tell me installing 60,000 NPM packages just to have one dependency break is yo…

JS dev here, I'd just like to say that the final sentence is just plain wrong at this point. Package locks are a thing and I don't actually remember the last time my project broke without myself having been behind the change that did it. My setup is actually pretty stable so new packages are pretty much never added either.

Re: Ask HN: What is the ideal developer experience in 2020?

#27

I don’t know about you guys, but .NET Core (c#) and Visual Studio along with Blazor on the front end and deploying on Linux is pretty darn cool and highly productive. I haven’t had much success getting as productive on Python, Golang, or Node. Blazor eats TypeScript for lunch. Sometimes people confuse complexity for productivity. You can’t tell me installing 60,000 NPM packages just to have one dependency break is yo…

I tried out Blazor when it first came out. I really liked it! But at the time it wasn't quite production ready. Has that changed?

Re: Ask HN: What is the ideal developer experience in 2020?

#28
Not ideal. But I am using more "cloud native" tooling. Cloud Shell, Cloud Build, Cloud Run on GCP. Spinnaker mapped to the production managed kubernetes cluster. Automation. Speed. Ease. Instant revision control. I think you give up a modicum of control for the convenience. But the cognitive load is gone. You are free to concentrate on app design. Cloud native is becoming standard. And for that reason its worth exploring. There is a nice developer-conscious feature in GCP where you can configure a cluster manually using the platform's web interface. But it also emits the CLI and REST API code snippet for your own reference ;)

Re: Ask HN: What is the ideal developer experience in 2020?

#29
post #26

I don’t know about you guys, but .NET Core (c#) and Visual Studio along with Blazor on the front end and deploying on Linux is pretty darn cool and highly productive. I haven’t had much success getting as productive on Python, Golang, or Node. Blazor eats TypeScript for lunch. Sometimes people confuse complexity for productivity. You can’t tell me installing 60,000 NPM packages just to have one dependency break is yo…

JS dev here, I'd just like to say that the final sentence is just plain wrong at this point. Package locks are a thing and I don't actually remember the last time my project broke without myself having been behind the change that did it. My setup is actually pretty stable so new packages are pretty much never added either.

I've got used to the fact that outsiders aren't ever up to date with whatever is happening on the front-end.

Re: Ask HN: What is the ideal developer experience in 2020?

#30
For me personally, the most important aspect of the developer experience is that infrastructure is taken care of. If I need to solve infra problems, I'm not developing and not happy.

I currently work on a project where infra is a complete mess, but another developer on my team takes care of everything, including setting up our own clandestine k8 cluster to work around the unreasonable limitations of the system we're supposed to be working on. I love him. The downside is that we're not compliant with all the rules we're supposed to comply with, but there's no way for us to comply and still do anything, so I'm happy we're doing stuff.

In an ideal situation, an infra team would take care of all of this for us and ensure it's easy for us to be compliant while still getting stuff done.

Beyond that, the ideal would be a unix-based shell, my preferred IDE (IntelliJ), the ability to install the dev tools I need, proper version control, clear, concise descriptions of what to implement, my own input on what and how to implement, and access to stakeholders/end-users.

Post reply on HN