About this time last year, I was still in school and interviewing with a few very different companies. Talking to other students yielded a number of opinions about languages and the career paths they implied. I haven't found my experiences thus far to be anything like the oft-heard
"taking a Java job means you'll be doing nothing but Java for 30 years"Being employed by a consultancy is a little different than landing in a business committed to one language, but I've found that even within these companies the changing directions of business require and embrace many different languages, frameworks, and tools.
The Java Shop
My first programming job was very database-centric. Referential integrity was the goal, and database triggers were the chosen path. Triggers were the choice because data was dealt with directly through SQL from an unknown number of sources, in addition to applications. Our constraints were also slightly more difficult than column-level constraints could handle.
The applications were written exclusively in Java, and yet during my time there I barely touched Java at all. Instead I was directly in the database. Most of the work was in Oracle's PL/SQL, but like so many businesses, there was a transition from another database vendor in the works, so my day-to-day work still wasn't limited to just one database vendor's language.
The Internal Java Project
My first project for ThoughtWorks was at TWU, where the students continued development on TWU XVII's Chronicles. The technology stack was traditional for a Java webapp here, but still required us to develop our knowledge of several different markup languages, programming languages, frameworks, and tools.
The .NET Shop
In early October I headed to Los Angeles for a project in Microsoft's .NET. We were adding features to a webapp here as well, but it initially didn't have any MVC components. Instead, it was code-behind. This meant that while a lot of the Java project was similar, there have still been many additional programming languages, frameworks, and tools to learn.
Project Technologies, 11 Months into Programming
- ASP.NET MVC 3
- Ext JS
- Fluent NHibernate
- Hibernate & NHibernate
- JUnit (Java Testing)
- Spring MVC
- Visual Studio Unit Testing Framework