|• A mile wide and an inch deep:|
|• What's hot what's not:|
|• Keep up with Android:|
|• Technological watch vigilance:|
As an IT consultant, I’ve learned to stay on the cutting edge of innovation. I don’t do this for the money; I do this because I’m a technology junkie—I like to know what’s coming up, and I want to embrace the change instead of fear it. That state of mind opens up a lot of opportunities that the majority of our fellow developers won’t see, staying comfortably in their day-to-day routine. Instead, they follow trends only after they’ve become mainstream, and safer bets.
There are two groups of developers : the early adopters, and the followers. Personaly, I prefer to be an early adopter, and I also like to work with teams of early adopters. When I introduce new tools in a development team, the early adopters tend to be better ambassadors of change than the followers, which results in less resistance to change—independent of the scale of it. Change is like a stream that becomes a huge torrent when the snow melts in the spring—you can’t oppose it when it reaches a critical mass. The choice is then pretty simple : you ride the wave of change, or you risk being submerged by it; and becoming obsolete. Blackberry is a good example of a sinking boat—they once were the leader of the smartphone market, but they sat on their success and were submerged by their competition. What they didn’t seem to understand is that no company drives the market—customers do. Now Blackberry is struggling as is Microsoft because they were too late to jump on the smartphone train. On the other hand, Google and Apple have taken the early adopter approach, and that has paid well—a billion times over! Neither Google nor Apple invented the smartphone but they saw the opportunity; and embraced it.
Now, as a developer, you can also be on the cutting edge of technology by observing a wide technology watch of the entire IT market. But, how do you do this without spending too much time and energy?
Luckily for us, there are tools to help us, and—for the most part—they can be automated. So, you can spend only a couple of hours a week sweeping the market in search of a nasceant trend and digging deeper only when you see an interesting opportunity.
In this chapter, I start by presenting tools and techniques to observe the IT landscape as a whole, then I show you how to pinpoint your research to monitor interesting trends in more detail. Obviously—because of the subject of this book—I will show you how to observe Android trends specifically, but the techniques demonstrated here can be aplied to observe any technology you want.
One of my favorite tools is the TIOBE Index—it gives a good overview of where our industry is headed. The TIOBE Index is computed monthly using various data collected from major websites. Each month, TIOBE presents the results in a table ranked by popularity among more than 150 programming languages.
As of this writing, the C programming language (16.721%) is the king of the hill followed closely by Java (14.140%), and Objective-C (9.935%). It is no surprise that two of the three top languages for September 2014 are mobile programming languages—the mobile industry is still emerging, but the demand for mobile developers is high. I will leave it as an exercise to find out why the C language is the #1 language.
Another good way to take the pulse of our industry is to monitor the job sites—even if you’re not looking for a new job! It’s a great indicator of the demand for a particular technology. I recommend using a job aggregator for your monitoring because it saves you the trouble of registering at many job search websites, and it provides you with alerts delivered directly to your inbox.
I particularly like job aggregators like Indeed for its capacity to monitor the job market globally, by region, or even by metropolitan area. Always use simple queries to get the most possible results. For example, I have an alert for Android, which returns a lot of hits. You can quickly browse the aggregated jobs list to spot only the more interesting ones and determine the most commonly requested technologies for similar jobs. Be careful though, some technologies are hotter in the US than, let’s say, in Canada or Europe. For example, if you monitor Go programming language jobs, there is a big chance your search hits will be mostly located in the United States, and you will find fewer jobs elsewhere. That doesn’t mean Go is irrelevant and not worth monitoring. Go is a fantastic language that will continue to evolve, but it is still not very popular in Canadian or European corporations. That’s why it is important—while observing a technological watch—not to rule-out niche technologies; they may become the C language of tomorrow.
I recommend you register for the InfoQ Weekly newsletter, which is a newsletter that covers a variety of subjects related to software development. InfoQ also provides interviews, videos, books, and more. They organize a biyearly conference called QCon. I have followed the InfoQ website since 2006, and I have never run out of interesting news.
In the previous sections, I’ve shared some tips to help you stay informed about our entire industry—now let’s go into more detail and focus on Android specifically.
There are a lot of blogs, forums, news sites, and such about Android. If you read everything, you will be left with no time to develop great apps! Personally, I like to focus my search, so I am not overwhelmed by information.
One great way to achieve this is by using Google Alerts to target only one keyword for each alert. I recommend you have as many alerts as you have trends that you want to follow. It is pretty straightforward to create a new alert—visit Google Alerts: https://www.google.com/alerts. If you enter Android in the search field and then click the search button, you are presented with a preview of the most pertinent news—with millions of potential matches—that you will receive on a daily basis in your inbox. If you click on the More Options button, you can refine your alert by source, language, region, and result type. I recommend you leave all fields with their default values, except maybe the language field. That will be set by default according to your local settings (for example, mine are set automatically to French). You could select English or All languages, or you could create multiple alerts—one for each spoken language you want to monitor. It’s also important to keep the results type to Only best results. That will provide you with the more pertinent news and minimize the irrelevant news. When you are satisfied with the results, enter your email address and click the Create Alert button. You will then start to receive news from various sources—blogs, newsgroups, forums, news sites, and such—directly to your inbox without any further effort on your part.
Google Alerts will provide general news about Android. If you want to observe Android trends with a developer’s eye—to discover what technology to learn next, for example—Google Alerts is not enough. My number one source of information about Android development is the Android Weekly newsletter. I encourage you to subscribe to this free newsletter to receive fresh news about Android development on a weekly basis. It’s one of the major Android newsletters. They recently crossed the 15,000 subscribers mark—and most of these are Android developers.
Other good newsletters are Android Central, Android Authority, and Phandroid. However, most of the time you will find the same news in these newsletters that you find in your Google Alerts—unlike Android Weekly. You could register for these newsletters and—if one doesn’t provide you with enough interesting information—you can always unregister later.
One last source of information, albeit a little more noisy, is LinkedIn Groups. There are many groups related to mobile and Android, so I will not list them here. You can do a search on LinkedIn’s website. Focus on those with the most members because you’re more likely to find interesting discussions. Don’t forget to activate the Daily Digest option for each group so you receive the top news directly in your inbox.
I have one last piece of advice before moving on—don’t be tied to one source of information.
In this chapter, I’ve presented my tools of choice to help you stay informed about the market and its evolution. I like to use anything that can bring me information directly to my inbox, where I can use filters to order everything, and then read the news when I have the time. This may not be your cup of tea, and that’s okay. You can probably find the same information on various discussion forums, or even on some Facebook pages. Personally, I find that these other web mediums present too high a risk of distraction—oh, look at the cute little kitty!!!—and could ultimately move me away from my goal: staying informed without spending too much time scouring for the pertinent information through a pile of insignificant distractions.
There is one last source of information—routed through developer’s brains—that I would like to tap into using automated tools, but I can’t. That is the StackOverflow website. If we could access and aggregate the questions asked by millions of developers, order them, and data mine them, it would be a great source of insight on the market—perhaps even the greatest of all! I’m pretty sure we would get great insights from that pile of questions and answers. It’s on my wish list for Santa Claus.
|• Why is the C language the #1 language on the TIOBE Index?:|
Hint: check how the index is composed.
The C programming language was invented in the seventies by Dennis Ritchie, so how can it still be relevant today? Join the discussion on our Google Group, and share your theory on the following discussion thread : https://groups.google.com/forum/#!topic/agile-android-software-development/-WxI4PMP-Pg