Skills roadmap

All Extreme Blue™ interns are expected to have a solid understanding of either C, Python, Java™ or Javascript. Understanding the language means more than just knowing the language's syntax. It means you understand how the language works and the implications of how the language's constructs are used to solve problems.

The road map below can help you come up to speed in the technologies used in many Extreme Blue projects. Reading the sites linked from the road map and doing the example exercises is a good start on becoming comfortable with these technologies. However, you need to try applying them yourself to solve a problem on your own. Once you have a handle on the basic technologies, go out and "Start something Big" by solving a problem that you've found on your own.

Road map FAQ:

Does mastering the materials in the Road map guarantee that I'll be accepted to an Extreme Blue project?
No, but you will have a good foundation in the technologies that might be used by many Extreme Blue projects.

Are these the only technologies used by Extreme Blue projects?
There is no such thing as a typical Extreme Blue project; however. Many Extreme Blue projects use one or more of these technologies. We may add road maps for more languages or technologies in the future, but we have started with the most common subset.

How did you come up with the list of materials in the road map?
Where possible, we've referenced materials that do a good job of covering their subject and are available for free via the Web. In many cases, these are materials that former interns cited as being useful in building the skills they used in their Extreme Blue projects.

I'm a fast learner. Can't I just learn all this stuff as I go while working on an Extreme Blue project?
Each Extreme Blue project will have its own set of new technologies and background that you'll have to learn in 2 weeks or less. There's no way you can work through all the new material--that is unique to each project--without starting out with a strong foundation.

Do I have to complete the whole road map to have a shot at being accepted to an Extreme Blue project?
No. Some projects do not use all the technologies covered in the road map. For example, some projects may have some positions that only require you be a very strong Java™ programmer. However, the more skills you have, the more attractive you will be as a candidate for any given project.

Road map for Java:

  • Thinking In Java, by Bruce Eckel, is a free book that helps give a beginner a solid understanding of Java.

  • In Chapter 15, Bruce Eckel mentions how much easier it is to write and debug Java code in Eclipse, which has been donated by IBM to the open source community After you feel comfortable with the javac and Java command line tools in the Java JDK, you might want to look into Eclipse.

Road map for Javascript:

  • Eloquent Javascript, by Marijn Haverbeke, is a good free ground-up introduction to Javascript as a first-class language.

  • Javascript for Java Developers, an IBM developerWorks article by Andrew Glover, is a good bootstrap for folks who already have a lot of Java experience.

  • Javascript on the Mozilla Developers Network is considered the canonical reference hub for Javascript terms, syntax and howtos.

  • The next wave of server-side development is happening in Javascript, and node.js is currently the leading platform. The Node Beginner Book, by Manuel Kiessling, is a good place to start.

Road map for Python:

Road map for mobile development:

  • IBM Worklight is a rapid mobile application development platform that leverages open tools and standards such as Apache Cordova and the Dojo Javascript framework.

  • Apache Cordova, formerly known as PhoneGap, provides device-agnostic APIs to enable the development of rich cross-platform mobile apps using HTML5 and Javascript.

Road map for critical project skills:

  • RESTful Web services are the basic building blocks of modern service-oriented web applications.

  • Hadoop is one cornerstone of modern Big Data Analytics, and is a great place to begin your study of the tools of Big Data.

If you choose to work with sending transactions to a Web site or service that is owned by someone other than yourself, you will need to make sure that your activity does not violate the usage terms of the Web site or service. Many commercial sites and services have developer programs to allow programmers to work with test versions of their site or service in a way that will not impact the production version of the site or service.