Here’s a nice article that lists seven simple rules that junior programmers must follow regardless of what programming language they use.
I assume that seasoned programmers do this automatically, right ?
Here’s a nice article that lists seven simple rules that junior programmers must follow regardless of what programming language they use.
I assume that seasoned programmers do this automatically, right ?
Information Week published a pretty boring list of jobs that are least likely to be offshored. Here’s my list.
Top 10 professions that will not be outsourced any time soon:
A plumber
When you can “t flush the toilet, someone has to come in and roll-up the sleeves
Motor-vehicle drivers
This includes truck/bus/cab drivers, plane pilots and train machinists
Dentists
Dental technicians are excluded. I know a lab in New York that sends teeth molds to and gets back the crowns in a week.
Prostitutes
Phone sex does not count
Restaurant waiters
Until some serious breakthrough when NASA will mass produce food in tubes and pills, someone has to put a plate on your table.
The President of the USA
Actually, this job is safe only until India did not include it in their laundry list
Babysitters
Construction workers
Police Officers
Computer programmers who know what recursion and bubble sort are. Bangalore vocational schools do not cover these topics. They just do not have the time
Recently I ran into an interesting blog post, where Bob Lee is trying to understand what “s so good about Spring Framework comparing with J2EE. This post has sparkled hot discussions in different online forums as if lots of people where quietly waiting for someone to start bashing Spring.
I did not work with Spring on a real-world project, but I like the ideas (implemented in Spring) such as dependency injection, use of AOP, ability to test POJOs, caching, DAO, etc. I “m not sure though why the word “lightweight rdquo; is often associated with Spring as well as other frameworks. Is Hibernate so light comparing to EJB? In my opinion, iBatis is lighter than Hibernate and SQL/JDBC combo is lighter than everything else. But for some reason, writing SQL is not a fashionable activity any longer. These days some Java developers prefer spending most of their time trying to get afloat in a steadily growing XML code base of their projects performing mapping between classes and database tables.
But if you think about a Java community as a small model of a real world, with a fierce competition, big and small guys, smart people who are trying to invent new things and make the world a better place to code, it seems that all these multiple Java frameworks and libraries will eventually be swallowed up by one or another Java or J2EE API. Is this a bad thing? I do not think so.
Remember the excellent library of concurrency utilities written by Doug Lea? This library was tested and polished during its independent phase of life, and now it “s a part of the core Java. It comfortably resides in java.util.concurrent package. Log4J was reincarnated in the java.util.loggfing package. Popularity of XDoclets help in spreading of Java annotations. Hibernate leads us to EJB 3.0. AOP will also find it “s place in new EJBs.
Java developers like myself can enjoy the never ending stream of new ideas, techniques, technologies, etc. Creators of the frameworks are visionaries, luminaries, and definite leaders of Java community. Spring, Hibernate, iBatis, Abc, Xyz hellip; will always play an important role in Java evolution, but most of them eventually will be pushed away from the enterprise landscape into the hard-boiling J2EE pot.
On the other hand, smaller businesses will definitely use various frameworks, but these decisions will be mostly driven be preferences of local Java architects.
Another somewhat related hot online discussion was sparkled by the IndicThreads interview with the creator of Rails framework, David Heinemeier Hansson. As he put it, “Rails is optimized for programmer happiness… rdquo; and “Let Java retire from the spotlight of web applications in dignity… rdquo;. Both statements are way too strong. I “m sure that Ruby and Rails will increase the level of happiness of some people, but as of today, I’m pretty happy with Java, and I “m sure it “ll stay this way for quite a long time. As to Web applications, in my opinion, most of the current Web application written for businesses, should not have been Web applications in the first place. But Java feels at home in this area, and will remain one of the popular means of programming for the Web.
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.
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
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?
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
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)?
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?
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/