David Marques

Research Software Engineer at Meta

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

👤
Senior
🎓
Top School
David Marques is a Research Software Engineer with 16 years of experience applying machine learning research to build reliable, real-world products that improve people’s lives. Based in Canada and currently at Meta, he brings deep expertise in Android and backend systems from a long history of mobile platform roles and senior engineering positions. A prolific open-source contributor, David made notable fixes to RxJava/RxAndroid—improving scheduling, unsubscription behavior, and memory management in a widely used reactive library. His background spans platform engineering at LG and Google-related projects through the Open Handset Alliance, reflecting both low-level systems fluency and a product-minded approach. Known for pragmatic refactors and rigorous test additions, he blends research curiosity with production-grade engineering.
code16 years of coding experience
job5 years of employment as a software developer
bookBCS, Computer Science, BCS, Computer Science at Universidade Católica de Pernambuco
stackoverflow-logo

Stackoverflow

Stats
1reputation
1kreached
0answers
1question
github-logo-circle

Github Skills (12)

unit-testing10
javas10
rxjava10
android10
java10
rxjavafx10
concurrency9
mobile-development9
android-sdk9
reactive-streams9
testing8
multithreading8

Programming languages (5)

JavaC++ShellAssemblyPython

Github contributions (5)

github-logo-circle
ReactiveX/RxAndroid

Jun 2014 - Nov 2014

RxJava bindings for Android
Role in this project:
userAndroid Developer
Contributions:8 commits, 2 comments in 5 months
Contributions summary:David made several contributions to `rxandroid`, primarily focused on improving the scheduling and handling of asynchronous operations within the Android environment. Their work included ensuring the correct removal of delayed runnables when unsubscribing, refactoring code related to detached views, and implementing enhancements to how the library interacts with the Android `Handler` and `Cursor` objects. These changes aimed to improve resource management, prevent memory leaks, and enhance the overall stability and performance of the RxAndroid library.
androidrxjava
ReactiveX/RxJava

Jun 2014 - Jul 2014

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
Role in this project:
userBack-end Developer
Contributions:5 commits, 1 PR, 8 comments in 1 month
Contributions summary:David primarily contributed to the `rxjava-android` module, focusing on the `HandlerThreadScheduler`. Their work involved ensuring correct subscription behavior, particularly around removing callbacks from the Handler when unsubscribing from an observable. They refactored the code to utilize `ScheduledAction` for proper unsubscription chaining and correct variable naming. Furthermore, they added tests for `OperatorObserveOn` to prevent calling `subscriber.onNext()` after an unsubscribe.
asynchronousjavajvmreactive-extensionsrxjava
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