Live data from Hacker News

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

news.ycombinator.com

31–40 of 92 posts

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

#31
Because it is hard and always will be. The same with drawing an owl, draw big circle, draw small circle on top of that ... then draw the rest of fucking owl.

There is so much more detail on each layer of a system that there is no way you can just write piece of code and put it to production.

Ideal situation would be if developer can just write code hand it over to test people to check then to ops people who can scale it and secure it. But we all know how it ends up. So even more ideal would be when you write code upload it to the cloud and it just works. But we know it going to cost loads of money.

If there is no silver bullet, try to carve out a little niche for yourself where you mastered own tools and stick to i.

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

#32
It has been a long time since I've done any web development, but I've done almost everything else, and I've converged on preferring C# in Visual Studio. Why?

- typechecked, but the types get out of the way; "var" and intellisense fill them in for you. It also shows you what types the function arguments should be and autosuggests objects of those types

- functional when you want, but not when you don't: LINQ et al, interlinkage with F# if you want to get really functional, now immutable record types. Lambdas.

- wordy enough that you can see context, but Intellisense means not having to type it out

- smart refactoring (paid-for Resharper)

- debugger when you need it: run test case. Wait to hit exception or breakpoint on failed assertion. Inspect values. It's often immediately obvious where the problem was.

- CPU and memory profilers readily available and well integrated.

- standardised on Nunit with Nsubstitute for testing: bit wordy, but with a bit of thought we're now hitting 100% line coverage on wholly new code.

- portable ish binaries with Mono

- package management system is mature. (Wart: packages are at the "project" rather than "solution" level in VS, so you need to do extra work to ensure they're all the same version)

The only real downside is the build system (MSBuild) is pretty poor, badly documented, and not easy to use for other things than C#.

For the future? "Software components" have never quite delivered. Package management is clearly the frontier here.

Language interoperability is another: it's still astonishingly hard to combine languages within a single software artefact unless they're C and C++ or similar things that produce platform-native binaries. Proliferation of language runtimes makes this worse, not better. On the other hand, the two frontrunner runtimes of C# and Java both have problematic owners.

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

#34

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…

So I guess I should stop doing everything else and adopt a brand new M$ tech that totally blows out of the water what M$ offered a few years ago, which M$ said totally blows out of the water what M$ offered before that.

Got it.

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

#35

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 am super excited to try out Blazor as well. I believe its the basis of the Azure web platform frontend so anyone can try it out just by signing up to the free tier. For me, I'm looking at rapid web ui prototyping. The ability to deliver a native-feeling web experience to a client in mere hours ;)

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

#36
there is still so much that stands in my way

My experience is that technology has never stood in my way. It may be inconvenient, but I always find a way to work with it.

The thing that has always been in my way is other people. Always.

For me:

1. A boss who has a clue. Who has actually built software deployed to production at least once. Who understands the customer's business. Who manages things and leads people, not the other way around. Who gives me my assignments, the resources I'll need, and leaves me alone.

2. Project managers who know how to run projects.

3. Business analysts who know how to conduct analysis.

4. The decision to either go agile or not. No more sprints, stand-ups, scrum masters, product owners, retrospectives, etc, etc, etc, unless we do it completely and do it right.

5. Anyone, anywhere who writes something, anything down. No more, "Don't you remember when Sue asked Michael and he got Fred to tell us in that skype?" (My answer is always, "No.")

6. Any environment where I spend 90% of my time programming and 10% on overhead, not the other way around.

7. Authority to go along with my responsibility. I'm tired hitting every deadline and forced to wait weeks (or months!) for Peer Review, Code Review, Design Review, Standards Review, User Acceptance Testing, Integration Testing, Quality Review (against what standard?), Steering Committee approval, Leadership approval, approval from God herself...

8. A minimal acceptable competence level for my teammates, achieved by proper vetting (including tech interviews and tests). Software development is achieved as fast as the weakest link, not the strongest one.

9. No meetings!!! If it isn't written down, it isn't. If it is written down, you probably don't need to meet.

I could go one all day, but I'm late for a meeting. :-(

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

#37

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 totally agree with you, but production deployments are terrible. The confusing way to handle secrets and environment variables, the lack of a standard database migration tool that is not tied to EF, the lack of a good standard integration layer with nginx... it's just a pain if you don't have a dedicated devops team.

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

#38

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 databa…

For the first point how would you handle software that needs a database of some sort? Or are you saying the project ought to include an install script that handles dependencies?

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

#39
You have to be able prototype fast and that’s nodejs + react . For better performance and still fast dev cycle it could be golang. Golang also for anything related to kubernetes

rust, c++ For some high performance Python might be good to know just because so many DS things are written in those languages. Scala/java/c# for something robust but verbose e.g. fintech It’s really depends on industry.

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

#40

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 databa…

> 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

I disagree here slightly. I think it's reasonable that a database setup may be necessary, especially if abstraction layers (ie. ORMs) aren't being used for SQL, and SQLite is not your database of choice. Sure, you could set up docker, but not every project adopts or even likes docker.

Post reply on HN