Alan Knight

Staff Software Developer at Workiva

Ottawa, Ontario, Canada
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Alan Knight is a seasoned software engineer, architect, and engineering leader with 14+ years of experience building language libraries, frameworks, and developer tools across Dart, Smalltalk, and Java ecosystems. Currently a Staff Software Developer at Workiva, he previously shaped internationalization and core library behavior as a long-time member of Google’s Dart team and primary maintainer of the widely used intl package. His strengths include object-oriented design, object-relational mapping (TOPLink/Glorp), and pragmatic refactoring—skills honed over decades working on VisualWorks, EclipseLink foundations, and product engineering. Alan combines deep language-level expertise with a penchant for tooling and build-time code generation, exemplified by his contributions to intl_translation and locale/date handling across CLDR versions. Colleagues rely on him for clean architectural vision and steady mentorship through complex migrations and cross-team integrations. Based in Ottawa, he pairs academic rigor from Carleton University with a practical focus on shipping reliable, internationalized software at scale.
code14 years of coding experience
job21 years of employment as a software developer
bookMCS, Computer Science, MCS, Computer Science at Carleton University
github-logo-circle

Github Skills (8)

date-formatting10
internationalization10
localization10
code-generation10
date-format10
dart10
cldr9
json9

Programming languages (7)

TypeScriptJavaCSSJavaScriptHTMLDartPython

Github contributions (5)

github-logo-circle
dart-archive/intl

Aug 2012 - Nov 2019

Internationalization and localization support
Role in this project:
userLocalization / Internationalization Specialist
Contributions:299 commits, 21 PRs, 108 pushes in 7 years 3 months
Contributions summary:Alan primarily contributed to the internationalization and localization support for the project. They implemented support for handling date formatting across various locales by adding and correcting localized date formats, and handling issues where date-time parsing could fail or produce incorrect results due to time zone transitions. The user also updated the intl package to support CLDR 29 and 30 data for various locales, demonstrating an understanding of internationalization standards. Their work included improvements such as making the default locale a user setting in Intl, handling message translations, and refactoring parsing for efficiency.
localization
Message extraction and code generation from translated messages for the intl package
Role in this project:
userBack-end Developer
Contributions:62 commits, 14 PRs, 40 pushes in 2 years 5 months
Contributions summary:Alan primarily focused on enhancing the `intl_translation` library by modifying and refining its core functionality. Their work included refactoring the message extraction and code generation processes, moving components into separate packages. They also implemented improved error checking within the `Intl.message` calls, and added a utility to make examples constant, and a new mode for release code generation. Furthermore, the user contributed to improved handling of locale initialization and also added support for generating translations as JSON data, demonstrating a deep understanding of the library's internal workings.
code-generation
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial