What do I really want? You know, when I’m going to an interview, changing project or… starting a new one on scratch at home. What do I really want to have in my toolbox, what I want to build before I open an IDE and what should I have while going into already working code? Oh and ill start from less important things to end on this one most important thing.
Style – some kind of prettier, style cop, all tooling that makes that each developers code is in the same shape. Intends, commas on same place, brackets. All stuff that makes our code nice looking. Also I prefer to have my favorites colors here.
Repository – its important but also very common. GIT with any web gui that allows to do anything with code. If webgui doesn`t allow to create a branch, make small change in code, commit it and create a pull/merge request … than its shit. This functionality is base line for me. Why? Because this way you can fix a typo without starting IDE, you can change something while on phone or… just when your IDE is updating and you have some minor changes to do.
Continous Environment – I dont care which second word you are using. Is it Integration, Delivery, Develop, D… i only care that it have to work properly. We need automatization in areas like: testing, deployment to different envs, pushing to prod, making DB migrations, all stuff that should be done more than once should have automatic pipeline. And yes you should have also pipelines for dependency updates etc. Thay can be started manually when you want to do it but you should not have to do it one-by-one by hand.
Idea – project sense, motivation to build THIS one. Especially in paid, work, projects i often see that… things that people want to build are not going to add value for anyone. To company, to people, to clients… nope. When I now thinks about all projects that i was working on for my entire work career … maybe 20% were really needed for people. Maybe another 15-20% were needed for corporation to be to do sth with data or make some processes easier. But rest of them… if you would put them to /dev/null then no one will notice