Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've recently completed a degree in multimedia education and would like to venture further into the development side of it. I've passed SJCP 6, and about to do MCTS certifications on Windows Application Development, Web Development, and data access. I am doing these certifications because I have no degree in IT.

I enjoy the development side of it, learning many things about software development process, and reading books such as, Code Complete, Effective Java, and other Head First Series.

At the same time, I am conscious of my own ability being average-than-everyone else at my age, and the uprising of outsourcing companies such as this, and this.

While I enjoy coding and problem solving, my future career in software development seems bleak when companies are outsourcing to Tajikistan, Hyderabad, China, etc., when rates are cheaper then where I currently live.

My question is, are there any IT-based outsourcing-resistant certifications that I can do?

share|improve this question
add comment

closed as not constructive by World Engineer, Walter, Glenn Nelson, gnat, thorsten müller Jan 21 '13 at 8:25

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 4 down vote accepted

Certifications for these type of skills are not (and cannot be) outsource resiliant. Hard technical skills are not outsource resiliant either. The only edge that you have over an external developer is your location and soft skills.

The key skill to work on if you want to remain valuable in the face of outsourcing is communication. Being an on-site or local resource you can provide significant value by giving rapid feedback, in depth consulting, face-to-face communication and so on. Being conversant in local language and custom you are able to give top-level communication and really understand the business needs.

Any code monkey can spit out a webpage or application - the key is spitting out a webpage or application that meets the need of the customer.

What I would recommend is that you improve your English skills and spend as much time as possible in the requirements gathering side of your work. I can see from your question that your English is good but not great. High quality language skills can lead to high quality communication.

share|improve this answer
Thanks for the insight. I am still struggling with English, but I am learning everyday to improve it (by editing the original post to add clarity). –  ikel Jan 21 '13 at 1:14
add comment

You're not going to find a certification for skills that require you to be present (that's not really what certifications do), but you could certainly find a job that requires you to be physically present.

Typically these jobs require a lot of inter-personal communication. Many people find it difficult to communicate with someone who isn't physically present, so a job working with that type of person is highly unlikely to be outsourced to some cheaper developer.

In fact, an interesting job that allows you to arbitrage these two worlds works something like this: you work with local people finding out their requirements, building a project design, and dealing with their concerns. Your skills as a developer allow you to understand what's possible and how much work it will entail, as well as guide them to a reasonable solution that can be built on schedule and on budget.

You then outsource the actual development to whomever you like. This much you make clear in your contract with the client; you're doing the outsourcing instead of them because you are comfortable with it and they are not; you understand technical terms and can clearly communicate requirements to the developers, while they cannot. It takes a programmer to tell the difference between good developers and bad ones, which gives you a distinct advantage with respect to building/finding a development team.

Once the work is done, you review it for accuracy and quality and go over all the details in-person with the client. They pay you, you pay the developers, and you keep the difference.

I've done this type of thing several times in the past; it works.

share|improve this answer
Thanks. Your suggestion is similar to Kirk's answer, to lean towards the software requirement or management side. Well, yes, once you are clear of your objectives, outsourcing can be used to accomplish the tasks in an elegant way. Clever! –  ikel Jan 21 '13 at 3:20
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.