Domestic programmers and their Unification
It is from old onwards, some domestic programmers have been calling for unification, or at least the formation of some sort of trade group providing advocacy on behalf of domestic programmers. Here, the purpose of such groups is to protect domestic programmers from exploitative corporations, corrupt governments, and job-stealing foreign programmers. And this kind of unity is something helpful for them.
The protection and security is the reason for this movement. And those who advocate unification or trade group organizations are accepting the "programmers as cogs" principle, and then asserting that domestic cogs are special and should receive contractually obligated rights and privileges legally.
Practically, a programmer's union is meaningless but a trade group makes sense, but rather than advocating protectionist policies, a useful trade group ought to focus on helping its members differentiate themselves in a free market with training, certifications, and other (somewhat) useful benefits. Both the IEEE and ACM provide these benefits in some way.
Education
One of the form of segregation is on the basis of education but it is not that much problematic. Education can take many forms: college, certification classes, or self-edification projects undertaken to learn a new technology or product. In any case, the underlying theme is the constant learning and development of new knowledge and skills. And these skills should be developed.
An industrious engineer will realize that education must be on-going, regardless of economic climate. This mindset of individual responsibility is extremely important for those who wish to run ahead of the pack. When considering education, you needn't limit yourself to technology, but rather you should focus on that which is interesting or exciting, be it a book on C#, a security certification, or a master's degree in economics. By constantly growing and developing, your value is increased, as are your horizons broadened, and perspectives expanded.
Protectionist policies
The disappointed programmer labor movement often calls for various forms of protectionist policies. From the almost practical (though utterly indefensible) tax penalties for use of offshore coders, to the utterly absurd classification of offshore coding or the code it produces as an import subject to tariffs and taxes, the idea is to distort the free market calculus that makes offshore coding cost effective, until offshore coding becomes utterly unjustifiable from a financial perspective.
Actually, advocacy of protectionist policies is attempting to cure the symptom, not the worries. If profit-motivated corporations are moving programmer jobs offshore, and domestic programmers don't like it, they are better served focusing on competing fairly with their offshore counterparts and articulating their advantages over offshore coders and this is what needed.
Remedy
Here are some strategies that are sense giving, practical, and don't involve punitive market deformation:
1. The important strategy in dealing with the offshore coding trend is to adopt a productive attitude. Those who feel as though corporations moving jobs offshore are somehow wronging their employees, or that governments allowing offshore coding to continue are betraying their obligations to their citizens, utterly miss the point.
2. A realization that as an actor in a free market economy, market forces determine one's success or failure as surely as they do a large corporation. That is, each individual must realize that she is in competition with other individuals pursuing the same opportunity, and upon that realization, do what is necessary to distinguish herself from the competition.
3. It is not digestive for many programmers. They became programmers because the business stuff was of no interest to them. Unfortunately, there is no choice; actors in a free market must take responsibility for their own success or failure, or face financial ruin. This point bears repeating: Fundamentally, each individual must take personal responsibility for his or her own success, and it must be ensured and scrutinized.
Segregation
A debate of the pros and cons of offshore coding is outlined in the Economic Perspective section. The industrious reader will likely see numerous opportunities to differentiate himself from offshore coders, in such a way as can be clearly articulated to management. This type of thinking is mandatory in a free market system. The person should catch arise on getting the chances.
Few executives and managers may be unconvinced by a particular value proposition. They may be reading breathless articles in trendy business magazines about how their colleagues are saving millions by outsourcing everything except janitorial services to India. However, if they fail to consider all of the caveats above, and fail to recognize a superior value proposition, they likely will be rewarded accordingly. Their competitors may not be so blinded, and may represent another opportunity for the industrious and differentiated programmer. It should not be practiced.
Use the opportunity
The advantages of this approach are many:
1. Relative autonomy in terms of work style, hours, etc, although a startup typically requires absurd amounts of work.
2. Complete control over business and technology; the only stupid fads you suffer are those you embrace yourself.
3. Potential for substantial wealth; as a founder, you will typically hold a substantial equity stake, and stand to benefit financially if your company is successful.
4. The profound personal satisfaction of controlling one's own destiny, for better or for worse.
5. Appealing tax perks, like righting off equipment, education, business travel, etc.
To be sure, many readers will not have this option at all, for reasons of financial position, familial obligations, etc. For those who can, however, starting one's own company must be considered.
Another option for those of you readers who have been recently laid off, and have a few months' savings before they have to work again, might be to form your own company, to pursue an idea for a product or technology, or simply to learn about some new technologies or products. With the help of an accountant, buy whatever technology items you need through your business, including education or certification if necessary. You might also consider drumming up short-term contract work, run through your company.
While shopping around for your next job, continue to work on your company's project, learning and growing all the while.
Further, should your quest for work drag on, your resume will nonetheless quite honestly reflect contiguous employment, under the banner of your company. TNot only does this approach allow you the freedom to develop new skills while between jobs, but it exposes you to the adventurous life of an entrepreneur, without all the attendant risks. his is also a great way to develop professional experience in a technology or product which you haven't otherwise had the opportunity to apply.
Regardless of the approach you take, you are well-advised to at least consider the enterpreneurial route. It is a road fraught with peril, but the potential rewards (financial and otherwise) are substantial.
Proceed with the function
By focusing on these niche areas, a domestic programmer may find areas where offshore coding does not offer a compelling value proposition. Taking into consideration the offshore coding caveats above, the industrious reader will realize that offshore coding is completely impractical for a number of scenarios, a few of which are examined below.
Easier projects
As any veteran of a top-heavy process knows, heavy process is completely inappropriate for small development teams, as the overhead is not commensurate with any positive gains.
Indeed, small teams often benefit from more ad-hoc, "real time" processes and quasi-processes such as XP and other agile methods. The more structured and process-heavy a project, the easier it is to treat individual actors as cogs. It should come as no surprise, then, that offshore coding firms are often very adept at software development process, such as CMM. Being as they are more organic and fluid, attempting to use these processes while outsourcing development to offshore coders is very likely to end in an amusing yet spectacular failure. Therefore, domestic programmers may focus more on small development teams, which are often encountered within startups, or small business units within larger organizations.
Policy before the business
Factors like social security, unemployment and worker's compensation insurance, various OSHA and Department of Labor requirements, and state and local regulations all burden US employers. Other developed countries impose similar burdens. Costs of benefits, like soaring health insurance costs, only add to the load. A number of factors determine an employee's cost to an employer, only one of which is salary. Further, while developed countries for the most part have clearly defined commercial laws, the patent, trademark, and copyright laws in the US and much of Europe are largely broken from a technology perspective, leading to unnecessary and expensive use of patent attorneys in defensive patenting strategies, and attacking and defending absurd patents as a means of competitive pressure.
From the draconian and incoherent US Securities and Exchange Commission, to the rapacious taxes foisted on domestic corporations to punish them for their success, businesses are often treated as second-class citizens by national and local governments that fail to recognize the source of their own economic prosperity. Finally, as much as anti-globalization and socialist activists claim the industrialized world governments are bought and paid for by sinister mega-corporations, the reality is that government has always had a love-hate relationship with business.
If citizens of the US or Europe are displeased that this business calculus points to India as a better host, a wise recourse would be to focus on making the US and Europe more appealing, rather than flogging the evil corporations until they once again prefer their domestic tormentors to India or China. All of these factors together must be considered when a corporation is evaluating its costs of doing business in a particular country.
Conclusion
Remember, offshore coding becomes appealing as one reaches a certain economy of scale, which is well above three programmers. By focusing one's energies on startup opportunities, offshore coding is less likely to pose a threat to one's ambitions. For many of the same reasons specified in the previous section, early-stage startups are usually not good candidates for offshore coding. Seldom does one read about a 12-man startup announcing it has outsourced fifty percent of its three-person development staff to Bangalore.