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 eclipse.org. 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 Python:
Dive into Python, by Mark Pilgrim, is a good free intro to this OO scripting language.
Python for Java Developers, by Rance Necaise, is a quick comparison/bootstrap for developers with a Java background.
Road map for mobile development:
IBM has a strong partnership with Apple, so for native mobile application development, strong iOS experience is ideal. Apple's own developer program is a great place to start.
Even if you're primarily a frontend web developer, your designs should be responsive, so that they are consumable on desktops, laptops, tablets and phones. Here is one good tutorial on responsive web design.
Road map for critical project skills:
RESTful Web services are the basic building blocks of modern service-oriented web applications.
Apache Spark has become the tool of choice for data scientists doing large-scale data analysis (and some machine learning).
IBM's Watson APIs are the most powerful cognitive APIs available--for natural language processing, conversation, sentiment & personality analysis, and more>
IBM Bluemix is IBM's next-generation cloud development platform. Nearly all of our Extreme Blue projects will be built in the Bluemix environment. Signup is free, and there are a wealth of tutorials to get you started.
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.