Graham Penrose (né Harper)
With eighteen years of experience across a wide variety of sectors and technologies, ranging from finance to mobile video entertainment, I can bring insights to solving problems that other engineers sometimes miss. I've worked on everything from embedded microprocessors to web-backed mobile applications, and can bring a capable eye and big-picture thinking to any software team. However, I also know my own limitations and I understand the importance of teamwork. I like to challenge and be challenged by my colleagues in equal measure. I'm not afraid to say "I don't know", but I also understand that those moments are learning opportunities - I love finding solutions to novel problems, be it through working with inspiring colleagues or my own independent research.
As an independent professional I'm comfortable working on my own to meet crunch deadlines, but I have experience leading small teams and I'm always excited for opportunies to mentor junior developers, or to work with project managers and other non-technical stakeholders to improve products and processes alike.
Skills
- C#, VB.NET, T-SQL
- ASP.NET/.NET Standard/.NET Core
- Web API
- MVC
- Entity Framework
- SQL Server
- Azure
- JavaScript, TypeScript
- React, Angular
- Node.js
Experience
c#, vb.net, asp.net-mvc, javascript, sql-server, azure
Designed and implemented enhancements to iLUKA's Pulse hospitality management platform to accommdate strict accessibility requirements for a global enterprise client for Euro 2024 and the Paris Olympics/Paralympics. Worked in tandem with a 3rd-party app agency to implement an Azure integration to support bulk mobile device notifications for another global enterprise client, delivered to a tight timescale and in time to mitigate impacts from the French railway arson attacks at the start of the Olympics. Created proof-of-concept Docker container implementations to support migration of a legacy software platform to a modern DevOps pipeline.
c#, asp.net-mvc, reactjs, typescript, sql-server, oauth, azure
Working to a strict deadline to support a brand new product launch at an upcoming trade show, I developed a full-stack user administration portal for use in high-security networked environments. Some of the datails of this project are confidential.
Personal development following my marriage. I used this time to refresh my creative skills and resumed singing at a high level with an auditioned London choir.
c#, asp.net-mvc, angular, reactjs, typescript, sitecore, sql-server, amazon-web-services
Repeat client, working as a sub-contractor for Just Eat Takeaway (JET) and easyJet. Helped to deliver high-availability, highly SEO-optimised content globally for JET's local brands, and was part of the team that developed and deployed a new platform for generating partner websites ("microsites") for in excess of 30,000 restaurant partners, including migrating legacy markets and new business acquisitions in the Netherlands and Canada to JET's microsite platform. Assisted in handover of the JET Team Lead role between outgoing and incoming permanent hires. For easyJet, I worked to develop proof-of-concept implentations for a major Sitecore upgrade to support both new and updated CMS tooling.
reactjs
Refactored an extensive legacy code-base to enable migration to the latest version of React and implemented Storybook for component testing. Developed proof-of-concept novel components for enhanced data management for the gliderbim building information management system, before handing off to a permanent hire.
c#, asp.net-mvc, angular, reactjs, typescript, sitecore
Working as a sub-contractor, I helped Valtech deliver their easyJet account, working alongside their Tactical (new features) development team. I provided subject-matter expertise on React and TypeScript as the team transitioned from an old version of Angular to React.js, while also enhancing my knowledge of functional component design and the Hooks paradigm (in addition to my previous experience with class-based components).
asp.net-mvc, c#, vb.net, teamcity, sql-server, oracle, wcf, typescript
I joined the Web Portals team at Activus as a contract developer, to help deliver a busy pipeline of client feature requests, working on everything from legacy systems ported from VB6 to VB.net, to customer portals utilising modern JavaScript libraries such as React.js. Although not part of my initial remit as a contractor, I helped the team to develop and refine their use of TypeScript and create a more unit-testable architecture for their JavaScript application layer.
Previous Employment
asp.net-mvc, mongodb, amazon-web-services, sql-server, amazon-sqs
I joined Invitation Digital as a Senior Developer on their Giftcloud team, initially spending time familiarising myself with their application stack through normal sprint development and bug maintenance. I worked with the team technical lead to develop a new infrastructure and scaling project to address performance issues with the application data layer.
asp.net-mvc, webforms, umbraco, azure-search, c#, asp.net, asp.net-mvc, azure-search, c#, asp.net, umbraco, sql-server, azure-web-app-service
As technical lead for one of Felinesoft's client projects I assumed responsibility for ensuring the technical quality of delivery and mentoring other members of the team in best practice development. I worked with the team to improve our development and release processes, as we transitioned to a continuous integration and delivery life-cycle based on the recently released Azure CI tools.
As a Senior Developer at Felinesoft, I worked with a variety of clients on bespoke (typically web-based) software solutions, using .NET web stack technologies (including Azure services).
reactjs, typescript, node.js, cordova, android, ios, java, objective-c, asp.net, web-api2, entity-framework, sql, azure
One of the founding employees and senior developer, then Technical Lead, at Picton Street Media, I was responsible for guiding the startup team as we developed a cross-platform mobile game and video entertainment platform.
asp.net-mvc, sql, jquery, knockout.js, asp.net, vb.net
As Parmenion's second permanent software developer, I was part of the team that created Interact, Parmenion's industry-leading automated robo-advice service for managed investments. I helped migrate their outsourced advice platform from ASP.NET webforms with a custom data layer to an in-house solution built with MVC and Entity Framework.
Education
java, c++, matlab, uml, logic
Engineering Design was a multidisciplinary course with a focus on engineering leadership and solving large-scale multidisciplinary design problems. I specialised in the Design Information Systems stream, which focused on software engineering, including database design, propositional logic, and computer modelling.