Résumé of John Stracke

Contact Info

Current Status

I am employed as a Principal Software Engineer at Ocient.

Technical Summary

Primary Languages
C/C++ (up through C++23), Java, Python, Common Lisp
Secondary Languages
Scala, Haskell, Standard ML, Erlang, Perl, many others
Operating Systems
Linux, Android, various commercial Unices
Disciplines
Software design, algorithm design, performance analysis, network programming, object-oriented design, design patterns, compiler design, Web-based applications, Unix/Linux systems programming
Technologies
TCP/IP, sockets, ANTLR, Bison/Yacc, Flex/Lex, Apache, XML, HTML, CSS, SQL, pthreads, gcc, gdb, Android, Unix, Linux, JUnit, PostgreSQL, CPPUnit, gtest, Git, Mercurial, Perforce, STL, LLVM.

Education

Employment history

Ocient, October 2022-present: Principal Software Engineer, Query Processing
Ocient produces a large-scale OLAP database. Work is done in C++23.
Paradigm4, January-October 2022: Principal Software Developer
Paradigm4 produces an array-based database, targeted at life science applications.
Motional, November 2020 to January 2022: Principal Software Engineer
Motional develops software for self-driving cars.
Smartsheet, April-November 2020: Senior SDE II
Google, April 2011 to April 2020: Senior Software Engineer
ITA Software, 2008 to April 2011 (acquired by Google)
See QPX, under Google, above.
Akamai, 2007: Senior Software Engineer
Endeca, 2004 to 2006: Principal Software Engineer
Endeca (since acquired by Oracle) sold an enterprise information access platform to help people search and analyze their information.
Centive, 2001 to 2004: Principal Software Engineer
Centive sold a platform for calculating variable commission.
eCal Corp., 1999 to 2001: Chief Scientist
eCal made Web-based calendaring software: a packaged server for the enterprise space, a hosted service for the consumer space.
Netscape, 1996 to 1999: Principal Software Engineer
I came to Netscape as part of the acquisition of InSoft (see below).
InSoft, 1993 to 1996: Senior Software Engineer
InSoft made enterprise videoconferencing and streaming media systems.
Analysis & Technology, Inc., 1992 to 1993: Software Engineer II
A&T was a naval contractor.
National Science Center Foundation, 1991 to 1992: Software Engineer
The NSCF sold computer-aided instruction software for algebra.

US Patents

All Languages

I've used a lot of programming languages over the years. In chronological order, as best as I can remember, they are:

  1. BASIC
  2. 6809 machine language
  3. Logo
  4. Pascal
  5. 6502 machine language
  6. Prolog
  7. Shell script
  8. 68000 machine language
  9. 8086 machine language
  10. Forth
  11. HyperCard/HyperTalk
  12. Object Pascal
  13. Learning Logic Language
  14. Emacs Lisp
  15. C
  16. Common Lisp
  17. Fortran
  18. C++
  19. Java
  20. JavaScript
  21. PHP
  22. Perl
  23. PostScript
  24. SQL, PL/SQL
  25. Python
  26. Smalltalk
  27. Standard ML
  28. OCaml
  29. Scheme
  30. Haskell
  31. Erlang
  32. Ruby
  33. Go
  34. Scala
  35. Swift
  36. Rust
  37. Lua

Of course, I'm not listing things like HTML, only Turing-complete languages. SQL makes the list only because I used PL/SQL, too.