Objective
A challenging position with an ethical dimension that provides opportunities for using my existing skills, developing new ones, and driving positive change via .
Skills
privacy engineering/consulting
software engineering
social network analysis
algorithm and data structure analysis
machine learning/data mining
API/library design
technical writing and communication
teaching technical subjects
technical leadership
asking uncomfortably incisive questions
Languages/Tools
Java, Go, SQL, Python, Sawzall, C#, C, LaTeX, HTML
VS Code, Flume, Eclipse, Matlab, Weka, AMPL
Environments
Google production (Borg), Mac OS X, Linux/UNIX, Windows, DOS
Industrial and Research Experience
2008 - present Google, Seattle, WA
Software Engineer and Privacy Engineer for several teams. Mentor for several new team members and interns.
Co-lead, Digital Markets Act Portability Compliance (2023-Q1 2024)
Team assembled to build a compliance program for DMA 6(9) (enabling users to export their data to third parties).
Operationalizing an experimental high-level compliance framework.
Lead for risk analysis and control design; worked with engineering teams to establish and communicate requirements.
Lead, Infrastructure Privacy Working Group (2018 - present)
Team responsible for privacy consultations and reviews for several hundred cross-Google infrastructure systems, including storage, query engines, indexing, access control, and logging. Our mission is to support infrastructure teams in achieving good privacy outcomes for their systems and their clients'.
Lead and sole full-time member, Q3 2018 - Q3 2019; built team from 1 to 7 full-time members and from 0 to 15 volunteers.
Established team's scope, strategic direction, and culture.
Built review process and volunteer program; trained new members and volunteers; created most of the team documentation.
Directly contributed to 800+ reviews and consultations.
Worked to centralize or distribute decision-making, as appropriate, including removing single points of failure and creating policies.
Reduced infrastructures’ externalization of privacy costs on clients.
Developed infrastructure standards and privacy process improvements.
Lead, Corp Eng Product Area Privacy Working Group (2018 - 2019)
Team responsible for all Corp Eng PA privacy consultations and reviews.
Lead and sole full-time member from Q3 2018 - Q3 2019; the team now has 20 members and 27 volunteers.
Built review process and volunteer program; trained new members and volunteers; created most of the team documentation; ensured a smooth transfer of responsibilities to the new team.
Directly contributed to 300+ reviews and consultations.
Java Library Development (2008 - present)
Created and led a project to develop the common.graph package of Guava, a Google-owned open-source Java utility library. Released in 2015; used widely both inside and outside Google.
Reviewed Java API proposals.
Kythe (2016 - 2018)
Kythe is Google's open-source code indexing system: it constructs and serves the semantic graph of code definitions and references, which enables code navigation and static analysis.
Gathered requirements for, designed, and implemented a new service to support existing clients after a service migration.
Created documentation for creating new Kythe services.
Wrote a proposal for a cross-language structured source code documentation rendering service.
Focus Backend Service (2010 - 2016)
Core infrastructure service for social relationships (profiles, contacts, etc.).
Google+: identified and resolved privacy, data consistency, and significant technical debt issues.
Hangouts: led effort to design and implement infrastructure for initial launch in 2013; go-to person for related issues and additional features.
Built/maintained systems for maintaining data integrity, removing obsolete data, and recovering corrupted/accidentally deleted data.
FreshDocs Crawl Scheduler (2008 - 2010)
Search infrastructure system for new/fast-changing web content.
Led a project to provide metrics, pipelines, and dashboards supporting MapReduce jobs, Sawzall scripts, and Dremel (SQL) queries.
Drove an effort to improve filtering of spam/malware/phishing URLs.
2003 - present JUNG Framework
Founder/Architect/Lead Developer for JUNG, a free and open-source Java library for representing, manipulating, analyzing, and visualizing graph/network data. One of the top 2 Java open-source graph libraries; used widely in industry, academia, and government. Downloaded more than 300,000 times.
Designed and implemented APIs, data structures and algorithms
Created documentation; provided support, maintenance.
Currently replacing the basic data types with those from common.graph (see above) to make JUNG’s capabilities even more broadly available.
2006 - 2007 Microsoft, Redmond, WA
Applied Researcher, Windows Live Safety Platform. Member of an applied research team which worked on safety-related problems (spam, phishing, reliability, filtering, etc.).
developing models for software reliability
botnet detection: developing models, creating prototype implementations, writing internal whitepaper
developing models and simulations for web content filtering methods
designing generalized data mining architecture for log data
2004 Hewlett-Packard Labs, Palo Alto, CA
Research Intern, Information Dynamics Laboratory. Developing and implementing machine learning models for predicting link formation and measuring relationship strength in social networks.
2001 - 2006 U of California, Irvine Computer Science Dept.
Graduate Research Assistant. Research included
importance/centrality models for temporally evolving networks
link prediction models for network data
UCI KDD Project: Entity-Based Data Mining from Spacio-Temporal and Text-Based Data Streams
content models for web page collections
neural network-based strategies for the iterated Prisoner's Dilemma
a text retrieval system based on correlation-based term expansion
Teaching Assistant for upper-division course in social analysis of computing.
1999 - 2001 U of Oregon Computer Science Dept.
Graduate Research Assistant. Research included
PIRATE : peer-to-peer system for data exchange incorporating security, payment, and reputation mechanisms
Graduate Teaching Fellow. Instructor for upper-division data structures course; teaching assistant for upper-division/graduate AI course, lower-division algorithms/data structures courses.
1999 Mare Crisium LLC, Portland, OR
Software Engineer for a computer strategy game (Stars! Supernova). Designed and built geometrical models, image manipulation, and interface components.
1999 U of British Columbia Computer Science Dept.
Research Assistant in computational geometry.
1998 Facet Decision Systems, Vancouver, BC
Operations Research Analyst. Researched models for a water resource management problem.
1997 U of British Columbia Mathematics Dept.
Research Assistant in algorithmic graph theory.
Teaching Assistant. Instructor for introductory calculus course, and tutor for linear algebra and calculus.
1995 - 1997 ImageNation Corporation, Beaverton, OR
Software Engineer. Designed, implemented, tested, and maintained drivers, libraries, tools, and sample programs for image capture devices; technical support; wrote and edited documentation; investigated hardware issues.
1994 - 1995 PC-Kwik Corporation, Beaverton, OR
Technical Support Specialist. Helped customers to fix technical problems and resolve compatibility issues for PC utility programs.
Education
2001 - 2007 U of California, Irvine Computer Science Dept.
Ph.D. candidate, concentration in Artificial Intelligence. GPA 3.857.
1999 - 2001 U of Oregon Computer Science Dept.
Ph.D. student. GPA 3.90.
1997 - 1999 U of British Columbia, Mathematics Dept.
M.Sc. in Applied Mathematics. GPA 3.67.
1990 - 1994 University of Oregon
B.A. in Computer and Information Science and Mathematics. GPA 3.13.
1986 - 1990 Thomas Jefferson HS for Science and Technology, Alexandria, VA
Graduated. GPA 3.5.
Conference/Workshop Presentations
J. O'Madadhain and G. Young. Privacy for Infrastructure: Addressing Privacy at the Root: How (Not) To Externalize Privacy Costs Onto Infrastructure Clients. June 2021. [PDF, recording]
J. O'Madadhain. JUNG: A Brief Tour. M2K (Music-to-Knowledge) North American Workshop, June 2005. [PDF slides]
J. O'Madadhain, P. Smyth, and L. Adamic. Learning predictive models for link formation. International Sunbelt Social Network Conference, 2005.
S. White and J. O'Madadhain. A Brief Guided Tour of the JUNG (Java Universal Network/Graph) Framework. Workshop on Statistical Inference, Computing and Visualization for Graphs, August 2003. [PowerPoint slides]
J. Madden and R. Anstee. Going Critical: Finding Diameter-Critical Spanning Subgraphs. Workshop on Computational Graph Theory and Combinatorics, May 1999.
Publications
J. O'Madadhain, J. Hutchins, and P. Smyth. Predicting links in networks using probabilistic classifiers. Submitted to the International Conference on Machine Learning, 2006.
J. O'Madadhain, J. Hutchins, and P. Smyth. Prediction and ranking algorithms for event-based network data. SIGKDD Explorations, 7(2).
J. O'Madadhain and P. Smyth. EventRank: A framework for ranking time-varying networks. Third International Workshop on Link Discovery (LinkKDD'05), August 2005.
J. O'Madadhain, D. Fisher, P. Smyth, S. White, and Y.-B. Boey. Analysis and visualization of network data using JUNG.
J. O'Madadhain, D. Fisher, S. White, and Y. Boey, The JUNG (Java Universal Network/Graph) Framework. UCI-ICS Tech Report 03-17, October 2003.
J. O'Madadhain and D. Fisher. The JUNG (Java Universal Network/Graph) Framework Manual. August 2003.
J. Madden. Going critical: an investigation of diameter-critical graphs. Master's thesis, Institute of Applied Mathematics, University of British Columbia, 1999.
C. Budd, C. Jessop, S. Kavousian, M. Lamoureux, J. Madden, E. Nyland, B. Rout, A. Salkauskas, D. Saunders, J. Stockie, B. Vetter, S. Tomoda. Trip wire detection for land mines. Proceedings of the Second Industrial Problem Solving Workshop, 1998, pp. 49-62.
L. Goddyn, A. Amariei, D. Gaur, K. Hare, K. Kwok, J. Madden, S. Mitrovic-Minic, R. W. Tse. Traffic signals. Proceedings of the First PIMS Graduate Industrial Math Modelling Workshop, 1998, pp. 2.1-2.7.
1145+ citations (Google Scholar).
Awards
Google: 14 spot bonuses, 23 peer bonuses.
Google Organizing Committee Award, 2011
U of California, Irvine: Graduate Assistance in Areas of National Need (GAANN) Fellowship, 2002-2003.
U of California, Irvine: California Institute for Telecommunications and Information Technology (Cal-(IT)2) Fellowship, 2001-2002.
UCI ICS Fellowship, 2001-2003.
U of British Columbia: IAM Academic Assistantship, 1997.
National Merit Scholar, 1990.
References available on request.
Name legally changed from Joshua Christian Madden to Joshua Rhys Taliesin O'Madadhain, May 2002.