Cloned from original, this will be the new master copy. Signed-off-by: jasonalexander-ja <jasonalexander.dev@gmail.com> |
||
|---|---|---|
| README.md | ||
Jason Alexander
Developer - LinkedIn | Forgejo | GitHub | Email
General
Software developer with 7 years of experience and over a decade in open source and personal projects. I am in my element working on creative solutions, and taking full ownership of the full software development life cycle, from discovery to delivery. I have a passion for technology and I am eager to share this when I am working direct with clients and stakeholders to push the envelope of what is possible. I want to build cool things.
With experience in .NET (API, Razor, Blazor, MVC & MCP), Python (Flask, FastAPI), and JavaScript (Node.js, React, TypeScript), and a contributor to open-source projects in Rust & C, I count being versatile as important, learning and utilising new tools to better fit new problems. I have worked in cloud-native environments particularly on Azure, as well as on-prem using Windows Server/IIS and Linux/Caddy. I work effectively in both Agile/Scrum teams and independently.
Centrally located in Nottingham, I can travel regularly and at a moment's notice to many major locations across the UK to work in person with different teams and clients.
Experience
Fujitsu Ltd – December 2022 to June 2026
Senior Microsoft Applications Developer
Worked across multiple projects using various skills, including .NET, cloud solutions in Azure, and setting up DevOps CI/CD pipelines.
- Used functional programming design patterns to redevelop a dynamic GDS-compliant (Government Digital Service, following UK public sector digital standards) form builder and data collection tool in .NET MVC, resulting in much better performance, significantly reduced code complexity, and enhanced features compared to the old version.
- Engineered a secure solution for RBAC on GCP data for Azure Entra ID users, enabling RAG-based and semantic search across platforms from a single secure interface.
- Lead the redevelopment of older .NET Framework and VB.NET applications, using my skills in the latest .NET and React technologies to benefit users with a better UX and improved A11Y (accessibility for users with disabilities). I also used my interest and understanding of legacy technology to fully understand legacy applications, match or exceed their functionality, and use tools to reverse-engineer integrations with external provider SOAP, REST and undocumented APIs from the original system.
- Trend set and tutored my team members on best practices for code quality and development, documentation, and testing procedures and methodologies.
- Aided on the 2024 Horizon system postmortem, including developing a new set of high and low level design patterns and development methodology practices reduce chances of the same mistakes happening again.
Source BioScience – August 2022 to December 2022
Software Developer (and part time carer)
- Together, we built a Laboratory Information Management System and e-commerce front end, delivering fast and adapting quickly to stakeholders' needs.
- Guided two developers new to .NET Blazor on component-based design patterns.
- Applied functional programming knowledge and .NET LINQ to develop a concise (~200 line) F# package with a Blazor front end, enabling users to quickly build web UIs for specifying complex queries on demand. This reduced the support team's workload on manual SQL reports.
Aiimi Ltd – February 2022 to August 2022
Software Developer
Developed on-prem Windows/IIS-hosted Python Flask/FastAPI microservices for an on-site client in the nuclear industry.
- Used knowledge of the functional programming approach (structuring code with pure functions, avoiding shared state) and clean, readable coding practices to create code that was easy to test with units. I worked in a tightly regulated environment, using Test-Driven Development (writing tests before code) to achieve 100% test coverage. This ensured that solutions fully met all documented requirements, passed acceptance criteria, and avoided unexpected or unexplained behaviours and major defects which could have potentially severe implications.
- Quickly adapted to .NET Blazor and Azure Cosmos DB. Solely built a GB-wide train driver licensing MVP in just weeks. Oversaw project launch, including CI/CD pipeline setup for Azure deployments.
- Used my ability to clearly explain technical details to non-technical stakeholders, successfully showing the Cabinet Office how the previously mentioned solution would save money. This convinced them to approve the project going live.
Community Brands – May 2021 to February 2022
Software Developer
- Used knowledge of React, JavaScript/TypeScript and functional design patterns to guide, predominantly Java and PHP background team members, in building a next-generation React/.NET API application, enabling rapid and maintainable development.
- Helped with the creation of an internal set of standards and components around React, allowing future projects to quickly bootstrap and build highly consistent apps with ease.
Chevin Fleet Solutions – February 2019 to May 2021
Apprentice Implementer/Implementer
- Worked directly with dozens of clients to gather requirements and used JavaScript with JQuery, .NET Framework, and SQL Server to deliver custom solutions, including custom experience workflows, and data ingestion and connectors.
- Used my knowledge of REST APIs and analysed requests to identify a SQL Injection vulnerability whilst I was an apprentice.
- Used Python skills from personal projects to create an ETL moving data from a legacy desktop app to the modern SAAS solution. This greatly sped up the transition process, from hours to minutes.
Personal/Open Source projects
Vulpine Labs/Designs
Open source bioinformatics collective (now inactive)
- Used my Python skills to improve desktop PyQT5 & TensorFlow applications, enforcing and aiding other maintainers (who are largely of bio-sciences backgrounds) with coding standards, so as to keep the applications easy to maintain and minimise negative impacts on users.
- Redeveloped the project website using React and NextJS with MongoDB
- Developed and maintained the INITIATOR_SET mRNA to protein translation library in Scala.
- Developed PoC genomics web service using Play framework as a wrapper for INITIATOR_SET
- Represented this organisation at the International Astronautical Congress 2021 in Dubai alongside other open source scientific groups searching for support and funding.
Low-Level Projects
Pursued low-level projects to deepen my understanding of high-level systems, leading to better professional solutions
- Since secondary school, I have built computers from TTL logic gates using original designs and online resources to fully understand computer fundamentals.
- Sys09 – a computer based around the 6809 8/16 bit CPU, runs both MS BASIC and FLEX09 OS, this was my first real experimentation with an existing CPU architecture and operating system.
- Julian – a 64-bit computer built entirely from discrete logic gates in the game Minecraft, breaking a record at the time of its construction. I created this because I wanted to experiment with larger CPU designs not practical on real hardware.
Miscellaneous
Worked on and maintained various projects
- apridaptor– Rust and RTIC2-based firmware for the RP2040 to attach a USB keyboard or mouse to the proprietary wired or wireless IR interface, which I had reverse-engineered on the Apricot range of computers from the early 80s.
- armgen – an in-development high-level assembler for the ARM1 processor, the first ever ARM microprocessor.
- ssemu – Rust-based assembler, emulator, and symbolic debugger tools for the Manchester Baby/Small Scale Experimental Machine (SSEM), the first programmable stored computer.
- mynn – Rust-based neural network library which is able to represent all of its internal matrix dimensions at the type level, removing the need for runtime checks and can work on embedded microcontrollers without the need for an operating system to be present.
- nanocom – Rust-based Picocom-like CLI serial terminal emulator designed to work cross-platform.
- dectspansion – A DECT telephone expansion board for EMF Camp's Tildagon electronic badge platform.
- BarBot – .NET, Raspberry Pi-based robotic cocktail maker built for Nottingham Hackspace and EMF Camp.
- CrashTest.Dev - A .NET web app to serve as my "personal knowledge repository", utilising Blazor Web for its flexibility to produce both static and highly dynamic, interactive pages, EF Core with MySQL, Keycloak for locally hosted OIDC sign-in and authentication, and Aspire for easy deployments and fast set-up of local developer environments.