One lesson I have learned through the years, and have needed to re-learn at some points is a lesson that I feel could change the face of innovation in the software industry.

Unfortunately schooling these days teaches a pupil to depend on authority, to depend on other peoples evaluations and ideas. These ‘other’ people are supposed to be ‘authorities’. They are supposed to be the ones to follow etcetera. They look, observe and evaluate and then tell us what we need to do! So what they sell is second hand observation and even riskier second hand evaluation of data.

However this creates a closed framework of limited innovation, because one now ceases to innovate, but rather relies on the observation and evaluation of others, ‘authorities’ etcetera.

We notice that all true innovation comes from those who didn’t follow authorities, those who dropped out of university or college etcetera. Good examples are Steve Jobs – he dropped out of college, Bill gates who did the same, and Larry Ellison – Co founder of Oracle Corporation didn’t complete his University studies.

Its interesting that modern education does not emphasise research, only it emphasises learning what ‘authorities’ report. And one notices that all true innovation comes from those who look and find out for themselves.

We need lots more people to do this. The current system is open to exploitation by those who would like to limit competition, of those who have vested interests, of those who are even scared of competition.

I recall once when I wanted to make my own spatial display engine. I was excited on making a spatial engine that is geared towards large data sets and working with databases, as I felt that was what is needed to provide spatial solutions in the future. Its amazing how much discouragement I got! People telling me that there are big corporations that do this for a living, namely ESRI etcetera. That they have programming teams of hundreds, so how could I compete with that. I was told that companies like Bentley Systems with their Microstation product have an excellent spatial engine.

I was surprised, because neither of these ‘big’ companies had a spatial engine geared towards databases and huge datasets. I know these companies were pretty happy and were making good revenue, but why on earth should the fact that they are big and successful be a reason for me not to create my spatial engine with some features better that theirs?

Luckily I did not listen to these ‘helpful’ warnings. I loved the excitement of creation and went ahead on my own time and money to build my spatial engine using the latest technology. And guess what, despite all the ‘competition’ my spatial engine pays for all my bills, has allowed me to pay 100’s of thousand s of dollars in humanitarian donations, and given me oodles of fun in the process!

I have even beaten companies 10 to 20 times my size in tenders for spatial software using my spatial engine!

So I learnt my lesson! Find out for myself! Don’t listen to others evaluations. Rather on hearing them look for yourself. Because who knows maybe you will create the next Apple!, the next Microsoft, who knows!

I just recall an example from early in my career. It was the 80’s. Windows was very young, Unix was the flavour of the day, and DOS or OS/2 was what you used on PC’s. The Mac was too expensive! I wanted to develop system administration software that could run on Unix and Dos and OS/2.

I had an idea, write my own language and virtual machine for it, so the same code could run on these platforms, all I needed was to write an implementation of the virtual machine on each platform.  I wanted it to support a text windows type interface.

My one colleague an MSC in computer science warned me that compiler writing was very tricky, and very advanced, and that it was difficult to verify that your compiler was correct etcetera! Well I was too keen for some fun so I want ahead and designed my own language! It even had local functions, types and records, much like Pascal. I wrote a compiler for it, and an assembly language for my virtual machine. I did one new thing though, I designed the virtual machine so that execution state could be saved and restored, even on a different machine. I wanted to use this for workflow, where workflow could suspend itself, transport to another computer and resume execution there!

Well I completed this little project and got it up and running, and used it for system admin scripts on DOS, Unix (SCO Unix) and OS/2!

It may sound familiar to you Java guys, but I did this before Java came on the scene!

Point is I as a young programmer could design and impliment my own language and virtual machine! Had I listened to the expert I would have lost out on all the fun, and not provided a neat solution to my employer at the time!

So before you just take someone else’s evaluation on a subject, look for yourself! Empower yourself, you are a lot brighter and able than you think! I know! I have worked with so many programmers probably over 100 of them, and they only acted stupidly when they didn’t look for themselves and acted on third party data!