How dependent are you on your development environment configuration?

github logo ・1 min read

How much would it slow you down if you were required to get work done on a clean install of your OS, assuming you have your compilers/interpreters available, using a plain, unconfigured text editor and an uncustomized shell? Would your first step have to be setting things up to your preferences or could you sit down accomplish a moderately complex task in a reasonable time without it?

No more squiggly lines...

cover image of Windows Notepad used with permission from Microsoft

twitter logo DISCUSS (28)
markdown guide

I could do it, I think, but if I have a choice, my first step would always be setting everything up. My efficiency would be lowered to something like 60%, maybe? I put all my configs in a Github repo with an install script, so it would only take me a second (aside from pkg install ...).


that is a great idea lol it reminds me of this though



Yeah. It's great when you can do that ...Sadly, most of my customers have compliance-requirements that they generally interpret to mean "no direct connectivity to the outside world". :p


We are so used to all those productivity tools like Emmet, Intelisenses, Syntax coloring, etc, that we see it as a norm.

No one would ever decide to code in Notepad, cause all the industry is based on "More done in less time" principle.


I can say that I've reached near-total independence of development environment - IDEs are definitely nice, but I can get what I need done without them, as evidenced by my use of Notepad++ for Python coding professionally, and a mixture of Eclipse/Atom/VSCode/BBEdit personally. I'm not completely OS-independent, but recent changes I have made to my personal workflow have gotten me as close as I have ever been to that point, able to produce builds for any OS from any other OS (since native tools are not required).


Oddly enough I was semi pushed into doing something similar recently, and so I found myself writing C using ed.

It was fine. Actually, you could argue it improved my focus 😁


Really, ed was all you had? That's... hardcore.


Yeah. Also I was using a phone keyboard so... it was suboptimal in every way :D.

But tbh ed was the least bad thing about the whole setup. Terse, simple commands to write the code. And compiling regularly to catch syntax errors. I think I might even prefer to read code without syntax highlighting - I've turned it off on a lot of my editors now.

I guess I shouldn't knock it without trying it. That sounds like it adds cognitive load to me, I'm surprised you're reporting the opposite. Might have to try this!

I think I'd like to do some sort of opt-in experiment on Dev.to. Pick things like syntax highlighting, or other productivity tools, and ask devs to turn them off for a week and to report back on their findings.

For science!


Definitely, syntax highlighting is a barrier to code readability. We are used to it. We could write programs without highlighting, autocompleting (in this case, we'll allocate more time for searching necessary methods/etc. in the documentation), rich editors, sure, we can do this. But why?:)
Most of the features of contemporary tools intend to decrease code reading/writing time.


Fair point - the "why" is tricky to pinpoint for this scenario. With bash scripts or Ansible, the "lead time" for getting a fresh install up to where you need it to be is minimal anyway.


Since, over the past several years, I've been bouncing across multiple, discrete contracts where I own none of the development environments, I'd have to answer "could start being productive almost immediately." ...But mostly because my work-circumstances have generally forced me to rely on minimal toolsets (and why I habitually look for those tool that I can use everywhere).

Then again, my focus is more on the back end and infrastructure side of things than writing user-facing code. Maybe things would be different if I had a different focus.


Mostly, but my preferred editor is already 95% of the way to my standard configuration on a clean install, and that accounts for about 90% of the customization that's actually important for my efficiency.

The hard part wouldn't be configuration, it would be dealing with the lack of SSH and GPG identities that are quite literally required for me to do my job (I could recreate them from scratch, but that would be at least a few hours of delay before I could do anything since I'd have to notify and sync up with people in 2-3 other timezones multiple hours offset from my own).


SSH and GPG identities

That's a great point I hadn't considered, it's always necessarily close to step one of configuring a new development system.


Maybe a less abstract question is: "how effectively could you debug if the target environment (and the only place the bug occurs) is locked down, no changes possible?"

I've been there more than once, for different reasons (strict government policies, immutable embedded systems, avoiding leaving a footprint on the target..), and 'living off the land' as it has been called probably slows me down to 50% of fully equipped, unless there are zero available tools to help (like gdb or vim), then it's pretty much game over.


That's definitely closer to what I'm getting at, thanks!


I spend like a year writing my .vimrc, you better believe the first step is getting that baby back. I could work with plain vim in an uncustomized shell, but I wouldn't do that to myself.


I'd be able to hack my way through getting some basic code to work, but no way I would be able to do anything nearly as fast or as accurate when I'm using my IDE :D.

If you use settings sync with VS Code, it is really easy to update on a fresh install :D


I am an absolute beginner, but I think there is one thing I'd rather have than not to code even the most basic of html sites:

1) a dark screen mode

The rest I think I could do without any help in the IDE (provided I have Internet access), but that's probably because I don't know anything complex yet. And even so: if I did this for any other reason than a masochistic streak, I would probably point out to the person asking me to do this that they have just decreased my productivity and increased the time I need by a fair amount.


Hmm no I'm the type of guy who will then quickly start tweaking things to make it work "as it should". I can probably tolerate it and get something done but I won't leave it in that state for a very long time.


It took me almost a year to get my local env set up the way I want - a local LAMP stack & all the plugins & terminal customizations.... I live in total fear of a HD failure & having to start again.

I sure hope I documented what worked well enough.. 🤞🤣

But yes, I could be productive if not ideal on vanilla Ubuntu quite easily.


I would say very much and thats not a bad thing, would you expect a woodcutter to work without Axe, I can't


So far I think I would have to reinstall everything to the way I like them.


For me, syntax highlighting is a larger barrier than squiggly lines. Unhighlighted code is tough for me to look at even if I know the specific snippet already, which makes me feel weak :(

Classic DEV Post from May 13 '19

What cool ideas have you seen for integrating new team members?

I came across this tweet from a couple days ago and it really struck a chord with...

Ben Lovy profile image
Just this guy, you know? Always a hobbyist, currently an intern @ MousePaw Media. He/him.