Saturday, 16 May 2015

Programmable Society

Computers have always intrigued and fascinated me. Since an early age I have enjoyed pulling them apart and putting them back together once more. I also enjoy programming them which is now what I do for a living. If you have kids then I recommend you introduce them to programming. Building software is a great career option and will get even better as the century goes on. We are entering a new phase in computers; the programmable society. Business = Data + Algorithms. Not just for software companies but all business will depend on this concept. Software will continue to be everywhere and embedded in every sector and every company. If you can program there are literally no limits as to where you can work.

So what does it mean to become a Software Developer? It potentially involves working from home, flexible hours, freebies (drinks, snacks, phones and so on), lots of varied jobs to choose from, always learning lots of new things, working in different sectors and interesting business applications, working with smart people and many other benefits. All the perks are only going to get better. Software Developers are going to be the new rock stars of business. Salaries have been rising very sharply, not only due to the Governments monetary policies but down to the fact that shortages are already becoming more pronounced all around the Globe. All the time new applications for software take root, so you need more people. Existing applications require to be maintained and eventually re-written, requiring yet more people.

If we consider where computers have come in the past 60 years it is truly remarkable. A true example of anarchy in action, chaos theory. Back then computers could be counted on one hand and were in the hands of large corporations or Governments. Most people didn't interact with them at all. Applications were simple and few. Since then we have had the microchip revolution with Moores law enabling processing power in peoples pockets that is more powerful then bygone supercomputers. If ours cars had dropped in price as dramatically as computers we could pick up our car from the showroom for under a dollar. We all use computers everyday, we run our lives on them. Holidays, TV, our Social lives, photo collections, travel directions, our nutrition and health. Buying our homes, our cars and our coffee makers - its a booming industry. Devices are now obtained for pittance meaning we all have become used to owning several of them each. Our phones are computing marvels, computers are in our glasses, our cars, our watches, our TVs, our heating systems; there are no limits and we are only getting started. Soon they will be so small and embedded in our contact lenses or skin, we won't even see them.

Now think about business today, think about your own company you work for? Now think does it rely on computers? Not only do all our companies now rely on computers but new businesses are forming that are really turning old business on its head. Uber in essence offers a taxi service. Only they don't own any cars, drivers or call centers. Their business model is data and algorithms - its software. A multi-billion dollar company has little staff, little physical assets, they just give consumers and small entrepreneurs a service that enables them to hook up by knowing which drivers are where and which fare payers need a lift.

Facebook is essentially a content publishing service. People put content up and share it with others. Facebook own no content, no writers, little physical assets and little staff, yet are worth hundreds of billions of dollars. Again their business is nothing more than data and algorithms. Airbnb has a similar story and many other recent startups - too many to name and they are growing at an ever increasing rate. We will witness exponential growth and innovation in this sector, there are no limits. The playing field in the software industry keeps getting flatter meaning startups are increasingly done by no more than kids with an idea and bags of enthusiasm.

I recently attended the AWS london conference as part of my work whereby Amazon talk about their on demand compute services (the keynote can be found here). As part of the keynote there was a talk from a 20 something year old on how he and his friends started gosquared, a company that provides analysis on how users use a companies application (again using nothing more than data and algorithms). As was noted in the past they would have needed at least 5-10 million dollars just to get this off the ground from an operations point of view. They were 14 years old at the time who would have never got access to money like that. AWS enabled them to use a platform based on usage but as they grew, could scale to meet their needs allowing them to focus on their core application. This low cost to startup is seen time and again with dynamic startups and its getting cheaper all the time. Many of the software used - databases, source control, message technology - all of it is free to use. The heavy lifting software is now all free, allowing great products to be created. The only cost to start a software company these days is time. Hardware will be handled by the experts, be that Google, Amazon or some other company who are able to squeeze every watt of energy out their appliances to maximize efficiency. More people will contribute more and more to open source software making the heavy lifting frameworks with no upfront costs allowing people to focus on the business logic of their applications.

So what happens if a company starts and needs capital? Not only is the industry full of Angel Investors and Venture Capitalists but there now exists crowd-funding and soon micro-lending. People are raising money from hundreds of thousands of users who want some application to meet their needs. Once we have micro-lending with crypto-currencies this is going to get even easier. People will be able to bootstrap company's with millions of people contributing, allowing people with similar interests but very different geographic locations to fund such endeavors. We will all have the capability to be an Venture Capitalist. That is a truly revolutionary concept.

We have moved from the industrial economy and then to the information economy. Now we are transitioning to the ideas economy, one where people become enabled to be more creative and pursue their own interests. The vast decentralisation will also bring about hypergrowth, technology will keep getting ever more sophisticated and more pervasive all around our lives. Take Ubers business model of allowing anyone to become a taxi driver. Softwares only limit is the creativity of the human mind. Ubers model will constantly evolve over decades requiring more and more software to be maintained and new code to be written. Currently the system uses human drivers but eventually it will be self driving cars; taxi-bots. Then you will need algorithms to mange these cars to obtain optimum efficiency. The cars will become self autonomous, fixing themselves based on the fares they obtain. There will be less need for car parking in busy urban areas as people will just use cars as on demand services as the costs are slashed more and more. Smart traffic systems will need computers to determine how many cars are on the road at certain times, dynamically changing traffic light systems for example. In fact at that point the cars will talk to each other determining how best to optimise traffic flow, yet more data and algorithms. On top of all this there will be my kids generations ideas and their kids; all will come up with some brilliant novel ideas and thus require more and more software. My generation is more dynamic and entrepreneurial than my parents who had unions and so on. My kids will be yet more dynamic with self employment continuing to explode.

Software is after everyones jobs its not just taxi drivers or other blue collar jobs, white collar jobs will also come under attack. Smart contracts will replace many legal and financial positions, offering the ability to have programs uphold legal contracts. Smart Property will mean your house, your car will all be held on decentralised ledgers, again with software determining the legal status of them.The Internet of Things is only just starting and soon your fridge will be smart enough to order your groceries. Cryto-currencies will completely disrupt the finance sector and will remove a whole host of jobs.

An entrepreneurial revolution is underway, our children and grandchildren will be far more dynamic and comfortable with risk then we ever were. Software will play a prominent role in this and encourage many to go it alone. Formal qualifications will become less relevant as the Century moves on. University Degrees are continually being watered down, its only a matter of time until a generation starts to abandon them. It will not be what you know but what can you do that matters. People will pursue things that interest them like never before in history; lines between work and play will become ever more blurred and in a good way. Already we have seen the abandonment of the 9-5 culture in Software but some companies are now taking it to the next logical level. Netflix now mandates no holiday to its employees. Instead they can take holiday whenever they want and for however long they wish, in fact they encourage it. Their culture is not what hours you put in, but what value you actually produce. They run regular hackathons where they allow employees to do what they want, even if its not related to their business, encouraging creative thinking and providing a stimulating environment to attract the best and brightest. Middle managers are virtually no where to be seen, instead engineers are encouraged to be self starters and to have the enthusiasm to deliver autonomously. Process is also looked down on, instead trusting people to do the right thing and put them in power. This won't be right for every company right now but will become more prominent over the decades especially as younger, more dynamic people enter the field.

Every sector will be run by computers. Your recruitment will be done every more by computers and its only a matter of time until someone creates an automated system. Finance and legal will fall to algorithms. Anything manual is due to be automated. Already MacDonalds are looking to replace people with automated robots that can make and serve burgers. Our road networks will be run by computers. Our microwaves, TVs, Fridges, watches, phones and appliances will become computerised ever more. We will organise our lives ever more with the help of computer, Siri and Google Now are just the early prototypes. Computers will recommend our entertainment to consume be that music or films or events. It will tell us great holidays we could take, who to be friends with and who to marry and spend our lives with. It will continue to help us raise our children, to help communities come together more. It will help us to all keep in touch, I know my parents both love the fact they can see pictures of their Grandchildren grow up even though they are hundreds of miles away and we are just getting started. The Internet is the greatest educational resource we could have, if I never see another innovation I'm just elated that I got to live in a time of its existence. When my kids ask what we did before there was the Internet I will say "We got bored, information was scarce and as kids we would argue over trivial facts when now all you have to do is talk to your phone which gives you the information". You health will become run by software. Software will exist that enables custom organs, limbs, tailored to your individual needs. Tools to predict future events will become ever more sophisticated enabling elections to be called, to deal with future consumer trends, what people may want to buy or information they may wish to consume; we are still in the early game for all of this.

So if you are a parent and you are reading this then get your kids into code. Tell them how important software will be in their lives. If they end up showing no interest then at least they were exposed to it, programming is not for everyone. Throughout my life in IT I have been told I shouldn't bother. "They are going to automate software", "India, China or Eastern Europe will take all your jobs", "We will eventually make all the applications we need" - I've heard all the excuses over 15 years now and none have come to pass. My salary over the past 10 years since I have entered the field has continued to rise, Over this period I have averaged 30% plus pay rises each year by moving jobs, despite the fact for many workers pay has stalled. In fact for the majority of those years the country has been either close to, or in recession. I haven't even done this by following a corporate path, climbing the ladder or crossing the 't's and dotting the 'i's, I never could I'm too free minded to bother. I've essentially kept the same job title over that time and been knee deep in the code. I don't talk about code I write it. We all won't need to code. We will still have sales people, HR, Creative Marketing and a whole host of jobs that will be hard to automate - such as the guys who fit my tires to my car recently (until they come up with a dexterous enough robot). But we should all code more. As a society we will collectively have to write a whole lot more code over the course of the 21st Century.

Saturday, 9 May 2015

United Kingdom 2015 Election

History was written in the recent UK General Elections. There were many historic shocks and yet again the opinion polls were wrong. The Conservatives and Labour were neck and neck in polling however managed to gain a majority. Labour meanwhile have been routed, not only in Scotland but have failed to make any significant gains in England and Wales. The Greens and UKIP despite all the hype only got a seat each. The SNP shocked everyone, gaining near complete control over Scotland and removing the Westminster parties from power. The Liberal Democrats were torn to bits and it remains to be seen if they can once more be a credible third party in UK politics once more, possibly not in this generation. UK politics has become fragmented - SNP in Scotland, England has gone blue once more with the South becoming a sea of blue.

Despite no one predicting a Tory majority I did mention the possibility a couple of weeks back in a recent blog post. Once the exit polls came out it did not surprise me, in fact I still thought they underestimated the Tory vote and decided to blog to twitter to state that the Tories would not only get the numbers claimed would get more and get their majority despite all the coverage still talking of deals. Once the results starting coming in, other commentators started comparing it all to the 1992 election, something I said in my original blog post. What did surprise me was the extent of the SNP vote in Scotland. I knew they would do well - possible 20-30 seat gain, but 50? The swings broke historical voting records, something I just didn't see coming. I thought people like Jim Murphy, Douglas Alexander and so on would retain seats but it appears people just wanted SNP regardless of old ties (I think also the "No" vote to independance would have been split between the various other parties, while the "Yes" vote was concentrated in the SNP).

Of course this was a fascinating election whichever tribe you support. Here are my thoughts.

Conservatives
Strengthened their English vote. Cameron has successfully positioned the party in Center territory and was able to pick up a number of Liberal Democrat seats. People have felt the recovery and it showed as the Tories not only defended their seats but actually increased their majority.

Labour
A bit of irony. For years under New Labour they had moved too far to the right and Scottish people showed their distaste by voting in spades for SNP who have a socialist stance. However Labour actually moved too far left for English voters therefore Labour never made any real inroads in middle England. They were talking of price controls (on rents), "mansion" taxes, more tax on upper earners and scapegoating banks. Obviously the south of England completely rejected these anti-aspiration policies and went Blue.

Liberal Democrats
Annihilated. I don't know where they go from here. Labour swept up any progressive votes they had, the Tories taking the moderate center ground voters. They are traditionally a progressive centrist party but went into coalition with a Tory Government. Its core voters therefore administered punishment. There was also SNP fear in England so many also voted Tory.

SNP
A clear message; Scotland want more powers. This will be interesting and I will discuss below.

UKIP/Greens
Despite all the hype, only got a single seat each. They will both say we need Proportional representation. I've covered why thats a bad idea (I also mention in that post I thought Labour would come to power in this election - however this was before Ed became leader and I thought it would his brother David that would replace Brown at the time, who is more center, and I'm sure would have got more Tory and Lib Dem seats than his brother - already people are saying he should come back to British politics. If Labour want to win the next election, they need to move back to the center ground and elect a leader like David Miliband).


What will happen with the SNP? A lot of people are prematuratly stating that UK parties are dead in Scotland. They could be correct however if I was David Cameron I would offer fiscal autonomy to Scotland. This would be easy to pass as it doesn't affect other UK nations and is what the SNP want but also still preserves the union. He should call their bluff for a number of reasons.
  • I don't think they want it. They are a party who have heavy spending commitments due to their socialist agenda but due to the current low price of oil would have no money to fund such spending. Many high tax payers reside in England, thus they would struggle to generate money that way. 
  • If they did they would bankrupt Scotland. They would run out of money and it would be clear to the Scottish person that they are inept. There would be no "Westminster" to blame as fiscal autonomy gives that control to Scotland
If this happened I believe many seats would once again move back to Labour/LibDem/Conservative hands and the Scottish may once more wish to not have autonomy over their finances or try to elect the above to manage the budget in a better manner. This move, if Cameron would be brave enough to do it, would preserve the union and discredit the SNP. It would also potentially push Scottish mentality towards a more center right wing stance.

The Liberal Democrats meanwhile were decimated. I'm sure Labour will once more move more towards the center-right a Blairite position once more and the tories are already there which is where the majority of English voters are politically. The party surely will gain some of their seats back over time; I think a number of freak factors contributed to the collapse; rise of SNP, Coalition and other tactical voting.

Labour didn't completely abandon New Labour politics. Ed Miliband was in fact the first Labour leader to actually say he wanted to cut spending but he did move the party ever so slightly left and thus did not gain the middle England vote. Socialism is dead in England (well I'm sure the North East would disagree). Margret Thatcher once said her greatest achievement was "New Labour" (although it was the British electorate that created it). British people took a profound shift the right during her time, nearly killing off the old Labour party. Under Neil Kinnock, then under Blair, Labour continually moved towards the center then to the center-right position in order to eventually defeat 18 years of Tory rule. Blairs first term kept to Tory spending plans and they were the first Labour Government during 1997-2001 to actually run a budget surplus. Labour had also abandoned any notion of tax rises - Blair was ruthless in this agenda removing any of his politicians who suggested such a policy. Thatcher meant that both main parties actually now encompassed Tory values, so it didn't really matter who got in power (hence one reason for recent voter apathy during Tony Blairs rule and the rise of the SNP in traditional Socialist areas such as Scotland).

This is also how I came to my conclusions of a Tory majority and that the polls would be wrong just like the 1992 election, Labour had moved once more to the left and all the "Shy Tory" voters would appear once more (in fact, whenever Labour did this in the post war period they always got a lower eventual vote than the polls suggested). They will no doubt under their next leader move back into the center-right ground. But heres a problem how would they re-gain Scotland if they were to do this? Put simply they can't; its either England or Scotland. I think their best chance is to support any devolved power to the SNP and just watch the party self implode.

England meanwhile is now firmly in the right-center of the political spectrum; Socialism is virtually dead. People believe in aspiration, business, profits, capitalism and so on. New Labour success was built on these principles the center-right ground which David Cameron now occupies. People have felt the recovery, indeed I see it with my own eyes as my own salary has kept increasing during the Coalition Government. Most of all people voted for why I thought the Tories would get a majority - stability. They saw too much of a risk with Ed Miliband, either with the economy or deals with the SNP so opted for the conservatives. Do not underestimate this victory. Not since Thatcher in 1983 has an existing PM increased their number of seats; and to actually increase the proportion of votes we have to go further back.

What are the main conclusions that can be drawn from the election? With all the drama and historic records that were set the actual outcome is quite boring. Its the same PM who wants to keep the status quo and is actually a reflection of the English people. Above all else they wanted stability and I actually applause such an outcome. Its a triumph of the first past the post as all other outcomes would have been fraught with battles from the off - no one would have a majority and there would have been deals that would have never worked for the long term. That doesn't mean David Camerons new Government is solid; far from it. With such a slim majority all those rebel backbenches may think it's time to raise their concerns knowing full well the actual majority has been reduced compared to the coalition. History has once more repeated itself just like in 1992 as I predicted a couple of weeks back.