Tim Cane
Surrey, UK
Github · LinkedIn
I am a Full-Stack developer with over 11 years of enterprise experience building highly transactional and robust architectures. I specialise in front-end development with professional experience working with The Microsoft Stack, particularly C# and Angular in the Azure Platform. I am proficient at designing highly performant web applications, user experiences and server-side APIs for product-centric.
Technical Proficiencies
.Net Framework / Core / Standard, AJAX, Angular, ASP.NET, Azure, Azure Blob Storage, Azure CosmosDB NoSql, Azure CosmosDB Tables, Azure KeyVault, Azure Serverless Functions, Azure Service Bus, AzureB2C, Bootstrap, C#, Design Patterns, Dev Extreme, DevOps, DotNetNuke, Dynamics 365, Entity Framework, JavaScript, jQuery, KnockoutJS, Mocking Frameworks, NgRX, Node, NPM, NSwag, Octopus Deploy, OData React, ReactJS, RxJS, SQL, TailWind, Telerik, TFS/Git, TSQL, TypeScript, VueJS, WCF
Work Experience
Senior Developer, Thesis
August 2024 - Present
Senior Developer, CloudAttribution
December 2021 - August 2024
I joined CloudAttribution to lead the design and implementation of a modernised SaaS web application to allow for mass growth in both data and customer base in the asset management sector, focusing on Fixed Income and Multi-Asset Performance and Attribution analysis for some of the biggest financial organisations in the world.
- Lead developer on the redesign and rebuild of our SaaS web application using Angular, Typescript, SCSS and DevExtreme for UI components resulting in a significant boost to performance, scalability, and user engagement
- Lead developer on creating an efficient and robust server-side API written in C#, .Net and utilising Azure B2C to provide secure authentication and authorization ensuring data integrity and user privacy
- Utilising NSwag & OpenAPI for automated API documentation and client generation
- Introducing a number of productivity enhancements for internal stakeholders
- Implementing an auto updating client-facing release log based on Azure DevOps
- Creating and maintaining CI/CD pipelines in Azure DevOps to ensure efficient and reliable deployment processes
- Providing technical guidance and assisting with redeveloping the services into a microservice architecture
- Working with a third party on the maintenance and upkeep of our public facing website build using Wordpress
Senior Full-Stack Developer, Silverbear
September 2013 - November 2021
Prior Roles:Full-Stack Developer, Junior Full-Stack Developer, Apprentice Full-Stack Developer.
I joined Silverbear as part of the apprenticeship program and passed with the highest grades in Silverbear history. I quickly worked through the ranks there and soon became a senior developer embedded in the core product team.
- Leading the implementation of highly performant digital solutions for the UK’s largest membership associations/professional bodies
- Part of the core team to design and develop a new real-time, high-transaction finance system
- Working as the Principal web developer across Silverbear, leading the UI efforts for both core product web portals as well as bespoke web applications
- Training and mentoring of junior/graduate developers
- Lead developer on the Silverbear Events Management System
- Assisting in the recruitment process for new developers and testers
- Leading customer workshops for both requirements gathering and training
- Designing high-impact user-friendly UX journeys
- Liaising with customers and consultancy teams for both Agile and Waterfall improvements of products and features
- Introducing both Angular and Vue.JS to the company and they are now standard across the organisation
- Creating and maintaining CI/CD pipelines in Azure DevOps and Octopus
Volunteer Experience
Scout Leader, 1st Chertsey Scout Group
March 2013 - Present
This includes planning and running weekly meetings, yearly camps, and other events. I’m responsible for the safety and well-being of up to 35 young people aged between 10 and 14, including during potentially hazardous adventurous activities.
- Helping to plan a programme and events, whilst thinking about the abilities of my section and the Scouts’ rules and guidance
- Showing organisation, ability to cope with responsibility and decision-making skills
- Attending weekly meetings, where I’ve been responsible for the safety, well-being, and personal development of young people
- Showing leadership, ability to communicate with people of different ages, interpersonal skills, and flexibility and adaptability
- Identifying potential risks (and whom the risks might affect) for different activities
- Working out ways to minimise these risks. showing maturity and responsibility, initiative, decision-making, communication skills, and ability to identify, discuss, and minimise potential hazards.
Personal Projects
Energy Billing, CODENAME: DURBINS ENERGY
My partner works for a renewable energy firm as a financial controller. Her team performs a monthly task to generate an Excel billing file based on meter data from multiple websites. This project has freed up a day’s worth of time for her team each month.
- Implementing a microservice architecture on top of Azure serverless functions to generate a monthly Excel billing file
- Utilising TimerTriggers to enqueue energy meter data collection via a service bus
- Utilising ServiceBusTriggers to dequeue requests, query API endpoints and store data in CosmosDB NoSql documents
- Utilising BlobTriggers to email newly generated files to the recipients via Azure Communication Services
- Utilising Azure KeyVault to store Usernames and passwords for external 3rd party APIs securely
Meter Exports, CODENAME: DURBINS ENERGY
My partner works for a renewable energy firm as a financial controller. Her team needs to record meter readings for monthly account preparation. Each energy plant has meters across multiple websites in a variety of formats. This project centralised the data into a Teams channel to speed up monthly processes.
- Implementing a microservice architecture on top of Azure serverless functions to generate monthly Teams notifications
- Utilising TimerTriggers to enqueue energy meter data collection via a service bus
- Utilising ServiceBusTriggers to dequeue requests, query API endpoints and queue meter usage onto a service bus
- Utilising Teams webhooks to post messages to speed up the end users’ workflows
- Utilising Azure KeyVault to store usernames and passwords for external 3rd party APIs securely
This project is designed to fix an issue my friendship group has around the length of a Spotify “blend” playlist. An auto-generated “Blend” playlist is 50 songs, or around 2.5 hours, containing a selection of everyone’s taste in music. We often listened to a song multiple times due to the playlist length. This project aims to auto-generate our own longer blend playlists whilst still keeping track of who each song is associated with.
- Implementing a microservice architecture on top of Azure serverless functions to record songs added to a “Blend” playlist in Spotify
- Implementing a UI built in Angular to control OAuth flow. With plans to implement a lookup for songs previously in the “blend”
- Implementing rest calls to the Spotify API to retrieve the songs on the current day’s “blend” playlist
- Utilising CosmosDB NoSql documents to record each blend song and the user who added it
- Utilising service buses to communicate between the microservices
Education
City & Guilds Apprenticeship, QA Apprenticeship
September 2013 - August 2014
- Completed 8 Weeks of bootcamp learning software development fundamentals
- Developed and improved my skills with on the job experience
A-Level's, Woking College
September 2011 - September 2013
- A-Level Computer Science
- A-Level Electronics
- BTEC Information Technology
Interests
- Indoor Climbing
- Cycling fast down hills
- Playing computer games
- Programming personal projects
- Camping with my scout troop