During the last weeks I had a lot of fun stuff to code. And I was able to use the tools, the methods, the languages that I like. And that’s awesome, because a great Developer eXperience when working with systems and code is important.
But what does that mean – “Developer eXperience”?
To me it is basically one thing: make my life as a developer easy!
Don’t force me to use only single IDE (but if so – make it rock solid and state-of-the-art)
As as a developer I want to use the tools that help me best to get my work done. That can be Eclipse, that can be Atom.io, a browser editor, that can even be vi – all for the same code base. Whatever makes my job at exact that specific moment easier, better, faster.
If you’re offering an IDE… make it a great offering. Take a look at Xcode if you don’t know what that means. If you’re offering integrations into other IDEs… make them great too.
Source Control should be naturally integrated
When you’re offering an IDE – it should live and breathe Git integration. Give me also direct access to the files, so I can take care of it on my own. Preferably both. No excuses here.
Ah, and GitHub please.
Testing capabilities are a must
Professional development means also testing. Full unit tests, UI testing, all that stuff. Shoot, fire, success. With the testing tools that I like to use. Easy options for test data creation – and deletion. All built-in. And I want to automate that.
Not to forget: before testing comes debugging.
Automation. Automation. Automation.
I learned that in my early days as an admin. A good admin is a lazy admin – as s/he automates everything. That reflects also to developers, especially nowadays.
Give me configuration and multi-stage deployment via text files and a CLI. Package management is mandatory. And everything should be well documented.
The most missed point: I want documentation. Good documentation. Give me instructions on how – and why – to use the system, the language, the framework. I can figure out APIs and menu positions myself.
Is that a fantasy wishlist? I don’t think so. It’s what a developer should expect nowadays. And all that is what makes a developers life easier. If that’s not part of your offering… you’re not going to talk to me. Because it won’t be then my Developer eXperience.