AdamTheTech Logo
AdamTheTech
Enthusiast of Technology, Web Development, and Sci-Fi

Microsoft’s Free Virtual Machine Images

Deus Ex: Human Revolution Review

Embed dll Files Within an exe (C# WinForms)

Do It Yourself or Outsource It?

Please be aware that this entry is over two years old. Therefore, it may contain broken links, outdated information, or views and content which are no longer completely valid.

There’s a certain pride that comes along with Do-It-Yourself projects. You build them from the ground up, nurture them, and put them out for the world (or your workplace) to see. On the other end of the spectrum we have outsourcing. The word itself leaves a bad taste in your mouth considering all of the less than stellar decisions that have been made by companies simply to save a buck. You may have read about or experienced the result of these decisions in the course of your travels through the world of technology.

The idea here to quash some of the negative connotations of going to 3rd party vendors and online services, which can take care of some of your specific needs. Sometimes it’s a good idea, and sometimes not, but this should give you a better indication of what to look for when deciding on which is the best direction to pursue for your specific idea or need.

What Can Online Services Offer?

Online services can offer a great variety of things. Website hosting, email hosting, media hosting (images, flash video, etc), server/website uptime monitoring/alerting, collaboration, communication, media transcription, blog hosting, wiki hosting, web design, logo design, publishing, e-commerce, mobile communication, and image manipulation are just the tip of the iceberg for the kinds of services (both small and large) that you may find on the World Wide Web.

Sounds enticing, right? At first glance, it sure does. However, there are some things to consider before taking a dive into online services or simply resolving to do it yourself instead.

Do You Have the Skills to Do It Yourself?

Many techies have not only one good skill, but a whole toolbox full of them. That, however, does not automatically mean they are an expert in all things tech. That would be like being an expert of the mating rituals of every single living organism in the South American rain forests. It’s just too big of a topic for a single individual to know every tiny detail about. The world of tech is a very large place, and sometimes, people forget how massive it really is. Even though this is the case, you probably still do a lot more work inside of your skill area rather than outside of it.

On the other hand, you can always learn the skills that would be needed. The only downside is time and expertise. I mention expertise because for the first few times you try to put these newly acquired skills to use, you really have no idea what you’re doing even if you think you do. You won’t know all the ins and outs of setting things up, doing preventative maintenance, securing them from unauthorized access, plus a number of other odds n’ ends including all the quirky issues that tend to come up that aren’t in the instruction manual. This can often lead to unstable software environments and long periods of downtime when something goes awry.

In any case, in terms of skills, you really can go either way here. For instance, I like to program and work on webpages. I have learned and honed those skills over time and I quite enjoy projects that allow me to put those technical skills to use. However, having the skills needed doesn’t always mean you will have the time to actually learn the additional skills needed or to do it yourself. This brings us to our next point…

Do You Have the Time to Do It Yourself?

In the world of wanting things “now, now, now”, time is a finite resource. Do you have the time to build, test, customize, and maintain it yourself? This is where most online services win out–you can have something viable up and running, often times, well under an hour, or at most, a day or two. All the heavy lifting has been done for you.

Then again, the service you choose may not be exactly what you’re looking for. Perhaps you’re looking for a specific feature that the service doesn’t provide. Maybe another service does. Maybe another service is flexible enough to accommodate small customizations.

Either way, hunting down the best service for the job or even building it yourself will take up some of your time. On occasion, you may throw up your hands after investigating service after service only to find that you really do just have to bite the bullet and build it yourself, or settle for a service that does most of what you want, but not everything.

The key is figuring out how much time you can allot for researching the options that are available, then implementing one of those options (or leaving some wiggle room for two if the first doesn’t work). It might be a good idea to establish some sort of cutoff date for the research and trying out various options since some people tend to get caught up in trying to force something to work, rather than shelving it and going on to another option.

Do You Have Enough Money For It?

Which is less expensive? Making use of an existing service, customizing a pre-built package, or building from scratch? This is where you will have to do some serious comparisons. Depending on what exactly you’re trying to do, any one of the options you have could end up being more or less expensive. It’s not usually very consistent, and is best taken on a case-by-case basis in order to get the most value for your buck.

Software licenses can sometimes get quite expensive. Sometimes it’s worth it to make that investment. Other times, it’s not. That’s where the monthly or yearly fee for using online services come in. This is especially handy if you only plan on using the software/service/feature for a short period of time. Even though it’s nice to own things outright, it’s not always cost effective.

Do You Want to Handle the Responsibility When it Breaks?

When something breaks in the world of tech, you usually have to do a mad scramble to diagnose the problem. Once it’s diagnosed, you realize that only half the battle is won. Next comes the part where you (try) to fix it. This whole process can take anywhere between a few minutes and several weeks depending on large number of factors.

Some people have no problem handling something when it breaks. Personally, I simply see it as a problem (and sometimes challenging one) that needs to be solved. Yet, there are always those few times when you bang your head against the wall and wish it was somebody else’s problem to deal with.

With utilizing an outside service, you aren’t necessarily responsible for all the nitty gritty technical details. This is especially useful if you’re dealing with something outside of your area of expertise. While it is nice for somebody else to be responsible for fixing the problem, on the other hand, that means you have little control over what exactly happens through the course of normal operation.

What this means is that you don’t often have control over upgrades, upgrade cycles, scheduled or unscheduled downtime, customizations, or when the service shuts down or goes out of business. Since the world of Web 2.0 is fairly volatile, there’s no telling what can sometimes happen–services tend to pop up and disappear left and right; often without a lot of advance warning. This isn’t meant to scare you off–it’s simply just one of those things to keep in the back of your mind when utilizing online services. In my personal experience, none of the services I have employed and am currently employing have vanished under my feet. But if the service does disappear, there are most likely several alternatives that you can turn to in a pinch.

The Last Word

There are many more things to consider when looking at a Do-It-Yourself project versus making use of a 3rd-party service, but these four points hit the largest and most significant factors to consider.

To get you started on your quest, should you like to actually see what is available in terms of online services, here’s a few lists (and listings of lists) that may prove to be a useful starting point for seeing what’s available. Remember, there’s much more out there than what is listed here…all you need to do is search for it.

(Originally published on pcmech.com)