Software Engineer
Unix/C++
Very strong in Unix/Linux system development. Strong network programming, TCP and datagram sockets. Posix threads. Daemon servers. C++ Template library. Forking and pipes. Emacs extensions in Lisp. GNU debugger.
Java Tools
Experience with IntelliJ, Eclipse, Spring, Spring boot, Tomcat, JBoss, Maven. Testing with JUnit, Mockito.
Web technologies
Strong JavaScript. HTML, and CSS. Apache configuration and writing Apache modules. PHP and Perl. Jasmine and JSLint for JavaScript testing. PHPUnit for PHP testing.
iOS Development
Some experience with Objective-C. I wrote an iOS app to associate contacts with locations and sort who you want to call based on where you are.
Relational Database
Worked with MySQL, Oracle, SQL Server, Java Persistence. Entity relationship diagrams. Database design and normal forms.
Amazon Web Services
Familiar with Amazon console, RDS, Auto Scaling, S3. Attended AWS re:Invent 2015.
Agile methodologies and tools
Several years Agile development experience. TDD, daily stand ups, story estimation, Scrum, Kanban, burn down project tracking, and continuous integration are all part of everyday development. JUnit. Mockito. PHPUnit. Clover and gcov for code coverage. Jasmine for JavaScript testing. Jenkins for continuous integration. Atlassian Jira for issue tracking. I also wrote a C++ unit testing framework and integrated it into our custom build tool.
Formal grammars and computational linguistics
Wrote LR/LALR parser, regular expression parsers with NFA/DFA minimization. Worked on various systems to recognize people, places, and organizations by name, and to find addresses, email, and other common patterns in text, index them, and discover relationships between them. Several recursive descent parsers.