Johannes Bader

Education

Karlsruhe Institute of Technology

  • M.Sc in Computer Science
  • October 2016
  • Karlsruhe, Germany
GPA: 1.0 / 6.0 (1.0 = best) with distinction, best of class; minor: Operations Research, Physics; selected coursework: Software Engineering and Compiler Construction, Algorithm Design, Text Indexing, Mathematical Programming, Operations Research in Supply Chain and HealthCare Management, Real-Time Systems, Computer Architecture, Telematics, Computer Graphics

Carnegie Mellon University

  • Research Scholar at Institute for Software Research
  • Summer 2016
  • Pittsburgh, PA
Master thesis: Gradual Program Verification with Implicit Dynamic Frames (used Rocq, LaTeX, TypeScript)
advised by Prof. Jonathan Aldrich and Prof. Éric Tanter

Publications

AI in Software Engineering at Facebook (IEEE 2021) Johannes Bader, Sonia Kim, Frank Luan, Satish Chandra, Erik Meijer Gradual Verification of Recursive Heap Data Structures (WGT 2020) J. Wise, J. Bader, J. Aldrich, É. Tanter, J. Sunshine Gradual Program Analysis (WGT 2020) S. Estep, J. Wise, J. Aldrich, É. Tanter, J. Bader, J. Sunshine Getafix: Learning to Fix Bugs Automatically (OOPSLA 2019) Johannes Bader, Andrew Scott, Michael Pradel, Satish Chandra SapFix: Automated End-to-End Repair at Scale (ICSE 2019) Marginean, Bader, Chandra, Harman, Jia, Mao, Mols, Scott Gradual Program Verification (VMCAI 2018) Johannes Bader, Jonathan Aldrich, Éric Tanter Practical Variable Length Gap Pattern Matching (SEA 2016) Johannes Bader, Simon Gog, Matthias Petri

Experience

Jane Street, New York (since 06/2020)

Developer Tools & Experience (code review, version control, continuous integration, IDEs, etc)

Software Engineer – Facebook, Seattle, WA and Menlo Park, CA (04/2018 - 06/2020)

Tech lead of Getafix, learns to auto-fix software bugs, ML for developer productivity (using Java, Python, JS)

Software Engineer – Microsoft, Redmond, WA (10/2016 – 04/2018)

AutoRest: open source, large-scale multi-language code generation (using TypeScript, C#; generating TypeScript, C#, Java, Python, Ruby, Go, PHP and soon Swift and C++); also developing code validation tools

Research Assistant – Institute of Theoretical Informatics, KIT, Karlsruhe, Germany (05/2015 – 01/2016)

Software Engineer Intern – Microsoft, Dublin, Ireland (01/2014 – 04/2014)

Created team internal developer productivity tools (using C#); maintained Microsoft Office Marketplace website (using HTML/CSS, ASP.NET); created Symbol Search app for office (HTML/CSS, JavaScript)

Teaching Assistant – Institute for Anthropomatics and Robotics, KIT, Karlsruhe, Germany (Summer 2013)

Freelancer – Startup “6th sense”, Berlin, Germany (Summer 2011 – Summer 2012)

Kinect-based tracking and posture supervision of individuals performing workout routines (using C++)

Software Engineer Intern – SAP Innovation Center, Potsdam, Germany (Summer 2011)

DNA sequencing, gene correlation analysis; smart energy data analysis (using Java, SAP HANA)

Research Intern – Department of Computer Science, Free University of Berlin, Berlin, Germany (Spring 2008)

Firmware development for autonomous wireless sensor networks (using C)

Contests & Awards

ICFP Contest 2013, online contest – competed as one-man team; rank 21 among hundreds of teams worldwide

ACM ICPC Nothwestern European Regional Contest 2012, Delft, Netherlands

SAP Coding Masters 2012, Berlin, Germany – big data analysis based on tweets (2nd place)

23rd International Olympiad in Informatics 2011, Pattaya, Thailand – bronze medal

Ferry-Porsche-Price 2011 – award for receiving top grades in Physics throughout all school years

17th Baltic Olympiad in Informatics 2011, Copenhagen, Denmark – bronze medal

29th Bundeswettbewerb Informatik 2011, Brunswick, Germany – national champion (federal CS competition)