Java Evangelist as a career?

In a perfect world, software developers would work only on interesting projects in great teams. But in a real life, people try to find a balance between interesting and well paid jobs. In my experience, the best paid jobs are the least interesting. I can recollect only one exception to this rule in my career.

The job I enjoy the most is teaching software languages. People say, I do it well, and I really like these moments when initially blank eyes of students (say, when I start explaining Java multi-threading) become again shiny and understanding.

Beside teaching, another appealing to me profession is Java Evangelist. It’s somewhat similar to working as a trainer, and these people also travel a lot explaining why “Java does you body good “.

Wikipedia states the following: “For many groups, a church planter is called an evangelist. Sometimes, the regular minister of a church is called an evangelist in a way that other groups would typically use the term “.

While a pastor (or a rabbi) explains the Bible (or Torah), and address daily issues of their followers, Java evangelists explain JLS, demo and recommend new and existing Java-related technologies (often performing evangelistic preaching of the products of their employers).

I “d be happy to evangelize Java , but can this be a long lasting career? Java is already 10 years old and has more that 4 millions of followers. Do we need more? What “s an average “lifespan ” of any software evangelist?

If you tried this type of career, I “d appreciate your input.

Microsoft Java &”Evangelist&” position opening

Here’s a quite surprising ad by Microsoft:

“So, you think Java is a pretty awesome way to write portable code,

do you? We do too. Microsoft is looking for a Java evangelist –

someone to tell the world all about the cool Java work that we are

doing, and how to take advantage of it. The person we’re looking

for is technical, articulate, and excited about Java. A Java

evangelist explains the benefits of Java to developers, marketers,

and company presidents, so s/he needs to be comfortable explaining

technology to technical and non-technical people alike. The Java

evangelist also champions the Java developer within Microsoft –

making sure that systems and tools include the features that

developers need, so s/he must understand development issues and be

able to make a compelling argument. The Java evangelist can be

based in either the SF Bay Area or Redmond, WA. Of course, Java

development experience is a must, and knowing a bit about COM

wouldn’t hurt either.

Interested? Email your resume to elizabm@microsoft.com in ASCII

format. Be sure to include a URL for a site showing off your best

work. Please indicate your level of interest. No phone calls

please. Microsoft is an equal opportunity employer and supports

workforce diversity. ”

Here’s the link to the original ad:

http://www.petting-zoo.net/~deadbeef/archive/1463.html

BTW, this ad was published about ten years ago

Whats the next big thing in Java?

During my rather long software development career I made several switches from one programming language to another. The last one was back in 1998 when I switched from PowerBuilder to Java. Since Java is much more than just a language, it kept me busy all these years. I was learning newly born technologies like Servlets, JSP, EJB, JMS hellip;I “m always closely watching what “s happening in the Java community, buying (and reading!) books on new frameworks (Spring, Hibernate hellip;), programming and design principles (OOD, AOP, SOA, ESB hellip;), buzzword techniques (AJAX), open source tools, etc.

Unfortunately, I have to admit that I do not see any new “revolutionary thingy rdquo; that would get me really exited. I “m not leaving Java because there is nowhere to go. All these threats that some particular language will kill Java can not be taken seriously. It “s like saying that Italian language will kill English. Italian songs sound great, and let them be heard forever, but the role of the English is much bigger than just singing.

At first, AJAX sounded like an interesting technology. But after giving it a closer look, I put it aside. People are filled with joy seeing how the content of a web page changes after each key stroke. But the price is way too high for achieving this functionality (at least today). First, I do not want to become a JavaScript expert, second, if you “ll show your users one Web page with this new functionality, they “ll force you to change all of them (try to explain them that this is not as easy as they think!) and this will become you primary job, your server performance will suffer (the number of the server request will grow tremendously), and on, and on, and on. What “s good for Google is not always good for business-oriented software.

IMHO, Java need a major breakthrough in the front end (GUI) area, NetBeans (Matisse) is a step in the right direction, but they still have a long way to go. Adobe has some good front end tools (Flash and Flex from Macromedia), and using them with Java in the back might be a good idea.

AOP should have a good future.

Anything else? What “s your take on this? Do you see the next big thing in Java?

When .Net loves .java

Two New Jersey residents, Don Demsak (Microsoft Most Valuable Professional) and myself (Java Champion) are planning a fun event: joined code camp. This is how we see it.

Place: Jersey City, New Jersey, USA

Date: First weekend of June 2006, Jersey City, NJ

Fee to attend: none

Speaker’s honorariums: see above

Number of attendees: from two to three hundreds (50% of Java and 50% of .Net developers). We’ll reserve a dozen of seats for guests from others states/countries.

Presenters: We’ll have a mix of well-known and not-known-just-yet speakers.

Call for papers: If you “d like to present on Java, .Net or any other technology that bridges these two, please send us an abstract, short BIO and your contact information.

Presentations: While there will be some pure Java or .Net talks, at least 50% of the presentations should be interesting for both camps. For example, such talks as multi-threading or messaging will be delivered by two presenters (during the same talk) showing both Java and .Net versions.

Warning: Attendees making statements like “Java sucks ” or “.Net is POJ ” will be kicked out from this event and their parents will get a written notice of misbehavior by mail.

After the event: We “ll hit the bars located in the area (you must be over 21). Disclaimer: drinking alcohol during pregnancy can cause physical and mental birth defects.

Registration: Details will be announced in March 2006. Stay tuned.

Contacts:

Yakov “s blog: yakovfain.javadevelopersjournal.com

Don “s blog: donxml.com

Found an HR gem about outsourcing

I was working on my article ( “What CIOs should know about outsourcing rdquo;) and found a white paper written by some clerk from Human Resources.

Christina Savich teaches that computer programming skills do not bring any value to corporations, can be easily obtained and disposed. She defines commodity skills as follows:

“A nice telephone voice, typing, riveting, and even highly technical skills, like air conditioner maintenance, or computer programming are commodity skills. They are generic capabilities, equally valuable to all companies, and increasingly easy to obtain. rdquo;

I do not what to reproduce the entire article here, but I have a feeling that Christina “s message is that computer programmers can be bought by dozens (or by weight) when needed, easily disposed when not needed and re-purchased again.

Based on her another statement, marketing professionals are more important to the business:

rdquo;There are also, individuals comprising a company’s workforce, that the customers care about as individuals, and that are difficult to replace, like the inspired marketing professionals, and then there are individuals, that have a great impact on the product, like the talented graphic artist, but are anonymous to the customer and easy to replace. rdquo;

Some managers call their developers “resources “. Do they even treat them as people ? I’ve heard one of the managers said the following phrase, “A father of one of my resources died so this resource will not be available for a week “. Could it get any worse? Actually it could, for example, “An ancestor of one of my resources died so this resource temporarily will not perform its functions “.

IMHO, articles like this one cause serious damage to the perception of computer programming skills. Basically Christina treats computer programmers like dirt. I wonder what “s your take on Christina’s article? Did I get her message correctly (English is my second language)?

Why Open Source training is so expensive?

I decided to sign up for JBoss, Hibernate and Spring training classes and checked the prices offered by the vendors of these products.

Let “s go to Hibernate.org.

Four days of JBoss training would cost me:

in New York $3250, in London 2150 pounds, in Paris 2500 euros,

I found the great deal: in Cape Town the early bird tuition is only $1600 for four days of JBoss! Check the prices for the air tickets, and kill two birds with one stone: visit South Africa and learn the basics of JBoss.

Two days of Hibernate training would cost me:

in New York $2250, in London on January 24-25 it “s $2600!!! Hey guys, come to New York. Everything is dirt cheap in America! The English language will be a little weird to your ear, but you “ll visit New York in addition to learning Hibernate!

In Paris, they need three days to teach Hibernate and charge 1495 euros for this. Are Parisians slow learners? Just kidding, I love Paris!

Now let “s look at the “Spring Framework from the source rdquo; at springframework.com.

Four days of training in London in February will cost you 1990 pounds. In Norway, the same course (after converting the currency) will cost you $3667. But if you “ll register by January 20, you “ll save $600. Sweet, isn “t it?

So $9000 and two weeks later, I can become a junior JBoss, Hibernate and Spring developer. I wonder how much such training costs in India? I wonder if I’ll be better off flying for two weeks to India to learn these tools and visit this beautiful country? Do not be surprised if one day such trips for software training will become a routine procedure.

These “open source rdquo; prices are ridiculous. I wonder what “s the rationale behind setting the prices that high?

Next Meeting of the Princeton JUG

Our next meeting will take place on January 24 at 7PM at the same

place (at Infragistics).

Elliotte Rusty Harold will present on the following:

RSS, Atom, OPML, and All That: a Course for Developers

This is more of an XML than Java specific topic, but is a really hot and

interesting for any Web developer. Elliotte is an XML expert and

author of multiple books

Here’s an abstract:

RSS, Atom, OPML, and All That: a Course for Developers

XML based syndication is moving from its foundations in weblogs to

unexpected arenas: source code control systems, audio narrowcasts,

e-mail, bug tracking, stock tickers, and more. News readers like

Vienna, NetNewsWire, RSSOwl, and Newsgator are replacing classic web browsers

for many uses. This session explores the fundamental technologies

underlying this explosion of content: the various versions of RSS,

OPML, Atom, and the Atom Publishing Protocol. Learn the tricks and techniques

for integrating these XML applications into your products as both

clients and servers.

As usual, I’ll be raffling off some free books.

Live in New Jersey and not a member of the Princeton JUG? Big mistake. Huge 🙂

Start fixing it by joining our mailing list at http://groups.yahoo.com/group/PrincetonJUG/

When computer programming will die out as a trade in the USA?

Several years ago I went to a toy store with my 7 year old son. He picked up a toy and noticed a stamp: “Made in the USA rdquo;. He was really surprised and asked, “Daddy, I thought all toys were made in China rdquo;. I “m sure twenty years from now most people will expect to see “Made in India rdquo; on every software box. And the sad thing is that posts like “The perils of Java Schools rdquo; help this to happen even sooner. Joel states that the Java language is too simple to be used as a tool for weeding out mediocre programmers.

IMHO, we need an easier college program that would quickly prepare junior computer programmers. These days at least 95% of programmers do not do anything more complicated than writing “if rdquo; and SQL statements to populate a form with some data from a DBMS. And this is exactly what our friends in India do. They train people with ANY engineering degree to quickly become programmers. And this is smart. At the same time some USA nerds are complaining that they miss pointers, because it helps working with Linux Kernel. Just give me a break! I do not deny, we need CS college programs for people who would like to work on OS-level software or on complex mathematical modeling, but this has to be THEIR CHOICE. Currently, colleges do not offer business-oriented IT undergrad programs. We need specialized degrees like “Computer programmer for Finance “, “Computer programmer for Telecommunications “, and the like.

If ones goal is to make $50-60K a year by working as business application developers, they should have a simplified curriculum that will help them to learn the basics required in businesses and find a job. The Bubble Sort algorithm has to be the most difficult topic in such courses. On the other hand, this program has to have at least half of the subjects teaching software engineering.

In USA, people are already scared to death of CS major. Let “s not make things worse. Do you know how most of the kids pick their majors? They listen to their parents’ advice. Do you know why parents do not advise their kids to pick CS or CIS as the major? Because they hear these horror stories about how difficult it is to survive in such colleges and then it “s even harder to find the first job because of outsourcing. Why not create a simple program that would allow faster (yes, not fundamental) baking of computer programmers for businesses? After a while, some of such graduates will decide to enroll in more fundamental CS programs, which is fine, but let them make this decision.

Five years ago a mother of the CS freshmen of the state college called me asking to tutor her son in Java. This 18-year old guy told me, that the goal of the first semester “s program was to have most of the students leave the CS major. It did not sound right to me, but when he showed me his first Java project I realized that he was telling the truth.

Anyway, I helped him and he survived the first semester and after the second one he quit the college, found the job as a computer programmer, and later on slowly completed his CS degree part time. My point is that he was able to work as a business computer programmer without being a computer scientist (let’s not confuse the two).

So how long does it take to prepare a junior computer programmer with a set of skills required in most of the IT departments? 18 months or less. I can do this in 6-9 months, if the students are highly motivated. Let “s learn from India, and succeed.

I can speak about the situation in the USA only, and if we want to have people learn computer programming they should have a choice of easier industry-oriented majors. JavaLobby has an interesting discussion on the same subject and some people suggest similar solutions.

If the academia will not make required changes in the curriculums, pretty soon most of the programming jobs will be outsourced to developing countries, and this will happen not because they charge less for the job, but because you won “t be able to find any programmers in our country. Actually, I “m wrong. We “ll still have several thousands of really cool programmers who will be able to explain how the OS Kernel works hellip; if they’ll find anyone willing to listen.