Giving career advices to friends: now and then

Last week, at the private party one programmer I know for years approached me and said, “I “m planning to enroll in your class at NYU next month rdquo;. I was surprised and asked, “Why? rdquo; This guy is a well rounded programmer employed by a large firm for years.

“I need more money rdquo;, he said.

Well, lots of people need more money, but only a small group of people is actually doing something about it…

A guy comes to a rabbi saying, “Our family is so poor, I dream of winning in the lottery. Can you ask God to gelp me? ”

The rabbi say, “OK, I ‘l ask God ”

In a month, the guy comes back to the rabbi and says, “Nothing changed, I ‘m still poor. Have you talked to God about me? ”

“I did, but have you bought a lottery ticket? ”

Anyway, this programmer has already earned my respect just for thinking about going back to school (not the same as going to school).

I answered, “Sure, will be happy to see you in class rdquo;. I “ll start teaching my fourth (already!) Adobe Flex evening class at NYU in October. But then I thought to myself, “Will my class help this person to achieve his goal? rdquo; The answer is, “I do not know rdquo;.

Now let “s go 10 years back in time. In the ninetieth, I was teaching PowerBuilder and Java and was absolutely sure that everyone has to be a programmer. Programming was super hot ten years ago. Just think about it, my students with absolutely different backgrounds (engineers, musicians, hairdressers) where often getting 2-3 offers after studying programming for six months.

I had a friend who was working in a restaurant, one block from home. He started washing dishes there, then became a waiter, then a cook and then a bartender. This was the time when I was giving the same advice to everyone, “Go to school and become a programmer. It “s a no brainer! rdquo; When I gave this advice to my cooking friend, he simply said, “Why? I work three days a week, one block from home, no pressure, and free food. Why should I become a programmer? rdquo;

He was the first guy that asked my “Why? rdquo; After that day I stopped suggesting programmer “s career to everything that moves. Just for the record, one year later my cooking friend came to my class and works as a programmer as we speak.

But it “s 2007, and the situation with employment is different for several reasons:

1. Ten years ago some smart people invented the Y2K problem. They made a career for themselves by spreading FUD and hiring like crazy huge teams (30-40 mainframe programmers on a projects was a norm) to save the mankind from the Y2K disaster.

2. Internet and dot com were flourishing and investors would pour the money into any startup that was able to present a business plan without spelling errors. Java ruled back then.

3. Outsourcing to India was not a major trend.

4. Americans just started to being afraid of going into software muddy waters. In some enterprises you could have seen teams with as many as 50% of programmers who were born in the USA. No kidding.

5.My past students were happy to stat their career with a $50K annual salary.

6. Knowledge of one (!) programming language and one(!) DBMS and playing a nice guy during the job interview was enough to get a job.

But the person who is about to enroll in my class next month is about to enter a lot more competitive world.

1. He needs a six figure income while hitting the ground running.

2. He needs to know about 10 programming languages and tools to secure a good job today.

3. He already has stable programming job, so motivation is kinda low.

4. I don “t know if this person will be able to find an extra four hours a day for studying.

5. On the positive note, outsourcing does not affect the six figure market that much. No excuses there

I just do not want to take any responsibility and promise success to anyone anymore. Yes, I still know how to teach well. Yes, I still can give an advice about what “s important to learn and what “s not. Yes, I still know how to prepare a person to a job interview. But I do not want to promise anything anyone any longer.

I “ll do my best, but you are on your own, my friend. If you won “t succeed in this career move, look in the mirror and say, “This is not the end of the world. I still have a job rdquo;. But if three years from now you “ll decide to try to make a move again, you know where to find me. I do not know what “s going to be hot three years from now, but I “ll master the next big thing in advance. Trust me on this one and welcome to the class.

Vibrator Dilemma

I “m not too shy when it comes to use analogies while writing about software. But this blog makes my writings look as if they “re written by a kindergarten boy. Comparing using code generators with vibrators is very fresh and original idea.

In the essence, the blog author is right ndash; people quickly become addicted to code generators and frameworks and can quickly forget how to write code when they are on their own. Recently we “ve demoed our code generator to a perspective client, and they “ve said, “We are very impressed with your code generator. Creating a CRUD rich Internet application in 5-10 minutes? Wow! But what if you guys are not around? We “ll get used to your code generator and what if something goes wrong? rdquo;

Isn “t it a vibrator situation? But this does not mean that you should not be using frameworks and generators. But use them smartly without forgetting about the hand job if you know what I mean. You can find my blog about new breed of framework coders over here . What a boring reading isn ‘t it?

Do you want your child to be a programmer? Part 2.

I do. Earlier this year I ‘ve blogged on this subject , but this subject conserns me a lot and and this is a version 2.0 of that blog.

I had this conversation with my colleague who is one of the top IT professionals I ‘ve ever met. He does not want his kids to become programmers.

When my older son Yuri was senior in high school, he said that he want to study classical animation in college. What would you say? My wife (she “s also a programmer), and I said, rdquo;OK, not everyone has to be a programmer. We already have two in our family rdquo;.

Now he “s graduated with bachelor degree in Fine Arts majoring in classic animation. Now he draws cartoons for various TV shows and creates animations for commercial Web sites using hand-drawing and Adobe Flash.

Things could have been so much easier if he ‘d chosen the IT career ndash; I could have helped him with every step he “d make. I know the IT industry inside out, I know the rules of the game, I could have taught him how to write a resume and prepare for the technical job interview, I know how to set work priorities while working on a software development project… But he ‘s a talented kid, who “s not interested in learning all this, and we decided to let him do what he likes.

Once in a while I approach Yuri asking if he “d like me to re-train him to be a programmer so he could have doubled his income. He rejects. I respect this as long as he pays his bills.

My younger son is an eighth grader, and I hope that he “ll decide to become a programmer.

My colleague ‘s argument was that 10 years from now all programming will be done in India anyway, and there is no reason to send your kid to a CS school. I absolutely do not agree with this. Animation industry does not have these outsourcing issues yet, but my older son had really tough times finding his first job. His friends, who have graduated with CS degrees, did not have any problems finding well paid jobs right off the college.

In terms of return on investments, I do not think that there are too many professions that would pay annual salary of $50K to fresh graduates of a second-tier college. And if you hold BS in Computer Science from one of the well known schools, your first salary will be $70K or more.

No, the low cost labor from India will not change the IT landscape in ten years. In many cases low cost means low quality.

“Yakov, come on, we are paying only $30K for a team lead in Bangalore! rdquo;

“Mary, I “d love to check the damage to your budget by the end of the project. Most likely, it “ll run a lot longer than expected, and the cost will be A LOT higher than was expected. rdquo;

The real cost of the outsourced projects is the best kept secret. Good programmers in India are already demanding higher rates, and this trend will continue. We “ll talk about outsourcing a bit later in this book.

I won ‘t push my younger son into software engineering, but will be happy if he decides to become an IT professional.

Sony plus Vista equals Catch-22

When I ordered my Sony VAIO laptop back in January, its spec listed Windows XP as an OS. The box arrived on Feb 1 with Microsoft Vista. This new OS looked nice from the GUI perspective, and I decided to keep it, which was a mistake in the first place. Pretty quickly I “ve installed lots of software, and started to experience compatibility issues with various third-party programs. Vista was too young and the vendors were not in a hurry with updating their software for this new OS.

More importantly, Vista consumes lots of system resources, and its transparent and cool graphics hurts the performance of your system. I knew that I “d be better of replacing Vista with Windows XP, but just did not want to spend a day reconfiguring drivers and reinstalling software.

About a month ago I said to myself, “Enough is enough. I do not see any compelling reason to have Vista, let me get rid of it. rdquo; I “ve formatted hard disk, installed XP, went to Sony “s Web site, found all the names of the drivers, googled them up and installed them.

Boy, I was happy! Windows XP is much fasted on the same hardware than Vista. I did not know that there was a time bomb there hellip; Yesterday, I went to a client to make some presentation. When I “ve attached the projector, it did not recognize my laptop ndash; no signal. Pressing Fn-F7 did not help. They brought another projector ndash; did not work either. Tried another laptop ndash; projector worked just fine.

Now I “m having issues with some hot keys (Fn-F7) that do not work. I called Sony Tech support, and they answered, “This laptop was build for Vista, and we do not have any utilities to make your hot keys work with XP. Reinstall Vista, and we “ll be happy to support you as per the warranty. rdquo;

“But I did not order Vista in the first place, your VAIO just came with it! rdquo;

“You should have returned it back to us rdquo;

End of story.

Lesson learned:

1. Never ever use Vista ndash; it just not worth it.

2. You lose your Sony warranty the minute you install another OS

3. If you are professional software developer, do not purchase Sony Vaio.

Why people in the USA will smile even more than before

Last year I wrote a blog called “Why people in the USA are polite and smiley rdquo;. This is part two to that blog.

This year the real estate bubble burst, and there are about 500,000 houses in a pre- foreclosure state. These people are a couple of months behind on their mortgage payments. These are the people who abused the bubble. They were thinking that purchasing an investment property with zero down and no money on your bank account is OK. The house was expected to magically appreciate in value, then an easy sale with lots of free cash.

Other people have refinanced their primary residencies several times extracting the cash from the equity and purchasing luxury items that they could not afford before.

Now, many of them can “t sell these houses even for 80% of the purchase price. These people put themselves in a really bad situation. What do they have to do now? Declaring a bankruptcy does not get you off the hook as it did in the past. They have to get a second job and smile to you even wider than before. Sad but true.

Is JAVA better than SUNW?

As of this coming Monday the stock symbol for Sun Microsystems will be changes from SUNW to JAVA (see http://www.sun.com/aboutsun/pr/2007-08/sunflash.20070823.1.xml ). “The Java brand and technology have evolved to be among the most pervasive on the internet, yielding extraordinary awareness for Sun and opportunity for the community that leverages it, ” said Jonathan Schwartz, president and CEO of Sun.

This is an attempt to bring more attention to investors that just love Java as the programming language. Individual software engineers having some extra cash to invest (mainly the impulse buyers who do not have time to learn the rules of gambling on stock market) will quickly purchase a couple of hundred of JAVA shares. Sounds cool, and I personally will also do this just to show my respect to a programming language that feeds my family nicely during the past ten years.

But this also reminds me these fund raiser events that invite celebrities from the past. Mohammad Ali will be there hellip;let me go and support Joe Smith, the mayoral candidate.

During the last ten years Sun Microsystems and Java experienced very similar evolution. Go to Google Finance and do a search on SUNW (http://finance.google.com/finance?q=sunw ) or, I guess JAVA now. Here “s the 10-year stock price chart of SUNW.

Forget for a second that you are looking at the performance of a publicly traded company. Don “t you think that it looks very similar to the evolution and popularity of Java, the programming language? 1998-2001 were the best years of this language. It was very exciting time. Sixty bucks a share! After that, speaking financial language, Java has found it support at five bucks a share and not much is going on in this camp.

Do not get me wrong, Java is tried and true solutions in the enterprise and mobile space. Millions developers will keep using it as a mainstream language for years to come. But I “d love to see something more exciting routine programming in a heavy-weight environment. The fact that Java has overlooked a huge Internet consumer “s market (Java Applets is a last century solution) hurts. Recently announced JavaFX scripting language does not impress me so far. The fact that it “s build on top of Swing libraries does not seem to be a right decision. JavaFX should be build on a new set of GUI components. Let “s wait for another year though.. .

Carrying over megabytes of unused libraries from one Java version to another do not help. I do not support the moves to make the language syntax even more complex (i.e. introduction of closures in Java 8). IMO, using a smaller and more agile JVM as a runtime engine for various programming languages may be a way to go. Upcoming Consumer JRE and Java Kernel may help in reviving the popularity of Java.

Having said all this, I wish all the best to Sun Microsystems and to Java language. Let “s see if IBM will change their stock symbol to COBOL (actually IBM is listed on NYSE that does not allow more than three symbols for their securities).

Here ‘s another thought – does it mean that Sun is planning to get rid of their hardware business?

Computers are getting more expensive and slower

When I came to America fifteen years ago and saw a PC with 286 processor and 40MB hard disk in my friend “s house, I told him, “You are set for life with this PC rdquo;. I came from the country, where I had the same PC being a lead programmer in one of the research institutes. Boy, I was wrong!

PC “s and laptops are getting much faster and every new Windows OS runs a lot slower. Two years ago I “ve had a 1.7Ghz/1Gb RAM single CPU laptop with Windows XP, this year I use 1.7 core Duo 1.7Ghz/2Gb laptop with Vista, and it “s a lot slower than the old laptop. I “m constantly in a time crunch and just do not have time to erase Vista and install XP. Actually I might be better off installing Windows 2000. What “s wrong with this?

Independent software vendors do not bother with memory optimization – the memory is cheap and they force consumers buying more memory, which does not help because a) max memory size in your laptop is limited and b)users run several programs at the same time, which leads to memory swap and slows down your work.

People who create Web applications assume that their user are sitting on T1 or cable modems alone. But when kids come from schools, your connection speed drops to tremendously and becomes comparable to the dial up modems from the past century.

Internet is s-l-o-w-w-w-w-w-w…

Should I switch to a different OS? I “m not ready yet to purchase Mac notebook. It “d solve some problems but introduce others. It “s like driving a red convertible Mercedes trying to hide from a mid-life crisis or an exhausting divorce. Both both the convertible Mercedes and Mac are good as a second “cool rdquo; gadget.

I guess, I “ll be able to browse the Internet and check my emails faster if I “ll install Windows 2000 on my laptop. Just a thought…

Diversity or the black and white thingy

America is a multi-national country. It “s one of the richest countries in the world. Everyone has food here. Yes, some people buy chicken legs for fifty cents a pound, while others routinely enjoy wild salmon at $25 a pound. But all people have food here.

People have places to live. Yes, some people live in mobile homes or in poorly maintained “projects rdquo;, there is a small number of homeless people (many of them have chosen this lifestyle themselves) while other live in mansions. But people have places to live.

People have work in America. Yes, some people never worked here, but even they collect money from the government and many have medical insurance. Every person in reasonable health who wants to work has work in America.

That “s why about two hundred nationalities peacefully live together in New York City. America talks about diversity. Large companies create diversity programs where people can get familiar with traditions of people of different descent, race and culture. In all kinds of application forms there is an optional question about your race. Affirmative actions require federal organizations (some large firms have adopted this too) to hire minorities (read black) people substantially lowering their skills requirements for the job. But no matter what you say about diversity, there is a slow-burning conflict between black and white people.

Paul McCartney sings, “Ebony and Ivory live together in perfect harmony side by side on my piano keyboard, Oh lord, why don ‘t we rdquo;. The piano keys live in harmony because they are pretty limited in their actions.

The law enforcement works well in America too, so different people live in some harmony here. But all these diversity programs do not make people equal, and will never do for a simple reason ndash; people are different.

Black people claim that white people do not like them because their skin is black. This is nonsense. If white people do not like blacks, it “s because of this “Yo, man rdquo; culture, it “s because of generations of black people living on welfare without any intention to get a job, it “s because of the fact that the most dangerous and poorly maintained areas in New York City are populated by predominantly black people. Look at the prisons ” population. There is an old joke, rdquo;Three men are sitting in the car ndash; one black, one Latino, who “s the third one? The answer: policeman rdquo;.

At this point someone can remind about the black slavery and not equal opportunities for black and white kids. Yes, not everyone was born in a family with a similar past, wealth and culture. But everyone has a shot in America. I “ve had a chance to work with brilliant black software engineers. Trust me, the color of their skin did not matter to me and never will (as a matter of fact, many Indian programmers have darker skins than some African-Americans). We have not the same but similar cultures, education and we have a lot to talk about. These black people took their shots, and I do not think that 150-year old slavery really matters to them.

Well, sometimes the slavery reasoning becomes handy. For example, Johnnie Cochran successfully played this card during the murder case for O.J. Simpson.

Take your shot. Stop whining about slavery. Pull up your pants. Zip them up. Take off your golden chains. Work hard. Study. And you “ll be all you can be. I came to America as an adult with no money, and English is my second language. I did not get a penny from the US government. I took my shot. I do not complain.

Carcast #8: Beer, Flex and Shakira

The audio of the carcast #8 can be downloaded from here (17Mb).

1. I “ve started a new users group on RIA in New York at NYSIA

http://nysia.org/events/SIGpgs/sigvil.cfm?sid=40

The first meeting will take place on Oct 9:

http://nysia.org/events/calendar_disp.cfm?me_id=566

2. Flex Developers in London have created a Flex User Group.The agenda is not clear other than who “s buying…

http://ria.meetup.com/7/calendar/6042223/

3. This is what I call cool – UBS Trading Floor

4. I wish I did not understand English hellip;

I like the way Shakira looks and performs , but the lyrics hellip;

I love you for free and I ‘m not your mother

But you don ‘t even bother hellip;

Next to her cheap silicon I look minimal

That ‘s why in front of your eyes I ‘m invisible

But you gotta know small things also count hellip;

5. Last week I “ve purchased an interesting called Founders at Work. A couple of sample chapters are available online

6. Yakov, stop whining about morning commute. Some of your fellow programmers would love to switch with you

7. My latest gadgets for improving the quality of commute:

a) The FM transmitter for the car: RocketFM

b) Tripp Lite Power inverter

Free giveaways at the RealWorld Java seminar

This Monday, I “ll be presenting at the RealWorld Java seminar in New York City. I “ll be showing some applications demonstrating how Adobe Flex and Java can be easily integrated and complementing each other. After the presentation I “ll be giving away three free licenses of our Flex Productivity Pack that includes the following Eclipse plugins: Clear Data Builder, Fx2Ant, Fx2Doc and Log4Fx ($846 value each, see product descriptions below or visit http://www.myflex.org for more details).

Clear Data Builder ndash; this Eclipse plugin is a commercial version of an open source DaoFlex code generator. It takes away complexity of writing Java code for communication with relational databases. All Java and Flex artifacts are created automatically based on your SQL Select statement, including creation and deployment of the Flex FDS Web Application. You do not have to know Java to create end-to-end Flex-Java-Database CRUD application in minutes.

Fx2Ant ndash; this Eclipse plugin instantly translates the settings of your existing Flex Projects into ANT build scripts, so that you can build your modules, libraries and applications outside of Eclipse and create larger builds integrated with J2EE projects. What takes weeks on even a mid-size project, can be done in seconds with Fx2Ant. While generating the build script, Fx2Ant applies additional size-optimizing echniques that help to modularize development and cut the download time of enterprise Flex applications.

Fx2Doc ndash;this plugin allows you quickly build and organize the documentation for your project. You can upload your documentation to the corporate or the community server, so that it becomes shared by other developers.

Log4Fx ndash; this component provides a number of configurable implementations of log targets and an interactive control panel. You can target your log information to Eclipse IDE, local or remote server and other destinations.

We “ll also run a full day Flex bootcamp there and our company (Farata Systems) will have a table in the vendor “s area. Stop by if you “d like to learn more about how to start your next Flex/Java project from the right foot.