AJ Lewis

Senior Computer Scientist 2 at Adobe

Saint Paul, Minnesota, United States
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
AJ Lewis is a seasoned Senior Computer Scientist with 14+ years designing and hardening distributed storage, DevOps, and user-facing systems across Linux, macOS, and Windows. He blends low-level C/C++ systems work—evidenced by cross-platform ZeroMQ contributions improving memory handling and build portability—with full-stack skills in Python, Ruby, PHP, JavaScript/Angular, and container/virtualization tooling like Docker, VMware and KVM. A proven independent contributor and refactorer, AJ led UI and usability teams at Quantum and now drives engineering effort at Adobe, participating in two successful acquisitions along the way. He’s especially strong at untangling legacy code and making it robust and portable, often addressing platform-specific compiler and allocation edge cases that others miss.
code14 years of coding experience
job22 years of employment as a software developer
bookUniversity of Minnesota Twin Cities
github-logo-circle

Github Skills (15)

c1710
aix10
memory-management10
error-handling10
build-system10
c-language10
mq10
zeromq10
cross-platform10
c1110
cprogramming-language10
multiplatform10
netmq10
api-design9
networking8

Programming languages (6)

TypeScriptC++CJavaScriptPHPPython

Github contributions (5)

github-logo-circle
zeromq/czmq

Sep 2011 - Jun 2015

High-level C binding for ØMQ
Role in this project:
userBack-end Developer
Contributions:71 commits, 1 PR, 1 push in 3 years 9 months
Contributions summary:AJ primarily focused on improving the memory management and error handling within the `czmq` library, a high-level C binding for ØMQ. Their contributions included adding a new `#define` option for propagating allocation errors and modifying the `zctx`, `zmsg`, `zframe`, `zsocket`, and `zthread` modules to check for memory allocation failures using `zmalloc`. They also refactored code for string handling within `zmsg` and addressed several memory-related issues, enhancing the stability and robustness of the library. Further improvements included the refactoring of `zmsg_load` to include error handling.
multiplexerhigh-levelgossipbinding
zeromq/libzmq

Nov 2011 - Feb 2019

ZeroMQ core engine in C++, implements ZMTP/3.1
Role in this project:
userBackend Engineer
Contributions:11 commits, 1 PR in 7 years 4 months
Contributions summary:AJ's contributions primarily focused on improving the build process and ensuring cross-platform compatibility for the ZeroMQ core engine. They addressed build issues on various platforms like AIX, HPUX, and RHEL5/SLES10, adapting the code to specific compiler and system requirements. The user made changes to include necessary header files and correct socket-related data types, demonstrating a deep understanding of build systems and platform-specific nuances within the C++ codebase. These changes ensured the library could be built and run reliably across different operating systems.
concurrencyzeromqnetworkingstreampushpull
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
AJ Lewis - Senior Computer Scientist 2 at Adobe