Hey, this is my first blog post, welcome! I am starting to write about things I find interesting personally, as well as what I am up to professionally. I hope to contribute something useful for those who are in a similar situation in the future.
I am currently working as a 'hands on' lead software developer for Lumina Learning. My team's focus is on the big picture software architecture strategy rolling out IAM+SSO enabled Microservices - for digital apps for web and mobile. I am also running my web business Bubbly Clouds providing web hosting, domains and SSL in addition to my other side projects.
Aside from coding and keeping up with the latest tech, I am into cooking, music, badminton, cycling - none of these are too serious, it's just for fun! I've also started doing park runs. Basically all of these things are good for the mind and it's good to escape from technology where possible when working with it day to day.
My professional story up to now...
- University of Southampton - BSc Computer Science - First Class Honours
Following Computer Science Degree...
- I became an Internet Services Developer working with hosting providers on uptime and growth tracking, and anti-phishing at Netcraft, and did a one off interview with The Guardian and wrote some other blog posts. It was a great team to be a part of.
- I then became a Senior Software Developer and entered Modern App Development: Launched a mobile app for Lumina Learning used by thousands delivered natively for Android in Java, iOS in Objective C and Web in AngularJS
- Next I became Lead Software Developer at Lumina and outlined my vision in a strategic roadmap...
Achievements so far since leading...
- Following my roadmap we rolled out modern microservice infrastructure with a Single Sign On Identity Provider which maps to a custom legacy PHP based monolithic user store. This was achieved with Auth0 for Identity as a Service, with Node.js on the server and AngularJS on the client.
- Successfully lead third party integration projects with large clients, from automating the sign up and tracking of job applicants, to helping Dropbox marketing teams discover themselves.
I am building my brand, as part of this I am outlining my values.
I take responsibility for everything which happens, ultimately I am empowered to choose my own values and focus on what I want to do - it's good to keep perspective and re-evaluate what's most important.
Depending on how we measure an event it can be perceived as good or bad, so choosing the right metrics to measure our values is important to staying grounded. Values should be immediate and controllable. I need to be able to say no and reject things which don't align with my values. I am aware that I won't be here forever and need to keep things in perspective and not waste time solving problems which don't match with my values.
- Correctness - the quality or state of being free from error; accuracy. If I or my team do something, time should be taken to ensure it is implemented correctly.
- Vision - the ability to think about and plan the future with imagination plus wisdom from my past experience and knowledge.
- Success - the accomplishment of an aim or purpose. The sum of small incremental successes equals big success even if there are challenges along the way.
- Simplicity - I actively remove unnecessary complexity, whether it be unnecessary state in programming, or team members needing help to break up a problem into achievable steps.
- Authenticity - I am genuine and the true me, I am easy to get to know, I prefer not to be overly formal and prefer to be natural.
- Honesty - I say what needs to be said straight to the point, and defend logical decisions. If I don't know something I acknowledge it to be able to discover my own flaws.
- Learning - I am always learning new things, and wanting to keep up with new ideas. I am aware how I do things will eventually become outdated and replaced.
- Imagination - I enjoy seeing the big picture and imagining new ideas and solutions to problems. Imagination helps make knowledge applicable in solving problems.
- Architecting systems - Use my vision to architect new digital platforms and products. Create transformational roadmaps which outline how to implement the groundwork to deliver innovative apps and services which form platforms of the future.
- Continue learning new techniques - in distributed microservice infrastructure and serverless computing with function as a service.
- Testing - my recent focus has been on writing functional code which is stateless, as these are more testable it makes sense to put a bigger emphasis on testing functions and APIs as a next step for more predictable deployments.
- Being content - Stoicism, be comfortable with being uncomfortable, to feel content rather than focussing on being happy or sad extremes, for there to be rainbows there has to be both rain and sun.
- Keep things in perspective - Mindfulness body scan meditation to focus on feelings in the here and now, rather than being anxious about what is to come.
- Managing expectations (mine and others) - it's best to be realistic and avoid overpromising. Plus avoid having unrealistic expectations of others.
- Perception of being in control - This is about how you perceive it - instead of measuring it by if everyone else is happy (which is out of my control), instead stick to measuring what I can control such as response to an event.
- Reduce the unknowns - by preparing for the future such as investing time for my self development I am ready for what's next whatever happens.
Thanks for reading, in the next post I share an overview of Becoming a tech lead.
Connect with me on LinkedIn