May 18

Penny-Wise or Pound-Foolish?

When I mention using "Azure Virtual Desktop" as your daily driver for software development work, what is your reaction?

If you are a CISO or another cybersecurity professional, you like it because of the lower management overhead (hardware and software), enhanced security features, consistency between AVD instances/images, and the additional help with compliance it gives you. I would also hope this makes your job easier and improves your life at work.

If you are an experienced software engineer/developer who uses a bunch of software-based tools (i.e. Visual Studio, VS Code, NCrunch, LinqPad, JetBrains ReSharper, JetBrains dotCover, etc) to develop solutions, you are probably rolling your eyes right now. Your computing needs/wants are higher than someone who is slinging PowerPoint decks and Excel spreadsheets all day.

Sure, you can knock someone for using more tools to get the job done and tell all the "Back in my day..." stories you want. But if it speeds up their delivery, improves the quality of their code, and makes them feel better and less aggravated at the end of every working day, this is going to be an absolute win for the company in the end.

I don't understand for the life of me, why somebody would make the blanket decision that all contractors at the company cannot have a company provided computer and must use AVD. Then on the AVD instance they do get, the most RAM they can have out of the gate is 16GB. This might make sense for the contractors who spend most of their days slinging PowerPoint decks, Excel spreadsheets, and/or working with web-based apps where most of the compute is done on the server. But what about the software engineer who is running a bunch of tools that need more system resources to run smoother, with less aggravation and lag? This constant lag and waiting for applications is enough to pull you out of "Flow". As a software engineer, I love the State of Flow that you can get into while working. It's very calming and makes me feel amazing after a long stretch when I can turn around and see how much work I've done. Why would you want to put yourself in that environment where you can't get into that state for any great length of time?

Anyway, I feel like if you want a good job done right, then give the people you have working for you what they need. You don't want to give them phyisical hardware? Fine then give'em the 32GB or more of RAM on their AVD instance and let them do their thing. This shouldn't be rocket surgery.

What do you think? Is it worth it to provide software engineers with the resources they need to do a job quicker and with less pain even if it might be alittle more expensive or would you rather them do the job slower with more aggravation for cheaper? Penny-wise or pound-foolish?


Copyright 2023. All rights reserved.

Posted May 18, 2024 by codegorilla in category "Rants