Cambridge, England, United Kingdom
A Software Engineer with a range of professional experience across three companies and a drive to deliver. Recently I have worked to upgrade and improve the Board Support Package (BSP) for an embedded Linux environment, requiring a concrete understanding of the Linux bring-up process and the C programming language. Prior to this I attended the University of Nottingham, leading a prize-winning group project and completing a First Class Dissertation written with Java, Python and C. GitHub: https://github.com/carlossss111
- Developed and maintained the Board Support Package (BSP) for our Preempt-RT Linux 5G radios. - Enhanced C applications by utilising newer libraries and reducing compilation warnings. - Upgraded and migrated our build process to a new toolchain that uses a newer kernel and newer Dataplane Development Kit (DPDK) libraries, handling build issues as they arose. - Demonstrated solid understanding of the device’s bring-up process by designing and implementing a safe and reliable firmware upgrade method, utilising redundant partitions on a constrained environment. - Championed Lean Agile methods and chaired scrum ceremonies as the team Scrummaster.
- Worked in a fast-paced team to develop a bespoke Python/Java Network Management System (NMS). - Designed and implemented features of our Microservice Architecture, such as components which handled alarms and performance data using Python FastAPI and Apache Kafka. - Improved read/write performance of our PostgreSQL database by optimising queries, introducing partitioning, normalising tables and implementing the cache pattern with Redis; allowing the NMS to scale to over 10,000 nodes on the live network with a single instance. - Led the cross-team effort on the certificate management feature, spearheading development of an API-Gateway using Java and Spring WebFlux. - Directly supported the customer during major production incidents, quickly and safely resolving issues.
- Redesigned and redeveloped the remote software upgrade process for nodes using Object Oriented Design Patterns, leading to a massive reduction in bugs and man-hours spent fixing issues. - Implemented the Flask provisioning software installed on the nodes and used by network engineers to connect them to the NMS, demonstrating a strong understanding of IPv6 networking.
- Architected and launched Python software responsible for collecting bot metrics data and enriching it. - Spearheaded Test-Driven Development with Pytest and Mocks. - Designed and built MSSQL Tables and Views. - Published a Tableau dashboard to display data to stakeholders. - Built and deployed executable software to target machines, using Jenkins and RedHat Ansible. - Managed an Agile Scrum project with team-members, creating Jira tickets and acceptance criteria. Took ownership of the project as it progressed. - Pitched to stakeholders and frequently communicated with them, allowing for in-depth knowledge of user requirements. - Overhauled tasks that were previously performed by the operations team to free up time for them, adding more value to the business.
- Maintained the Billing System responsible for invoicing customers based on their usage of our cloud datacenters with Java Spring, facilitating new price catalogues and their requirements. - Created and refined Jira tickets as part of the Agile Scrum process, giving the team a clearer understanding of the work. - Monitored the different components’ HTTP and RabbitMQ interactions using Grafana. - Designed Python integration tests, enabling us to verify that the new catalogues added to the billing system were performant. - Automated a daily task by designing a Kubernetes Cronjob to replace it and by deploying it in OpenShift, leading to increased efficiency and a reduction in missed tasks. - Deployed upgrades to the production environment with Helm while following Change Management procedures. - Furthered myself in personal development, having taken courses in MariaDB Administration, SpringBoot, Docker and OpenShift in order to work more effectively.
- Led a team through high-pressure situations in a busy city centre. - Had to use my own initiative for problem solving without guidance. - Cultivated teamworking and leadership skills and by the end of my time there I was taking on increased responsibilities.