6 ms·
I've worked in 4 different software shops over the last 15 years. My general observation is the developers who rely on heavily automated/magic tooling are signi
by spoils19 5y ago
I've worked in 4 different software shops over the last 15 years. My general observation is the developers who rely on heavily automated/magic tooling are significantly outclassed by those who use the terminal + a basic text editor.
Terminal + Vim or Emacs/VSCode (depending on configuration) is not only all you need, it also produces developers who understand the systems they work with.
I know a lot of people will disagree but my advice to more junior guys is always get rid of the toys and learn the tools.
- nwatson 5y agoJetbrains IDEs will step into framework/library code/stack-frames/variables that you didn't write yourself and let you trace the full context of your code ... that's insight and knowledge no straight-editor will give you.
- Zababa 5y agoThis is a false dichotomy. You say "developers who rely on heavily automated/magic tooling" and "those who use the terminal + a basic text editor.". What of those that use heavily automated tooling but understand it? Of course people that understand stuff are better than people that don't, but this isn't directly correlated to terminal and IDE. > I know a lot of people will disagree but my advice to more junior guys is always get rid of the toys and learn the tools. You could make the same argument for writing assembly by hand, which will surely improve your skills. But that doesn't mean that a compiler is a toy. Those that learn and know the tools know their value. Senior developers at my work have a deep knowledge of lots of tools, because these tools can be very useful and save you a lot of time. They also build tools for others, to encode their knowledge and make everyone save some time.
- Osiris 5y agoThis is not my experience at all. If anything, junior or mid developers that use IDEs rarely even use all the "advanced" features like inline debugging and source control features. The more senior developers maximize the value they get from tooling.
- deadcore 5y agoBit of a sweeping, overgeneralisation don't you think? Don't see how the quality of the developer correlates to their choice of environment.
- ljm 5y agoI do most of my stuff inside Emacs, but I wouldn't say that makes me a superior engineer to someone who uses a suite of JetBrains IDEs. In fact, for every benefit I gain from working in emacs and a terminal, there are plenty of trade-offs in terms of the amount of convenience I lose. I could recreate much of this with my emacs config, but that's an investment of my own time that isn't being spent on the actual project I want to work on. So one day I'll get around to it when I feel like it's worth moving that work into my emacs environment. But until then, I'm quite happy to fire up GoLand or IntelliJ and get a complete end-to-end integration between the language and the editor, without needing to configure anything. I'm not sure the developer who uses an IDE is worse off than someone who can wrangle a terminal and minimal editor. If anything, it's just one choice of cognitive burden over another. Nothing better or worse.
- creshal 5y agoI learned programming with paper, pen, match boxes to represent unary turing machines, and printed out language manuals, I'm afraid you can't out-hipster me with just emacs. And you completely miss the point: I'm fully aware that they exist, and that's the problem. Lightweight yet modular editors are such a crowded market that I don't see a realistic way for JetBrains to successfully compete in it. They don't have the same community momentum that emacs/(neo)vim have, nor do they have the resources of Microsoft. People who like IDEs are the only target demographic they have, it would be foolish to neglect those to muscle into a market crowded with very successful free products.
- kaba0 5y agoBut they would be stupid to start from scratch. They intend to reuse all their superior intellisense, code analysis programs and make it available through a unified API for both their current tools and this newly built one. If anything, they just want to build up a new frontend and the first look on that will be an “easy” one with a vanilla code editor.
- burmanm 5y agoAnd I've seen developers who use Vim/Emacs/VSCode spend more time doing the same thing the other guy using an IDE would have done earlier and continued with important stuff. Although, if we go by your logic, wouldn't doing everything without an editor be even better? Because the indication and advice you're giving is that people using right tools that help their life are suddenly worse at doing their job. Which is just bullshit.
- kaba0 5y agoKnowing what gets run is orthogonal to using an IDE. Like, you are free to not click on that green run button and use the in-built terminal console at the bottom, but even so — will vim/emacs whatever suggest me new language features that may be superior to what I know? Will it catch trivial to see problems even before I compile my program? Also, autocompletion, in-built documentation can be a great tool to learn as well (I read much more documentation due to a quick hotkey showing me it, than I would manually hunting it down). And I know that these tools can be customized to do all these, my experience is that with so many tools they tend to be buggy and slow, and still only support a handful of features that a full-blown IDE does.
- faizshah 5y agoThis is the kind of stuff that sounds believable when you start programming. I can tell you as someone that read HN since high school and invested time in buyinh a t480, trying out distros, and learning emacs and vim I can say its just another hobby. You can spend days making the best dotfiles and learning every CLI tool that doesn't mean you understand the systems you work on any better than anyone else it just means you have programming related hobbies outside of work which is a much better explanation for the correlation that you're observing. I don't know why we are inferring causation there. Your choice of tools is not that important, but learning the features of those tools is important. Also on giving up magic tools, as a FANG engineer you interact with many magic tools every day which you scarcely understand. It would be better if you did understand those tools as tenured FANG engineers do but as a software engineer at a big company picking your battles is the most important skill you can learn.
- philote 5y agoI have to agree with you. At least in my experience this seems true (with a few exceptions). I feel that devs that rely on auto-complete and such of an IDE are never really forced to know the libraries and code they're using. To me it feels like training wheels they never take off, and therefore can never move at full speed. But maybe it's just that due to the popularity of these IDEs, many newer devs are using them while older, more experienced devs are still using what they're used to. Quick edit: I work with some junior devs who all use IDEs. It pains me when I ask them where some code is and they only give me the filename and not the full path. I guess this is because that is what is most prominent in the IDE.
- lostmsu 5y ago> It pains me when I ask them where some code is and they only give me the filename and not the full path. This one clearly is a self-inflicted wound.