2,733 karma · joined April 30, 2011
You obviously don't want to set that in some control panel. So you just integrate it into the main UI.
I think one should strive to do the same with most settings.
What I'm talking about is removing micromanagement and ensuring that the institution is trusted.
Research is a high stakes, high rewards type of game. You need to pursue many potential ways forward, and most likely only one will win.
Rewarding short term wins makes academia no different from industry, and prevents finding anything but the local maxima.
We need to separate research from politics. It needs to be a separate pillar of the state. You don't want reseachers chasing funds continously and doing short-term research for local sponsors. You want sizeable investments in long-term research projects, high autonomy and following of the scientific method. This way people would trust the results.
1. Merging often and early might be viable, but it might also expose your colleagues and the codebase to your exploratory process, which might or might not be desired/possible. If you're making semi-permanent changes like API modifications or database table updates, going this route will mean a lot of extra work.
2. Too many chefs. If you open up for too many questions at the start, you will get a gazillion conflicting opinions thrown at you. You'll need to limit the audience somehow, or bring forward a clear idea or opinion. This leads to developers working a bit on the side. I don't mind this, I think it's good to give autonomy to working groups and let them make mistakes, as long as there is coaching or feedback in place in the long run.
3. If you go the route of designing a bit on the side first, to save time compared to 1), you might suddenly find yourself in the situation that the major parts feel quite done. Adding polish is now just a minor addition to what you're already accomplished, so you might do that before putting up the PR. This means that a complete solution showing up as a PR doesn't necessarily mean that it was over-engineered or overly polished on the side.
4. Not "syncing" too often saves time; less context switching, distracting information, and time to reflect on decisions and design.
We don't all have to agree on everything. I think that's a fallacy.
Adding more manpower works around an inefficient codebase by writing more code on the side, and so we get a growing Rube Goldberg machine, no matter if we do monolith or 4000 microservices.
Take nuclear reactors as an example. Some people seem to legitimately think that its possible to eliminate all sources of errors in such an immensely complex system. If there's been an accident, the analysis is generally "we have to add sections in the manual for this specific scenario and we'll be safe", rather than accepting that it's impossible to prevent all errors and that it's merely a question of time before the next anomaly arises.
Without them, quality degrades and you get a lot of busy work from working in inefficient systems.
ReSharper has been really slow, yes, but it's also much better than intellisense and noticably better than Visual Assist. As of now, it's at least usable for me. Have to turn off full solution scanning, but other than that it works.
I agree that the general experience is degraded by ReSharper, sometimes severely, but VS is just too dumb without it, IMHO.
VS isn't all too shabby, they've been shaping up recently. But it certainly isn't the best, or even among the better, in my opinion. Even the file editor is pretty weak compared to other editors IMO.
I'm not angry, I just don't think it's fair to claim that VS is a good IDE.
If that's all you expect from an IDE, I understand why you're happy with VS :D
The good parts of VS is hot-reload (when it works), the debugger, and the profiler. Otherwise I'm not a fan.