My CV
I’m an experienced Senior iOS engineer, used to working in close collaboration between design, engineering, business and product teams, to create great software.
I build highly tested, well-architected, documented and accessible software, easy for other developers to work with, and easy for its target audience to use.
I love working on greenfield projects, and enhancing existing products. I have a passion for building software that has a positive impact on people's daily lives.
Projects
Writing at www.neilmacy.co.uk
- I’ve been writing articles about iOS development, tech, and more, for over 5 years. My articles have been featured in the popular iOS Dev Weekly newsletter, with over 40,000 subscribers, in issues 675, 679, and 699.
- I find writing to be a really helpful way to consider and share solutions to problems, and take the same approach to internal team and company communications.
Career History
BJSS is a consultancy. In this role, I am both a Software Engineer and a Squad Lead.
Software Engineer
- Working on a new authentication system on a live client app, integrating a new 3rd party SDK, focusing on an approach that is thoroughly documented and tested to avoid incidents upon release.
- Implemented a new design system, using SwiftUI to create reusable, accessible and flexible components. These components were created in close collaboration with designers and Android developers, and are used by the development team to rewrite app UI with an emphasis on accessibility.
- Rewriting flows of the client’s existing app, including the core payment flow, to implement simpler architectural patterns and use new design system components.
- Focusing on accessibility, making components highly accessible for the largest range of user requirements.
- Improving test automation through tools like snapshot testing, to speed up test runs while adding coverage and confidence in testing.
Squad Lead:
- Professional development, including performance reviews, goal-setting, and support with professional and personal issues.
- Supporting regional leadership team with project allocation and office initiatives.
- Led engineering on major features. This involves scoping and planning with the product and design teams, breaking work into components that can be implemented in parallel by the engineering team, and planning the test and release strategies.
- Automated the Rider iOS app’s release process, replacing complex scripts with clean, well-documented CI steps that are clearly understood by all involved.
- Drove improvements in automated testing, including adding snapshot testing to validate UI implementation, to improve app quality and increase business confidence in automated release process.
- Mentored new team members, in particular junior developers, including a new graduate with no prior iOS experience.
- Led iOS development, working with Android, backend, design and product colleagues to build out features to grow the business.
- Worked with the CTO and Head of Product to quickly iterate on new features, to test out a new product/market fit for the Coconut product, while also significantly improving the app codebase. This in turn enabled quicker experimentation.
- Professionalised the development process, bringing in things like continuous integration, automatic deployment and biweekly releases.
- Led Atom’s iOS team, including leading development of new features, writing and reviewing code, and upskilling and mentoring developers.
- Coordinated with team leads from across the business, to plan current and future work, and identify future technical and process improvements.
- Worked closely with an external agency who led a complete rewrite over 2018-19, with responsibility for managing the transition to Atom’s internal development team.
- Sole iOS developer, and from January to June 2018 was the sole Android developer.
- Introduced new Coordinator architecture to the iOS app to improve code structure and testability, and integrated this while working on feature development.
- Developed API-driven remote configuration tools in collaboration with server team.
- Designed and implemented mobile CI pipeline, using Fastlane and Jenkins.
- One of Apple’s App Store Apps of the Year 2017.
- Created an Android app to demonstrate the company’s summarisation AI.
- Built Android app from scratch, using MVP architecture.
- Worked alongside iOS developer, designer, and co-founders to identify, design and build features for the app.
- Developed CI pipeline and testing strategy for mobile apps.
- Moved into Android development as part of the team building Fantasy Soccer. This was a brand new app made for the 2014/15 season.
- I worked on pretty much everything across the app as one of the founding Android developers on the team. This included developing UI features like dragging and dropping players on your team's pitch, working on tools like CI integration, and I even led work to convert from the Ant build system to Gradle.
- I also contributed to the iOS codebase, for example implementing support for the iPhone 6 Plus screen size when it launched.
- Designed and built Java tool to translate internal data to external standard (FIXML), and integrated it with external partner systems.
- Built UI in .Net to allow non-engineering colleagues to manage post-trade business rules without having to raise requests to the development team.
Education
- Masters project: Prototyping A Police Notebook On Android. Police notebooks are a unique type of notebook, with very particular requirements. In this project I experimented with different keyboard layouts and autocomplete algorithms with the intention of enabling fast text input, while the user was looking away from their device.
- Honours project: Exploring The iPhone's Sensors. This project approached the iPhone as a relatively new kind of device, in 2010, and aimed to explore the capabilities of new sensors such as the proximity sensor and accelerometer. I created a game to demonstrate the learnings.