In this post, I’m going to talk about various decisions I made which lead to amazing opportunities. I believe you can achieve this predictive capability as well by observing, reading and having the mindset to watch for trends. Of course, you should do things that you are interested in, not just follow trends!
After a few years of doing structural engineering in consulting firms, I realized I wanted to return to my childhood passion, which was computer programming (my first computer was a Timex Sinclair ZX81). So around 1999, I looked into the industry and felt that object-oriented programming was where things were headed (a way to organize code into objects rather than endless lines of code). There happened to be a fast-track program at the University called OOST (object-oriented software technology). We learned different things but I felt that Java was pretty amazing and “free” or open-source (headed by Sun Microsystems at the time) and where things were going. Also, web-based applications were getting pretty interesting (much more powerful than the usual ‘static’ HTML websites), so I decided to work at Servidium which was developing a web-application framework called Jaydoh. Frameworks make it easier to build web apps and allow you to separate the view (HTML – what you see in the browser) from the controller (Java – the logic) which are also usually different skill sets.
Jaydoh was basically competing with Struts (an Apache open source framework) so the challenge to get sales was large, ie. to sell a proprietary framework when an open source one was already available. So I decided that I should get into open source Java instead for the sake of my career. That lead me to work at Digital Oilfield (DO) who was using J2EE (Java Enterprise Edition) to run their apps.
As it happened DO was about to release a new version of their software so they asked me if I wanted to learn something called webMethods. I said sure even though I had no idea what it was (always good to learn new skills). They needed a way to exchange invoice files between companies and were originally thinking of using Java (servlets) unless I could figure out webMethods quickly (which I did). This lead me to learn about the new area of ‘Enterprise Application Integration’ or EAI and B2B (business to business) transactions (exchanging data like invoices and purchase orders between companies essentially). At that point, I realized that this was an important and growing area. I’ve been working in this area ever since (about 2003).
Somewhere along the line people started talking about web services. So instead of applications full of code that are hard to reuse, we started to think about creating web services (similar to functions by accessible on the internet). In the corporate world this became SOAP (simple object access protocol) and on the internet, it became REST (Representational State Transfer). SOAP is pretty complicated compared to REST which is another important fact to take note of.
During my work as an integration consultant, I noticed that new areas were getting some interest such as business process modeling (BPM). I was pretty interested in this as well as it made sense to set up a process (step by step tasks that need to be done in a common business process) and plug in either automated or human-performed tasks. This is a higher-level layer than the integration layer of course. The challenge for me was that none of the companies I was getting called by had these types of opportunities (it was fairly cutting edge at the time). Also as a contractor, you are paid for your expertise so whenever you have a major learning project it’s probably best to join a company as an employee so you can learn the new skills. Another way is to pay for your own training and try to be put on a project with other experienced people (in BPM, for example). This is a bit riskier as you have the knowledge but not the experience.
I decided to keep doing webMethods projects which were lucrative and allowed me to ‘retire’ in my early 40s. In 2010 I moved to a semi-rural area of Eastern Canada but was still taking various webMethods projects with large breaks (usually many months) in between. The last one was only 1 day a week from home which was great because I could work on other things of interest. But in general, this work was getting pretty boring (not much new learning).
A few years ago I finally decided to get my health in order. So after reading a lot of books, I felt that a plant-based diet made the most sense. I ended up losing over 35 pounds, lowered my blood pressure and lower my cholesterol to ‘heart attack proof’ levels. I’m on no medications at age 47. In fact, I recently had to buy 30″ jeans which is crazy to me (I’m 6′ tall). So I recommend working on your ability to search, read books and papers and try to decipher some of the studies (say on Google Scholar) as it can be tricky to depend on an ‘expert’ in the field (many of them disagree with each other). My success with this approach ended up turning into an online business (Potato Strong) with ebooks, a program, a course, and coaching along with various social media channels that I maintain.
During the past few years, webMethods integration opportunities have diminished somewhat for various reasons (licensing fees, software competition, the influx of cheaper and/or offshore labor, etc) so here we are at another decision point. I’ve been working on other things but my mathematical and programming interests seem to keep coming back. I feel like there’s so much more I can do that I didn’t get into. I received a Ford Motor Company scholarship in 1988 which paid all my engineering tuition plus some living expenses (value $18,000), and then won an NSERC scholarship which paid for my Master’s degree.
Lately, I’ve been looking into deep learning, which is a subset of machine learning which is a subset of artificial intelligence. Related to that area is data science. Last year I took a Computational Investing course on Coursera taught by Tucker Balch of Georgia Tech. Google, Facebook, Microsoft, and others are investing billions of dollars in the area of deep learning. Just to give you an idea of how much better computers are getting at this type of work, there are computers winning Jeopardy game shows, beating people at chess and Go, recommending what Netflix shows you might like to watch, tagging photos on Facebook automatically (facial recognition), translating languages (Google translate), not to mention self-driving cars.
If you’re thinking of career longevity, you might want to focus on things that require very high-level knowledge or one-on-one contact (nurse). Even things like taxi/truck drivers could be replaced with self-driving cars. At a minimum, these are fun things to read about and even play with. Keep your eye open for changing trends and technologies that could affect your job security.
Forget focusing on fame and fortune. Or being a famous guitarist. Screw goals.
I always get excited when I hear an idea that sounds strange at first but then makes me think in a new way. I often I evaluate a project based on the possible opportunities/expectations ie. thinking of learning how to write mobile apps so I can possibly earn some income or help some group like the disabled. Another one is debating whether to write an ebook to help people with a particular problem and earn some income.
A possibly better way to think when evaluating what to do with your time is to focus on the skills you will acquire. These skills may provide some benefit in the future, especially if they are combined with other skills. Scott Adams mentions that he combined some average drawing ability with humor and his knowledge of the office environment.
Since some of you are likely guitarists you could focus on the skills you will acquire – songwriting, arranging, learning scales (that can be applied to many styles), being able to focus for long periods of time while practicing, and so on. Every day you can focus on whether you are developing skills instead of whether you will be famous or even earn a living at the craft. This is systems thinking versus goals.
Say you want to start a blog to share your knowledge but you are wondering if anyone will care, if you will make any money eventually and so on. You might benefit from thinking about what skills you will acquire instead such as clear and concise writing, learning how to install or update a blog (and related website tasks), doing ‘Deep Work‘ (less distracted), writing longer more well researched posts, etc. That way it’s always a win even if no one ever reads your blog. You’ve still developed very useful skills that can be re-used in the next venture.
Focusing on the day to day systems and skills you will develop instead of the end result is another way of saying to be in the present moment. A lot of our ‘future based’ thinking leads to stress and impatience as we are unhappy that we are not at our goal. I’ve seen a lot of guitarists, dieters, and entrepreneurs be constantly frustrated and even give up because they weren’t seeing results (their future goals) fast enough.
When I was doing IT contracts my skills with integration work, specifically using webMethods software, was in high demand. And the hourly rate reflected that (plus I always asked for a high rate). I specifically chose to learn skills rather than try to move up the ladder so to speak. I often made more money than the managers who were more generalist in nature (not to mention employees).
This change in thinking also changes the questions we ask ourselves. Instead of ‘Am I a famous guitarist?’, ‘Do I have a hit song?’, ‘Am I making lots of money?’, ‘Do I have abs?’, we can ask ourselves if we are doing the work each day – ‘Did I practice today?’, ‘Did I write today?’, ‘Did I improve a little today?’.
I hope this idea is interesting to you. What skills are you currently developing?