John Brooks

Embedded Software Engineer at Ciena

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
John Brooks is an Embedded Software Engineer with 12 years of experience specializing in Linux-based systems programming across user and kernel space, from bootloader bring-up to device drivers and core userspace components. At Ciena he leads kernel upgrades, security maintenance, driver development and full-stack hardware bring-up, having progressed from four consecutive internships to a full-time role. Proficient in C, C++, Python and Git, he pairs hands-on debugging with thoughtful patch integration for projects like glibc and rsyslog. An active contributor to rsyslog, he’s fixed subtle race conditions and improved thread-safety in a widely used logging daemon, demonstrating attention to concurrency and resource cleanup. Based in Ottawa, he is a lifelong learner who seeks challenges that expand his systems and open-source expertise.
code12 years of coding experience
job1 year of employment as a software developer
bookBachelor's degree, Computer Science, With High Distinction, Bachelor's degree, Computer Science, With High Distinction at Carleton University
github-logo-circle

Github Skills (13)

c1710
pthread10
system-programming10
c1110
multithreading10
concurrency10
pthreads10
syslog10
debug9
debugging9
automations8
automation8
linux8

Programming languages (16)

C#JavaC++CSSCMakefileGoPerl

Github contributions (5)

github-logo-circle
rsyslog/rsyslog

Jun 2019 - Jul 2019

a Rocket-fast SYStem for LOG processing
Role in this project:
userBack-end Developer
Contributions:6 commits, 1 PR, 9 comments in 19 days
Contributions summary:John focused on improving the rsyslog daemon's stability and thread safety. Their commits address potential race conditions, including fixes for signal handling within the main loop's timeout. They also implemented thread cancellation handlers to ensure resources are properly cleaned up during termination, and prevented a potential memory error due to incorrect worker thread management. Furthermore, they modified the code to prevent a race condition between signals and timeouts in the main loop.
syslogloggingrocketelasticsearchkafka
OHRI-BioInfo/pyZPL

Jul 2014 - Aug 2014

Contributions:53 commits in 27 days
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
John Brooks - Embedded Software Engineer at Ciena