
Simon Flack
Verified Expert in Engineering
Software Developer
Jelenia Góra, Poland
Toptal member since May 29, 2020
Simon has 20 years of professional experience as a web developer and has worked for world-leading media, financial, and transport organizations such as the BBC and IG. Over the years, he has used his skills in JavaScript, PHP, and Perl to deliver robust front-end and full-stack applications with a variety of frameworks and libraries. Simon advocates for a strong testing strategy as a key component for maintaining high-quality software and encourages consistency and best practices.
Portfolio
Experience
- Linux - 20 years
- HTML5 - 12 years
- JavaScript - 10 years
- Perl - 10 years
- React - 9 years
- Node.js - 7 years
- PHP - 4 years
- Jest - 4 years
Availability
Preferred Environment
Firefox, Chrome, Visual Studio Code (VS Code), Git, Linux, HTML, XState, Bash, TypeScript, Express.js, Front-end
The most amazing...
...challenge was reverse-engineering software to extract data from the BBC Domesday Project, a historic census from 1986, stored on laserdisc in a custom format
Work Experience
Full-stack Developer
Arena Labs, Inc
- Built a web app with Next.js, and later, when mobile became a requirement, I released it in iOS and Android app stores using Capacitor.
- Mentored front-end and back-end developers and led by example in terms of code quality and best practices. I created documentation and educational videos to help ensure we were all rowing in the same direction.
- Created a suite of GitHub Actions to help automate our release processes, as well as ad-hoc maintenance functions like in-app service status notifications and third-party resilience.
- Paired with a newly hired QA engineer to help set up automated tests for our app.
- Worked closely with the designers, product owner, and project manager to ensure that projects were properly scoped and we could deliver on requirements.
- Created a Capacitor plugin to interface with a Bluetooth biometric device. I wrote a clean asynchronous API and implemented both Swift and Java versions for iOS and Android. The plugin handled concurrency via queues, with error handling and full logging.
- Integrated with 3rd parties so that we had full visibility on app usage and over-the-air app updates.
- Built reusable libraries and design patterns to prevent code duplication and actively reduced technical debt, allowing our team to remain agile and flexible.
Senior Front-end Developer
OnTrack Retail
- Developed a responsive retail ticket sales platform for a company operating five of the UK's railway network franchises.
- Created responsive web applications for customers to apply for compensation for delayed journeys according to the national delay repay scheme.
- Designed and built a MongoDB-backed API to quickly and efficiently querying train timetables and validate customer-entered journeys.
- Created a self-service ticket refunds feature for customers.
- Extracted core functionality from the existing app so that it could be re-used to quickly bootstrap new products and services that talk to our APIs.
- Improved developer tooling, simplifying repetitive tasks and speeding up Travis build times.
- Mentored junior developers and helped to share domain knowledge.
Senior Front-end Developer
IG
- Conducted telephone screening and in-person technical interviews for the position of junior and senior developers.
- Developed a UI for investors to interactively filter thousands of markets using fundamentals and other criteria.
- Refactored custom server-rendered pages to share front-end templates.
- Initiated weekly tech meetups for other team members to share interesting tech news and innovative processes.
- Worked with iOS and Android teams to fix issues in embedded web views.
Front-end Developer
BBC
- Developed the front end for custom CMS document repository and filtering.
- Implemented instant and scheduled publishing interfaces according to design.
- Translated business requirements into BDD tests and built monitoring tools to highlight failing tests.
- Supported legacy CMS platform and created migration tools for the new platform.
- Created a visual "segments editor" for media publishers to generate thumbnails and short clips as part of a media publishing pipeline.
- Built a schedule builder to create timetables and assign program metadata to multiple live streams as part of the London 2012 Olympics programming.
- Created and maintained plugins for a custom publishing workflow.
- Built a multi-file upload component capable of handling very large media files, supporting resumes, and reporting back transcode status.
Software Engineer
BBC
- Worked with production teams to develop interactive websites using custom tools.
- Designed and developed a desktop CMS application with an Oracle-backed SOAP server for managing, transforming, and publishing vast repositories of XML content.
- Developed an FTP interface to simplify bulk import and export of content.
- Published the organization's first open-source contributions and ported the Document and View framework in wxWidgets to wxPerl.
- Embedded Internet Explorer for in-editor CSS-based preview and full XSLT preview of the content.
- Implemented common editor functions such as in-editor find and replace, cross-repository find and replace, and spell-check.
- Demoed new features on a monthly basis and incorporated user feedback into future releases.
- Completed a Bayesian analysis of 45,000 articles for categorization in the People's War Archive.
- Recovered data from Laserdisc in legacy format for the BBC Domesday Reloaded project.
Experience
Booking Engine
https://ticket.greatnorthernrail.comDelay Repay Compensation
https://delayrepay.southeasternrailway.co.uk/Darwin
Market Screener
https://www.ig.com/uk/markets-stock-screener?country=GB,USFLiP - Factual and Learning Interactive Publisher
Arena Strive
http://arenalabs.coI also helped build internal tooling for coaches, as well as automation for things like releases, maintenance, and analytics.
Skills
Libraries/APIs
Node.js, React, jQuery, Backbone.js, Handlebars, Raphaël, wxWidgets, ODBC
Tools
Git, Webpack 4, Webpack 3, Capacitor, Webpack, Gulp, Grunt, Webpack 2, Braintree SDK, NGINX, Subversion (SVN), Behat, Google Analytics, Docker Compose
Languages
JavaScript, Perl, TypeScript, CSS, HTML, HTML5, Less, Sass, XML, PHP, SQL, Bash, XSLT, Python, Objective-C, Swift, Java
Frameworks
Jest, Express.js, Next.js, AngularJS, React Native, Ionic, Chrome, Redux, Zend Framework, Jasmine, PHPUnit, Tailwind CSS
Paradigms
Test-driven Development (TDD), REST, Mobile Development, Behavior-driven Development (BDD)
Platforms
Vercel, Linux, Docker, Apache2, Amazon Web Services (AWS), Android, iOS, Firefox, Oracle, Visual Studio Code (VS Code), Azure
Storage
Amazon S3 (AWS S3), MySQL, MySQLdb, MongoDB, PostgreSQL, Redis
Other
Regular Expressions, API Design, Debugging, Full-stack, Web Development, Architecture, Web Scraping, APIs, Content Management Systems (CMS), Technical Leadership, Software Architecture, API Integration, Email Automation, Front-end, User Interface (UI), Full-stack Development, Back-end, Data Scraping, Scraping, Data Enrichment, UI Testing, Algorithms, RSync, SSH, XState, Accessibility, Integration, PayPal, Large Language Models (LLMs), iPad, ChatGPT API, OpenAI, Bluetooth, Email Parsing, Chatbots, User Experience (UX), Infrastructure as Code (IaC), OLE, Mobile Apps, Videos, Zustand
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring