But it works on my machine!?
Tags: blog, softwareengineering, devops
Published: 2023-01-18 13:57:44

[caption id="attachment_722" align="alignnone" width="612"]<img src="https://codingforspeed.com/wp-content/uploads/2023/01/finished-first-week-at-new-job-finally-started-coding.jpg" alt="finished-first-week-at-new-job-finally-started-coding" width="612" height="408" class="size-full wp-image-722" /> finished-first-week-at-new-job-finally-started-coding[/caption]

Another week of new opportunities is ahead of us. We made it a habitto learn something new every week, be it a simple fact, a new skill or anything else. Consistent growth is the key.

Let's jump right in.

<h3>Onboarding struggle is real 🚧</h3>
A lot of teams struggle with onboarding developers. 👩‍💻 There are a couple of reasons for that:
<ul>
<li>Incompatible dependencies, 👹</li>
<li>Unsupported libraries, </li>
<li>OS differences, </li>
<li>Stars are out of alignment, 😉</li>
<li>and everything else in between...</li>
</ul>

It's inevitable that, at some point, you will find yourself with a dependency that you can’t seem to install and set up. You ask a colleague for help, but you hear the feared phrase: "But it works on my computer", and you're left to fight the battle on your own.

Research made by the Brandon Hall Group shows that a great onboarding experience <strong>can improve employee retention by a staggering 82%.</strong> 😮 No sane person wants to spend more time troubleshooting than actually <a href="https://helloacm.com/coding-interview-tips-for-software-engineers/" rel="noopener" target="_blank">coding</a>.

Ephemeral environments are no stranger to the DevOps world. They ensure repeatable and consistent environments without configuration drift, sometimes referred to as <a href="https://codingforspeed.com/benefits-of-infrastructure-as-code-for-developers/" title="Benefits of Infrastructure as Code for Developers">infrastructure-as-code</a>. In modern CI workflows, it is common to have a fully functional environment for each pull request/branch where you try the new features or run functional tests. After the PR is merged, the environment is scrapped to free up resources for others. 

Instead of describing configuration dependencies in the README.md file, the configuration is defined in an explicit format and is a part of the <a href="https://codingforspeed.com/how-do-you-protect-the-source-code/" title="How do you protect the source code?">source code</a>. Every dependency needed to start and develop the project is included in the configuration file.

With <a href="https://codingforspeed.com/cloud-dev-envs-the-future-is-here-and-its-bright/" title="Cloud Dev Envs: The Future is Here and It's Bright">cloud-based dev</a> environments, developers will see an increase in productivity, be ready to code from day one, and remove the “It works on my machine” from their vocabularies.

Also, companies can expect new developers to be more satisfied with the onboarding process and have a better retention rate. Also, you can allow developers to truly choose any computers they want to work on without restricting their choice to pre-setup machines.

Reposted to [Blog](https://codingforspeed.com/but-it-works-on-my-machine/)