Was it only a few years ago that lines snaked out of Apple's store? Times change. While the iPhone and iPad continue to have dedicated fans who love their rich, sophisticated UI, the raw sales numbers continue to favor Android. Some reports even say that more than 80 percent of phones sold were Androids.
The reason may be as simple as cost. While iOS devices still cost a pretty penny, the Android world is flooded with plenty of competition that's producing tablets for as low as one-fifth the price. Saving money is always a temptation.
But another factor may be the effect of open source. Anyone can compete in the marketplace—and they do. There are big Android tablets and little ones. There are Android cameras and even Android refrigerators. No one has to say, "Mother, may I?" to Google to innovate. If they have an idea, they follow their mind.
Apple, though, is learning from Android. The iPhone 6 comes with different screen sizes, and what do you know? The lines are starting to reappear.
When software was simple and the instructions were arranged in a nice line, the CPU was king of the computer because it did all of the heavy lifting. Now that video games are filled with extensive graphical routines that can run in parallel, the video card runs the show. It's easy to spend $500, $600, or more on a fancy video card, and some serious gamers use more than one. That's more than double the price of many basic desktops. Gamers aren't the only ones bragging about their GPU cards. Computer scientists are now converting many parallel applications to run hundreds of times faster on the GPU.
Sure, you could learn about a candidate by reading a puffed-up list of accomplishments that includes vice president of the junior high chess club. But reading someone's actual code is so much richer and more instructive. Do they write good comments? Do they waste too much time breaking items into tiny classes that do little? Is there a real architecture with room for expansion? All these questions can be answered by a glimpse at their code.
This is why participating in open source projects is becoming more and more important for finding a job. Sharing the code from a proprietary project is hard, but open source code can go everywhere.
When Amazon rolled out its sales for computers and other electronics on Black Friday, the company forgot to include hypeworthy deals for its cloud. Give it time. Not so long ago, companies opened their own datacenter and hired their own staff to run the computers they purchased outright. Now they rent the computers, the datacenter, the staff, and even the software by the hour. No one wants the hassles of owning anything. It's all a good idea, at least until the website goes viral and you realize you're paying for everything by the click. Now if only Amazon finds a way to deliver the cloud with its drones, the trends will converge.
Hot: Cloud complexity
Not: Cloud simplicity
The early days of cloud computing saw vendors emphasizing how easy it was to click a button and get a running machine. Simplicity was king.
Now choosing the right machine and figuring out the right discount program could take more time than writing the code. There are dozens of machine profiles available, and most cloud providers support some of the older models. All offer unique levels of performance, so you better be ready to benchmark them to decide which is the most cost-effective for you. Is it worth saving 12 cents per hour to get by with less RAM? It could be if you’re spinning up 100 machines for months at a time.
To make matters more complex, the cloud companies offer several options for getting discounts by paying in advance or buying in bulk. You have to put them in the spreadsheet too. It’s enough to invest in an online course on cloud cost engineering.
Hot: Data movement experts
Not: Backup tapes
When data was small, we didn’t have to think about moving it. We could back it up to a tape or maybe install a RAID hard drive. Now data is so big that it’s not so easy to assume it is wherever we need it. This is becoming increasingly important because more services take place somewhere off in the cloud, not in the rack where the RAID array sits.
Consider Amazon’s new Snowmobile, a cute inside name for a shipping container filled with hard disks that can hold 100 petabytes of data. They also make a smaller box called the Snowball that can hold 80TB. Both move data like a physical thing, not a signal in a fiber optic, which really scales. One estimate suggests that it would take 28 years to move the 100 petabytes down a 1Gbps fiber line while a tractor trailer could move the container across the country in a few days.
All of this means that developers should start thinking about where data is collected and where it needs to be. We’re gathering much more data than before, and moving it to the right location is more important than ever. As Wayne Gretzky said, his success depended on planning ahead and skating where the puck was going to be, not where it happened to be right now.
Websites aren’t really dying; it’s just that the new audio interfaces are booming. Amazon, Google, and Apple are pushing everyone to speak their questions instead of getting up, walking over to the computer, and flexing those fingers.
This means a bit more work for programmers because all these mechanisms have new APIs, like Alexa’s new one for controlling the light switches. If your company wants to connect with these audio interfaces, you better start hacking. Keyboards and URLs were invented in the last century, after all.
Not: JavaEE, Ruby on Rails
The server world has always thrived on the threaded model that let the operating system indulge any wayward, inefficient, or dissolute behavior by programmers. Whatever foolish loop or wasteful computation programmers coded, the OS would balance performance by switching between the threads.
The Node.js world also benefits from offering harmony between browser and server. The same code runs on both, so it's easier for developers to move around features and duplicate functionality. As a result, Node.js layers have become the hottest stacks on the internet.
Hot: PHP 7.0
Not: Old PHP
In the past, PHP was a simple way to knock out a few dynamic web pages. If you needed a bit of variety, you could embed simple code between HTML tags. It was basic enough for web developers to embrace it, but slow enough to draw sneers from hard-core programmers.
That’s old news because some PHP lovers at places like WordPress and Facebook have been competing to execute PHP code faster than ever by incorporating the Just-in-Time compiler technology that once made Java such a high-performing solution. Now tools like the HipHop Virtual Machine and PHP 7.0 are delivering speeds that may be twice as fast as the old versions. Take that, Node.js and Java.
Hot: Just-in-time education
Not: Four years up front
The computer-mediated courses aren’t new anymore, and everyone is enjoying the advantage of watching a video lecture with buttons for speeding up, slowing down, or asking the prof to repeat that last point. The online forums also improve over the old seminar rooms where only one blowhard could dominate the discussion at a time.
But it’s not only the nature of and technology behind online coursework that’s upending the education industrial complex; it’s also the flexibility to learn whenever and wherever you need to. This is changing the dynamic as people no longer have to invest four years of outrageous tuition on a big collection of courses that may or may not be relevant to their lives. Why take courses on compilers until you know you’ll actually work on a compiler? If the boss wants to switch from a relational database to a NoSQL engine, then you can invest the time in a course in modern data stores. You get fresh information when you need it and don’t clutter your brain with quickly rotting ideas.
- 9 lies programmers tell themselves
- 11 predictions for the future of programming
- The power of lazy programming
- Download: Developer career development guide
- Download: The professional programmer's business survival guide
- Download: 29 tips for succeeding as an independent developer
- The 7 most vexing problems in programming
- 7 bad programming ideas that work
- 22 insults no developer wants to hear
- Program the world: 12 technologies you need to know now
- Attack of the one-letter programming languages
- 9 cutting-edge languages worth learning now
- 5 more timeless lessons of programming 'graybeards'
- 7 programming languages that we love to hate -- but can't live without
- 11 cutting-edge databases worth exploring now
- 33 worst lines ever said by tech recruiters