Building skills for your next job
Just over a year ago, I started a position with words "API Architect" in the title. I have been preparing for this role for years.
A few days ago, I was cleaning up old files, and realised jsut how long I have been reading up and working on APIs, even though it was only a small part of the job at that time.
I started working on SOAP Web Services on an [SDP] (https://hacksaw.co.za/blog/sdp-is-dead-long-live-api-platforms/) in 2007, and thats when I really realised I enjoyed integration work: connecting systems together, to make them better than the sum of their parts. I then played a Solution Architect role a few times after that, and enjoyed the parts that involved integration work. I've never really worked as an Enterprise Architect, but we did very similiar work on the SDP. I suppose not actually being an Enterprise Architect saved me from the religious debates of SOA, and valuing business processes over technical abilities. I see EAs now struggling with APIs and Microservices, and fearing that agile will cause them to lose their beloved governance.
I did integration work on a SAP project in 2011, and read "Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions". I started following Apigee, as they started with API Management. I remember coming across REST in about 2011, and heard of WADL (but only every used WSDLs uptil then)
In 2014, I had proposed to our team of Technical Product Developers, to issue a "Bezos Amazon API Mandate, so that as we build and launch new products, they are integrated into each other by design.
So finally coming into a role that involves APIs at the core, is super exciting. As always, I tie this back to the theme of Relevance, where you need to be building up new skills all the time, preparing for your next job.
Just a few months ago, I worked with two awesome guys, and their stories are really awesome, showing how they landed full time jobs, using only side projects to build these skills.
Vusi joined as a new guy in our Operations team in 2016. He was young and smart, but had no formal System Operations experience, but was keen to learn. Right at the start, he actually did not want to accept the offer, because he really wanted to do Developement. We agreed that our team would give him better skills to perhaps one day do full time, as his current role was not joing to give him any exposure. He agreed to join our team, but always did Android, Node and other developement on the side. He wrote small apps to help with exercising, and to lookup train schedules, and anything that he could learn and practise developement. He attended meetups and code jams, to meet up with other developers. All of that built real skils, so that two years later, I am proud to say he finally landed a full time job as a Android Developer.
An Engineer by training, his current role was not challenging enough. He wanted to do developement, and had so many side jigs writing software, websites, and doing board designs on some electronics projects. I started working with Umar on a side project to deploy Raspberry Pis, and he did all the design, both hardware and software, and made a few dedicated devices that were really well done. He continued to try to find better roles in hus current company, but nothing really came off. However a few months ago, he started a full time role leading one of the teams responsbile for building media devices in a large company, despite not having done this professionally, only as side projects.
Where to next?
The question I need to answer: am I preparing for my next job? Will that be in Data Science (AI/ML), Blockchain, or one of these core skills