Pages Menu
TwitterRssFacebook

Posted by on Jan 20, 2015 in Development, Everything Else

Being a Developer on the Cheap – Pros and Cons

Being a Developer on the Cheap – Pros and Cons

Skippable: this is a non-technological rant post, you can safely ignore it. It’s not directly related to Microsoft Lync / Skype for Business.

This is a conflicted post. I’m going to try and convey two opposing views, both of which I agree with. Those of you who know me will know that one of my favourite answers is “Yes, and No” : this is the blog post version of that answer.

On Making Do (it’s better than you think)

I was talking to a developer friend at a party the other night. He doesn’t do any development outside of work, any blogging or community work and I was trying to get him into it. If he had other commitments, such as family or hobbies, fine. But I didn’t think he did. His reason was: “I don’t have a good enough computer at home to do development.”

I’ve heard that excuse from other people before. It’s given as a reason not to get into development. Ohhh, development: I’m going to need a soooper-fast machine with a bazillion RAM.

No you don’t. It’s nice (see below) – but it’s not necessary.

In the last 4 years, when not at work, I’ve launched the ThoughtStuff blog, re-designed it twice, built tens of websites for friends, family and clients, written a program to lay out books on our bookshelf, designed and printed stationary for our wedding, written AutoAssist, and published 223 blog posts.

I’ve done this on a HP Pavillion GQ507AA. I don’t know exactly when I bought it, but in May 2011 I bought 4GB more RAM for it (I paid £36.99 for that!), and I’d had it a while by then. It’s got an AMD Athlon Dual Core processor running at 2.1 GHz and (after upgrade) 5GB RAM. I have two external drives plugged into it and it’s running Windows 8.1. I wouldn’t have paid more than £600 ($900) for it.

I’m not tell you all this to brag – I’m trying to say that you don’t need an amazing computer to get into development, or to contribute to the community in your own time, so don’t blame the tools. Yes, things take longer and you have to adapt, but anything is possible.

Besides, there are some shortcuts and cheats you can use when you’re using an under-powered machine. If it helps, here are my tips:

LogMeIn

Often you’ll be waiting around for things to install. This is not a good use of your time, so go do something else. Especially if you have other commitments, and can only really set aside an hour a day for development – you don’t want to spend that time waiting for an installer. Either have a list of things you can be doing whilst you wait (such as blog posts, forum posts), or get away from the computer and do something else … but stay connected with screen-sharing software such as LogMeIn.

There’s loads of different options, but I’ve always used LogMeIn. If you’ve never debugged in Visual Studio on your phone via LogMeIn, well you haven’t lived. It’s also good for those times when everyone else is checking their phone and assumes that you’re on Facebook too – a good time to log in and click Next on that installer. I often install things during the working day whilst I’m out, remoting in to the computer to start the install, or click Finish, or restart. It means that when I have that one sacred hour to work I’m all ready to go.

By the way, one of the reasons this blog post is being written now is because I’m waiting on an installer:

Waiting

 

Azure

In the last 6 months I’ve started using a secret weapon for the under-powered developer. I’ve been cheating. I’ve found that creating a decently-powered virtual machine on Azure and then connecting to it via Remote Desktop is a faster development experience than working locally. Essentially I’m turning my computer into a dumb terminal – but it works for me. I keep all my code in TFS Online anyway, so there’s no problems with code security. It takes a little longer to get started (I have to turn the machine on, then connect) but once I’m there it works really well. The only consideration thought is that you have to remember to turn it off when you’ve finished, or risk large bills. Azure is very good for automatically capping you though so you don’t really end up with big bills – you just can’t do much until the next month’s billing cycle kicks in!

Having Said All That…

Here’s the conflicted side. Whilst you can do all this, I didn’t do it out of choice. We were saving for a house, then saving for a wedding. A fast computer was never a priority, and so that money went elsewhere.

It’s the same story with my phone. Until this month I had a iPhone 3GS which has been my only phone since its launch in June 2008. Again, I did pretty much everything which everyone else was doing – just a bit slower. I was saving money and being out of contract meant I could also reduce my monthly payments and save even more.

Now that we’re married and aren’t saving quite so hard I’ve finally upgraded to 2015 with a new iPhone. Making such a big leap had a really noticeable effect on my productivity. Speed of device has been the biggest difference, not camera pixels or battery life. Because everything on my phone now “just happens” I can use those micro-slots of time during the day to do things I couldn’t before. When opening a webpage takes 3-5 minutes, you often only get time to read the first sentence before you have to put your phone away again.

Speed (and by definition modernity) of device has a bigger impact than I realised on productivity – making me slower, making me wait longer. Changing my phone has shown me that. I’m gearing up now to change my computer as well, and I’m really excited to see what that will do for my productivity. I’m hopeful that I’ll be able to spend more time writing code and less time waiting for things.

In Conclusion

Well, the installer has finished now, so it’s time to wrap up this post. I didn’t get done what I wanted to this morning because I didn’t realise I was missing an SDK. However, it’s given me a chance to write this, which is good.

I don’t regret not upgrading devices earlier – we had no choice anyway, the money was better used elsewhere – but I think it’s taught me a lot about what’s possible. You don’t need great hardware to do great things. However, if you afford it then you buy yourself time – which is often the greatest commodity.

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.