From teenage coder to Tech Advisor with CITP status

I’ve been in tech since I was a teenager. Of course, back then, things were very different to today.

The web was still evolving. Social media platforms were still up and coming. Facebook? Twitter? Nope… none of that.

My adventures in web development began with with HTML and PHP, Dreamweaver and Microsoft FrontPage!

I started taking on small freelance jobs while at university. I setup my own web development company soon after leaving university. I employed my first full time developer in my early twenties (I didn’t really know what I was doing).

A few years later, I formed a small digital agency with two colleagues I had already been working with on some projects. We plugged away at that for around six years until I finally faced up to the fact it really wasn’t for me.

Being good at something doesn’t always mean it is good for you! ended up independent, co-founded a tech startup, started lecturing at a local university.

I subsequently went independent, co-founded (and sold) a small tech startup, and started lecturing part-time at a local university.

As part of my long and winding professional journey, I wanted to “verify” my experience in some meaningful way. The BCS was a natural professional body to align myself with. I set my sights on Chartered IT Professional (CITP) status from the BCS.

And I achieved it!

For your consideration, I have included part of my written submission below.

In the spirit of rapid tech advancement, I am pleased to say it is already out of date!

Always learning, always moving forward…

My CITP “Breadth of Knowledge” statement

I have a First Class Bachelor’s degree in Computer Science with honours from Brunel University awarded in 2007. I teach PHP web development with MySQL as well as ASP.NET Core web development using MVC and Razor Pages with Code First data modelling.

My professional accreditations include: ISTQB Certified Tester Foundation Level (CTFL) and Scrum.org Professional Scrum Master (PSM I)
I have experience in using open source content management systems and frameworks for website development including WordPress, Magento and OpenCart either in a project management role or hands-on code customisation.

I have programmed in PHP for over 15 years and I have seen the language mature from a basic web scripting language into a fully object oriented language (PHP7). I have worked with frameworks such as CodeIgniter (PHP) for live projects and ASP.NET Core (C#) for teaching. I have built solutions that integrate with third party systems such as Mailgun, FastSMS, and AWS S3. I have front-end coding experience with CSS3 and JavaScript as well as various client-side libraries such as jQuery and Bootstrap. I have led integration projects involving Magento e-commerce and Intact Software. I have worked with SOAP web services and RESTful APIs, processing data formats such as XML and JSON.

As part of my advisory and consultative roles to technology startups, I advocate running “smoke tests” for product ideas instead of pouring money into a large scale project too early. I recommend testing the market with prototypes or mockups. I promote the Lean Startup methodology, of which I have applied to my own startup projects, one of which was successfully sold. This sale involved lengthy negotiations of which I played a key part. I sourced and collaborated with legal counsel to finalise the sale and ensure my co-founders and I were protected legally. Throughout the process, my understanding of the intellectual property (IP) aspects of code creation was enhanced.

One example which demonstrates my creative analysis, design and execution was a client requirement to deploy a translated version of a web application to market within a short timescale. My chosen approach uses a blend of automated translation via the Yandex Translation API with the ability to override the results if more detailed manual translation efforts are needed. As a result, the application can “self-translate” and new languages can be offered at any time using the power of Yandex Translate. It also means that if a new section of the application is developed in English, it will be automatically translated as the application is used. The solution ensures each word or sentence will be translated only once in order to stay within the Yandex API free usage limits and to remove long-term dependency on Yandex. Once a word is translated, it is stored in the application codebase so it does not need to be translated again.

Looking for a Tech Advisor?

Feel free to get in touch. I’m always up for a chat with curious people and even if I can’t help directly, I’ll try to connect you with someone who can.