Visiting an offshore training camp for programmers

I wrote this while sitting in a training camp Genghis Khan, a school for the rookie offshore programmers. The camp is located in the remote mountains of northern Mongolia. Many wannabe offshore developers come here for training. Since I am a popular personality among Mongol Java crowd, they let me sit in the class where Srini, the guru of offshoring was delivering the presentation called “Dealing with Overseas Employers 101 rdquo;. These are my notes from this class.

1. America is rich, we are poor. It “s not fair, they have to share.

2. In the beginning, their manager will try to scare you by promising that he “ll check up on the status of your assignments daily. Do not be afraid ndash; a status report is just a formality, and they “ll take whatever you write.

3. One of your major problems will be “what to write in status reports “. Never write “I could not do it rdquo; there. Americans like positive statements. For example, let “s say you “ve got an assignment to create a reusable component that will identify the number of failed database requests. You do not even have a clue what are they asking for.

The first week you spend on Google in hopeless attempts to find such component. The status report for the first week should read “Comparing various approaches of creating reusable db-failures component to find the most efficient and effective way for its development rdquo;. During the second week invent something similar. Hopefully, on the third week something more urgent will come up and you “ll get another assignment.

4. Be prepared to spend the first couple of weeks waiting for the logon id and password to your employer “s network. After obtaining these credentials, you “ll find out that you still don “t have access to a dozen of servers, which require Unix logon. Your remote manager will promise you to resolve it as soon as possible, but because of the service level agreements (aka SLA) with the Unix support team , you won “t get access for another week or so. Typically, it “ll take about a month just to get you connected.

5. Never say “I do not know rdquo;. Accept all assignments ndash; one of two things will happen ndash; either you “ll figure out how to complete the assignment, or it “ll get cancelled.

6. In conversations with your overseas teammates, always require detailed written specifications for each small program modification. Ignore their statements “I “d fix it myself faster than writing detailed specs for you rdquo;. They have no choice and must work with you to show that your team is useful.

7. Use time difference to your advantage. For example, if you want to send an email asking for some clarifications, do not send it in the moring, because you may get an immediate answer. Do it in the evening (your time zone), before leaving the office ndash; you “ll get the answer only next day.

8. If you have a choice, avoid fixed price projects. Hourly-based pay will allow to put a couple of extra hours here and there, and having a couple of extra rupees or rubles never hurts.

9. Experienced offshore programmers never try to obtain US working visa and to work onsite. If you do this, you “ll work a lot harder ndash; not worth the trip.

10. Always be polite ndash; it “ll get you far. Insert “Excuse me rdquo;, “Thank you rdquo;, “Yes sir rdquo; in every other sentence. Always smile – even during phone conversation. The he showed this movie about an offshore tech support.

11. Change your local employer every three months. You are gaining experience daily, and even if the new job offers just one percent of salary increase, go there. It “s a golden IT offshoring era ndash; use it while it lasts! Or as they say, it ‘s time to make a quick buck!

12. If you work in QA, keep a couple of bugs unreported till the very last date of the testing cycle. Report them at the end of this day. They ‘ll have an emergency meeting, production released will be postponed (no big deal) and you ‘ll be able to put more billable hours on this project. Repeat the same procedure at the end of each testing cycle. In computer science this is called recursion.

For some time I was speechless after hearing all these advices. Srini spent at least half an hour after the class answering specific questions from students. I also asked him, if he really believed in his teachings. He smiled to me and said, “Welcome to the real world, ma man! rdquo;

Will teach a one day intensive workshop at AjaxWorld 2007 Conference

My partner Victor Rasputnis and I will teach an intensive, one-day workshop called “Adobe Flex Developer Bootcamp ” at at AJAXWorld 2007 (see http://www.ajaxworld.com/) in New York in March. .

This hands-on workshop is intended for Web developers, designers and technical managers who want to learn how to build Rich Internet Application using Adobe Flex. Held on March 19, the day before the AJAXWorld Conference amp; Expo begins, Flex Developer Bootcamp is a hands-on workshop that is not offered anywhere else: during this day attendees will create two fully functional Web applications.

Pre-requisites: working knowledge of any object-oriented programming language. Bring your own laptop.

Here ‘s the detailed schedule of this workshop.

Using Google for translating texts

If you are learning a new language or just want to read some Web pages written in a foreign language, use Google.

Go to this Web site , copy/paste or type the text on the left, selet From-To languages and press the button. You ‘ll get an OK translation. But if you want to have some fun, do a reverse translation right after – copy/paste Google-translated text to the left box, revers the from-to languages and press the button.

You can even translate the entire Web page!

Google is my best friend. I have relations with Google at least fifty times a day. It never says no, it never usses this stupid argument like, “I had a bad day today and am very tired “. Can you imagine that only fifteen years ago we did not have neither Google nor cell phones?

How to write an article for the Information Week Magazine

Each week I receive printed version of Information Week magazine (most likely they “ll stop sending me the magazines, if they “ll run into this blog). Typically, I read every headline and one or two articles from each magazine. When you read the same publication long enough, you can see how they put their “analytical rdquo; articles together. Here “s an example of an article written by a not overly technical journalist: Web 2.0:Ingredients for a site makeover

Let me try to guess how this article was written. A journalist got an assignment, “Web 2.0, whatever this means, is hot. Write about it “. The journalist does not really know what to write, simple Google search does not help, so he contacts PR people of several IT firms. He calls to XYZ firm and says, “My name is so-and-so, I “m writing an article on Web 2.0. Can one of your Web 2.0 experts send me a one paragraph quote on the subject, and I “ll mention the XYZ name in my publication rdquo;. The XYZ PR person sends an internal email titled “We “ve got an opportunity to get quoted in Information Week rdquo;. S/he asks their technical people for a quote. Sure enough, someone will respond with opinion.

The writer gathers all received quotes, edit them to the best of his knowledge and put them in an order adding some glue to make a smooth read for consumption during morning commute or while waiting for an appointment in the receptionist “s area.

This would not be too bad if the author would be knowledgeable on the subject, which does not seem to be the case in this particular article. These are some of the quotes from the article that I did not like that much:

“AJAX hellip;is the ‘new new thing ‘ rdquo; ndash; is seven years old still new-new?

“deploy Ajax and its collection of technologies slowly rdquo; ndash; Ajax is a collection of techniques, not technologies.

“Ajax combines several programming tools and interfaces including JavaScript, dynamic HTML (DHTML), Extensible Markup Language (XML), cascading style sheets (CSS), and the Document Object Model (DOM). That collection of tools can help bring about cost reductions and functional improvements. rdquo; ndash; I “m not even sure what this was supposed to mean.

Yet another zero-info phrase: “You will be able to interact more easily and get value from those interactions, ” said Tony Karrer, the CEO of TechEmpower, a Web software development firm. “Also, you will be able to piece together solutions from free or inexpensive services. ”

Then (typical for Ajax articles) the author includes citations that scare/warn people that wrong implementation of AJAX can have bad results.

Want more? Translate this into English: “An interactive Web experience can be produced in any number of ways, including using Adobe ‘s Flash animation plug-ins and even Active X controls. rdquo;

Here “s another gem: “The new-style Web site isn ‘t just about fancy dancing icons, either. Spend some time thinking about what kinds of data you intend to have, and where it will reside. rdquo; I guess, this one aimed toward Java Applet “s dancing Duke.

Here “s a piece of glue to stitch two different citations: “Once you are finished coding, remember to check your work with any number of tools that are just a download away rdquo;.

Yet another piece of wisdom: “When looking for a Web consultant, know whom you are hiring. (See sidebar.) “Everybody with a computer, Photoshop, and an HTML tool such as Dreamweaver thinks they ‘re a Web developer, ” said Adams. “Very few are actually worth the money you are paying. ” The sidebar is as useless as the article itself.

An article should be either informational or entertaining. This one did not fall into any of these categories. After reading it, an IT manager from Alabama will think to himself, “I did not understand this Web 2.0 and RIA before, and now they “ve confused me even more. I “d rather stick to tried and true Cobol. Mary, please bring me the printouts from yesterday “s nightly batch job. rdquo;

What can go wrong when you fly from Paris

I love France and go there at least once a year. I also like Air France, but once in a while I hear this unpleasant announcement…The Air France flight # 1234 is operated by Delta Airlines. Delta ‘s service sucks. TV sucks. Flight attendants are old. Food sucks. After enjoying French food for a week, even a smell of Delta Air ‘s food makes me wanna puke. I never eat this junk – I buy food for the airplane in advance in Parisian grosseries.

During the last couple of years Delta is fighting bankruptcy. Finally, there is a buyer – US Airways . But when it rains, it pours. Delta was making many wrong decisions, and one of the recent one was a multi-million IT outsourcing deal with sharks from IBM. Recently I had a chance to work very close with an IT team from IBM Professional Services. I was not impressed. Years ago IBM was mainly a hardware/software company. It seems that they found a way to make easy money by selling highly overpriced consulting services. Now Delta can regret that they went into this engagement.

I ‘ll keep my fingers crossed – I really want Delta to stop screwing up my Paris after taste and disappear from my itineraries.

JBuilder 2007 – they must be crazy

It looks like Borland could not find a buyer for their IDE division, and they ‘ve released a new Eclipse-based version of Java IDE – JBuilder 2007. They will TRY TO SELL different version of this product, and the Enterprise Edition costs $1999 (?!). They must be crazy. For only two grand it offers “velocity with Visual EJB and web services GUIs, provides balance, enabling management of complex projects across locations with P2P and TeamInsight, and gives organizations confidence to develop with open source tools and plug-ins “. This is not even funny.

The only reason Joe Shmo, the CIO of an enterprise Java shop might purchase this product from Borlad is that Joe plays golf with one of the Borland Executives and wants to do him/her a favor. I personally do not even have time to try it even if they ‘d given it to me for free.

Borland used to produce the best Java IDE several years ago. But the world is different now. Get real guys.

Be positive!

When I arrive to Manhattan, I go through a number of people trying to give me a free newspaper. The most popular free papers in NYC are Metro and AM New York. Even though the papers are free , it ‘s still a sale process and everyone does it differently.

In the morning, people are in a rush – they want to get to their place of work ASAP, the do not need any interruptions. These street paper-givers are probably getting the lowest possible wage, but it ‘s interesting to see that regardless of what you sell, free newspaper or expensive diamonds, you have to achieve the ultimate goal – get attention of your potential customer. Some people are just standing with a boring look on their faces, and people who want the paper, take it from the seller ‘s hands. But there is this black woman, who made this boring job fun for herself and for people – she ‘s giving away her papers while dancing.

Do you say No to a woman who is dancing and smiling to you? Usually I don ‘t, but this morning I said, “No thank you. ” She smiled to me and said, “Even though you did not take my paper, Sir, have a great day! ” By saying this, she made my day.

This made me thinking about my last year visit to Russia. I have not been to this country for fifteen years, and people kept saying that it ‘s a very nice place for tourists with great museums, restaurants, etc. Well, I was not too impressed. As a matter of fact, I was disapointed by people ‘s attitude. For example, we are standing at the bus stop in Moscow waiting for the bus. This lady sells bus tickets in a booth right there. My wife asked her politely, “Excuse me, when the next bus is coming? “. She ‘s got an angry answer, “How am I supposed to know? “. Here ‘s another one. The main avenue in St. Petersburg – Nevsky Prospect. We are entering an ice cream cafe ($4 a portion of an ice cream and $2 for coffee). I ‘ve ordered a three scoop portion from the menu – banana, strawberry and vanilla. The waitress brings me a plate with three different scoops and places it on the table without saying a word. When I said that this is not what I ‘ve ordered, she answered “This is all we had in the kitchen “. Russians built nice buildings and restaurants, but it takes generations to make people smile to you and serve you if they are at work.

I prefer New York with that black dancing woman. Her positive attitude to a boring low-paid job makes the quality of her and many people ‘s life better.

New York? Forget about it!

During the last fifteen years I live and work in the USA. Actually this is wrong. I live and work in the Greater New York, which is not exactly America.

I “ve met this American girl more than fifteen years ago at one of the gatherings of young people drifting around the globe. I “ve never been to America back then, and she told me, “If your first American city will be New York, promise that you won “t judge about this country based on this city. America is different rdquo;.

Now I know that she “s right. NYC is a place were people work harder than in most of the other places on Earth. It “s a place where one hour commute is considered a good deal. It “s a place where movie stars are walking on the streets and people do not really care. Madonna have applied twice for an apartment in a coop building called Dacota. Madonna? Nah…The building management denied it. New York is a place were people of more than 100 of different nationalities live next to each other without any major conflicts. Why? Because people got used to the fact that there are different people, and not everyone has to look and think as themselves. Live and let live. This is not the case in America, say in Texas. These 100 nationalities would be always foreigners there. Texas does not like foreigners that much.

But the City of New York does not fight with segregation. If you do not feel like blending in with the rest of the population, you do not have to. In Chinatown people speak Chinese.

In Russian area called Brighton Beach, large portion of the population does not speak English and does not plan to do so. One of the comedians said that “people who live here think that they emigrated from Russia rdquo;. But technically they did not, because their mentality remained the same.

There is this joke, when two guys are talking to each other in Russian standing on the sidewalk of Brighton Beach Avenue. A car stops by and an native American is asking for direction in English hellip;They do not pay attention. He asks again. They keep talking to each other. The car took off, and one of these guys said to the other, “So, did his good English helped him? rdquo;

There are areas where black people live. Borough Park is for religious Jews. You do not have to blend in. Your kids can grow up among the other kids that look alike, speak the same language and have the same cultural roots.

Lots of people from India live in New York. I ‘ve learned that they have casts back there, and if you were born in a family with a particular last name, you are doomed to be whatever their cast allows them. Not in New York. In terms of education or career, Indian people can go as high as they want here.

Oh yeah, Bensonhurst and Staten Island are predominantly Italian areas. One block on 41st street is Japanese. One block on 46th is Brazilian.

Five years ago 19 animals from Saudi Arabia killed about three thousand New Yorkers. If any minority in their own country would do the same, this minority would sease to exist within a week. Not in New York. New Yorkers forgot about it. Almost. By the way,do you know how they spell “Forget about it? rdquo; Check this out: Fuhgeddaboudid!

When drive through Brooklyn toward the JFK airport, there is an official road sign at the border of Brooklyn and Queens:

Isn “t it something? Live and let live! What a country! No, what a city! Forget about it and Happy Thanksgiving!

Are IT hours become more flexible

JavaLobby runs a discussion on how flexible are the working hours for IT professionals these days.

Unless you are a pregnant woman or a single mom/dad, there is only one reason why employers offer you flexible hours: they can ‘t find anyone with these skills in their geographical area who is willing to work in the office during regular hours.

Employers are street smart – they won ‘t throw in an extra perk unless they absolutely have to. So here ‘s my advice: either get pregnant if you can, or be the first to learn new technologies. These new technlogies do not necessarily have to be mainstream. They may not have huge job market demand, but your skills in this technology has to be a lot better than the others ‘.

I run a consulting company with two partners, and one of them lives in Florida, which is not the best place for IT employment. But he does not like cold weather and always work for clients from home. Would the clients want him to be onsite every day? Sure! But they agree to this telecommuting mode just to have him on the project.

It ‘s easy to earn for a piece of bread in IT by just being a little better than average.

If you want to eat bread with butter, it ‘s not too difficult either – just be better than 70% of other progeammers with similar skills.

If you want to eat bread with butter and red caviar, beat the 80% of the competitors.

And to replace the red caviar with the black one, beat the 90%.

These formulas work only in the countries that have IT market – if programmers are not needed, well they are not needed no matter how good you are. In this case move to a different geografical area if you want to keep your trade.

To get to these caviar levels you have to sell your soul to THE Computer. Do not want to do this? I do not blame you.

This caviar sign reads “Life Accompished “