Daniel LaFavers

Software Engineer

daniel@arrenkyle.com
(248) 231-4253

Software Engineering Skills

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.