I’ve read Steve Smith post regarding Developer’s Machine. Great post. Got me thinking about my development environment…
Background: to fully understand the whole lifecycle of a solution, you need to know not just Unit test or integration tests. But also about the backend/infrastructure where this application would eventually live.
For instance, I have been involved in several integration projects at different clients. The solution calls for situations that involved multiple users, multiple roles, multiple permission profiles. Yet, they only provided me with a SINGLE account to their environment to fully test my application.!
Being an integration geek, you need to have a bigger bag of utilities to help you being certain that your app works as intended. IMHO, you not only need to know about IIS settings/security, but also about AD, Clustering, SQL roles, etc. And it is not enough to just READ it from a blog. You need to experienced it and work with it. You need to be a JOAT.
Ideally, like Steve’s view, the Developer workstation will be both mobile and desktop. It is nice to be able to take that mobile environment with you. However, most of the times while working at home, I would trade my portability for some speed and flexibility. I like desktops with Dual screens (wish I had more than 2 monitors… :) and full size keyboards. I like to feel a mouse and not those annoying keypads/touchpads. Yes, I do HATE touchpads…!
I had built my own controlled environment (SandBox). This is so that I can experience what the network operator/admin that is going to inherit my application would experience. Under this controlled environment, I can test the full cycle of my software (deployment, running, integration) . Nothing worse that going into a client’s environment and say: “… but, it works on my machine…”
I know that now a days, with VM’s (VPC/VMWare), building a Sandbox environment is easier and cheaper. However, there are pros/cons for virtualization vs real machines. I feel that my investment was well spent. My future upgrade will be to beef up my SQL server (still keeping it as a real machine). Then put a couple of VM’s on the app and the web servers to test NLB and some Farm features of BizTalk and SharePoint.
BTW, I think building your own computer is still the way to go.