“A house is only as strong as the foundation that it is built on”
So, before the coding begins, I would like to take a look at building the infrastructure of my home system, for coding.
There are many ways to do this, from building an entire infrastructure with server racks to paying for a service over the internet. It all depends on your needs. Although it is not as much fun with the latter, but definitely saves time for testing on multiple platforms, setups, etc.
In today’s day and age, I think there are 3 factors: time, scope, cash.
What I chose?
As, I am interested in all aspects of the computer world, this proved to be quite a task…… I wanted to understand and learn as much as I could from the hardware all the way to the intercommunication between systems. I first had the idea of perhaps buying a couple of 2nd-hand devices for each platform, Linux, Unix, OS X, etc. But that proved a bit to costly and time consuming. I opted for purchasing a desktop computer and using virtualboxto emulate the different computer systems. This would serve as my primary developing environment. I then purchased a few raspberry pi’s to understand the intercommunication of systems and the basics of a computer system. Then I purchased an arduinoto understand a computer at a machine level.
Nowadays, you probably wouldn’t even need to go to all that effort, as you could just use a cloud service like, digital ocean, to create vm’s from which you could develop.
All in all, it comes down to scope, or more specifically the solution stack which you use to code. Hopefully, this becomes more prevalent with the adoption of web services, rest, etc.
Lessons learned What I have learnt from this experience, was the inner working of systems, in terms of development pipeline I would advise to maybe go the cloud route. As, it is become quite affordable over the past 2-3 yrs and saves the hassle of maintaining the hardware, platform, etc.What does your developers environment look like?