Live data from Hacker News

Ask HN: Developer PC setup automations for company owned devices

news.ycombinator.com

21–30 of 51 posts

Re: Ask HN: Developer PC setup automations for company owned devices

#21
I usually live in WSL2 on Windows running on company provided laptop. Each time the laptop has to be replaced (failure or age) I struggled to get my "home" back up so a couple of years ago I took a full day to setup my so-called "dot files repo".

My goal was to be able to install any debian-based distro and run a single script, non-interactive, that would get me up and running. All that I needed to do was to clone code I wanted to work on.

After I created the dot files repo the process was:

- install distro

- checkout dot files

- run script

- do I have everything I need? (minikube, k9s, jq, yq, asdf, terraform, git config, nvim config, etc.)

- if no, then:

   - fix, commit, push

   - remove distro

Re: Ask HN: Developer PC setup automations for company owned devices

#22
post #7

i think a developer should be "in-tuned" with their tools, and time spent installing and configuring them is still "work" they can automate the setup on their own if desired also.. https://www.jetify.com/devbox for specific project tooling

Which tools are you specifically talking about? I'd argue there are chore installations that devs do repeatedly along with important personal items they should be focusing on to improve their workflow.

What you describe is great from the dev perspective when you have experienced devs with an interest in automation/tooling. From the company (or other dev in a larger organization) perspective, it can become a bugbear. Having some minimal dev environment that is accepted across the whole dev team is helpful for onboarding, or rebuilding machines when something seems off.

In most organizations, devs are rightly fearful of the pain that a rebuild will bring. That pain can and should be mitigated by the IT team with empathy for devs, scientists, or whatever audience the machines are for.

I wouldn't advocate for trying to achieve an ideal setup, but rather some baseline that isn't offensive e.g. if you put VS Code on there make it a checkbox option with other tools. Start with things that take a long time to download and install. Many of the personal tools and configurations are relatively small compared to the Visual Studio install on my current machine, or Xcode on my Mac.

Thanks for sharing Jetify. That's why I love these threads on HN.

Re: Ask HN: Developer PC setup automations for company owned devices

#23
In my experience:

1. There's very rarely a one-size-fits-all solution, in terms of what people need. Oh sure, if everyone needs a VPN then you should install the VPN and suchlike. If there's mandatory corporate security software, add that as well. But will they need docker? Will they need virtualbox? Will they need VS Code? CLion? PyCharm? IntelliJ? Do they need Java installed? Which version of Java? Will they need Altium? SolidWorks?

2. There's constant churn. You can't just create an image once and use it unchanged for years - there are so many components involved that there'll be some change or other needed pretty much monthly.

And you can't rely on volunteers helping out to scratch an itch - everyone in a position to do that has long since got their computer set up how they like it.

What's more, lot of the changes you end up pushing out will be unpopular. Ain't nobody going to volunteer their time to add a giant block of all-caps legalese to a login banner, or to deploy enterprise security crapware like crowdstrike.

3. Laptops are imaged by level 1 helpdesk workers. People who can troubleshoot Linux problems and maintain setup images probably aren't in helpdesk at all, and certainly aren't level 1.

So if you imagine making an image and handing it over to helpdesk to maintain - you'll find doing so isn't possible.

Re: Ask HN: Developer PC setup automations for company owned devices

#25

I'm really out of the loop on this, but in the past for Windows at least you could customize an image and use PXE to install it from the network. Then all the user had to do was login with a domain account. Does that not work any more or is it just not popular ? Any insights as to why not ?

At least in the Apple world, my IT dept drop-ships MacBooks direct from Apple to employees, already enrolled in our MDM via their business partner program. Any additional software installations and provisioning happens after first boot via the MDM platform.

New hardware is never on a company campus or in IT hands where it could be pointed to a PXE server and imaged in that way (assuming we were running a Windows fleet too)

Re: Ask HN: Developer PC setup automations for company owned devices

#26
Direnv plus nix will go a long way on linux and macos. Windows should be using wsl anyway.

If you can get an image with just those two tools installed then each repo can specify what things it needs and when you cd into the repo it will install all the tools you need.

Re: Ask HN: Developer PC setup automations for company owned devices

#27

I would take "Now some people ask for an automation to get a "pre-installed" laptop" as a lack of " developers preferences". Personally I dislike Git, and haven't found a git UI I like, so throw whatever you want on there. I am not going to like it, but not because I want something else. Since you support a range of OSes I assume you would go with a cross platform editor IntelliJ, VSCode or something. Both are fine,…

> Personally I dislike Git, and haven't found a git UI I like, so throw whatever you want on there. I am not going to like it, but not because I want something else.

I might be a bit off topic here, but if you haven't tried Lazygit yet, I can't recommend it enough.

Re: Ask HN: Developer PC setup automations for company owned devices

#28
What kind of software are developers building and do they have automation/CI for this? In my company we are mostly deploying web apps to Linux with devs using all of these laptops. If you have a wide range of development going on, then I'd suggest prioritizing the feasible ones.

Using https://github.com/bradwilson/ansible-dev-pc (public equivalent to ours), you can automate the setup of a Linux laptop or WSL2 environment under Windows. This covers a fair chunk of our dev team. Once you start thinking about making this work on macOS, it starts becoming quite a bit more work, but it's not terrible if management values the effort.

If you have people doing mobile and Windows desktop development in addition to Linux web apps, it starts to get much more complex. Maybe you can't offer a fully "pre-installed" laptop, but you can automate the time-consuming parts like a Visual Studio install.

From experience, you are going to encounter a lot of developers who struggle more than you expect with troubleshooting and automation of their work. This includes experienced devs. It seems to turn on interest and curiosity versus dev experience. It helps to create a checkpoint at onboarding where you make an effort to determine the best approach for them and know who accepts an automated happy path provided by you and who wants to handle things on their own (and perhaps fails). You can then report on the general pattern of issues to management and prioritize ways of improving your happy path build so they don't reject it.

Re: Ask HN: Developer PC setup automations for company owned devices

#29

IT here. Devs need to manage their own. We hook it into AD/AAD, EDR and Office 365. Dev enviroments THEY setup as THEY are developers. If then cant install some stuff can they even dev?

Setting up the environment for development, especially for onboarding, is a crucial operations step that allows the devs to stand on the shoulders of giants.

If you're asking them to test in prod ( not providing a local test environment for component testing ) or reinvent the wheel ( and get the wheel type right... should I build a bicycle wheel or a railcar wheel? ) then the first week of a new hire is spent trying to align to his or her peers.

Post reply on HN