Brent M. Pearson 200 Michael Dr • Campbell, CA 95008 • (408)416-8080 • [email protected]
Total Page:16
File Type:pdf, Size:1020Kb
Brent M. Pearson 200 Michael Dr • Campbell, CA 95008 • (408)416-8080 • [email protected] Candidate Summary Software engineer with experience in the industry since 2003. Extensive background in Java and C++ programming, primarily in Linux environments. C++ GUI development experience with the Qt, MFC and GTK+ toolkits. Solid background with Perl, Java, Visual Basic and Bash scripting. Strong understanding of object oriented software design and implementation. Education UC Santa Cruz Extension, Sunnyvale, CA Fall 2004 Object Oriented Analysis San Jose State University, San Jose, CA 2004 - 2007 MS in General Engineering, with emphasis on Systems Engineering California Polytechnic State University, San Luis Obispo, CA 1998 - 2003 BS in Computer Engineering, with emphasis on computer networks Experience ThreatMetrix, San Jose, CA June 2012 - present Software Engineer Real-time embedded software development for online transaction processing backend components in C++ and Java, along with extensive bash scripting for various build/deployment/management tasks with said components. Development of software working with multi-node + multi-data center Cassandra and DataStax Enterprise clusters. Use of Apache Thrift and ZooKeeper for RPC and application configuration, including development of libraries to extend the capabilities of the core products + simplify the use/APIs. All development in CentOS 5.7 - 6.5. Software deployed to nodes running corresponding Red Hat Linux versions. Raytheon, Applied Signal Technology, Sunnyvale, CA October 2011 - June 2012 Software Engineer C++ development with Qt for GUI and embedded network intelligence applications. Mobile Apps May 2011 - October 2011 Developed LCt50 Calculator iPhone/iPad app (available in iOS App Store) in Objective C, using Xcode 4.1 for OSX. Developed LCt50 Calculator for Android OS, using Eclipse with ADT plugin. KLA-Tencor, Milpitas, CA March 2011 - July 2011 Software Engineer Contractor Ported a Windows application with a multiple document GUI, from MFC to wxWidgets to build on both Windows and Linux. Used MS Visual Studio 2008 for code development and SVN for version control. BAE Systems, San Jose, CA (CMMI Level 5 Software Group) July 2003 - March 2011 Senior Software Engineer Worked on patient records processing system for use in medical vehicles, setting up hardware components and fixing C++ software defects using MS Visual Studio and Qt Designer. Upgraded C++ network analyzer application to persist program settings in XML database using Qt libraries. For Future Combat Systems Manned Ground Vehicle program, wrote Visual Basic script to take interfaces stored in Rational Rose UML model and generate C++ test stub that could be configured to simulate any software subsystem on the vehicle. Modeled C++ software interface classes in UML and used to create sequence and activity diagrams to illustrate system and subsystem use case behavior. Developed and tested embedded C++/STL vehicle management application running on LynxOS RTOS, using RTI NDDS and ORBexpress for interprocess communication. Ported MFC C++/STL diagnostic application from M88A2 to M88A1 (Hercules recovery vehicles). Improved maintainability of code by making volatile data configurable. Developed C++ GUI using GTK+ toolkit from scratch in Linux for stimulating Ground Combat Vehicle software subsystem test interfaces. Developed embedded battery string controller software on Atmel AVR Atmega64L microcontroller with WinAVR cross compiler Eclipse plugin. Masters Project Spring 2007 Built autonomous navigation vehicle, using an Atmel microcontroller and various sensors mounted on a small robotic tracked vehicle. Cal Poly Student Assistant January 2002 - June 2003 Dr. Joseph Grimes’ and Dr. Hugh Smith’s Computer Networks courses, Dr. Art MacCarley’s Microprocessor Lab Wrote and graded quiz and exam questions, tested and graded C program assignments. Ran weekly networks lab session which included a brief lecture followed by a lab assignment. Created new website for the Center for Teaching and Learning using Macromedia Dreamweaver and Adobe Photoshop/ImageReady. Westwave Communications, Santa Rosa, CA June 2000 - September 2000, December 2000 Software and Network Developer (internship) Wrote a Perl script for extracting comments from C code. Produced templates for decoding network messages with a Spectra I-Net system. Cal Poly Computer Engineering Projects September 1998 - March 2003 Design and implementation of video store rental software providing a graphical user interface written in Java. Interfaced a Motorola HC11 with an Intel 8051 to read, transmit and display a voltage level. Client/server programming in C, including implementation of a stop-and-wait protocol, a sliding-window protocol and error detection/correction methods. Implementation of a ping-spoofing C program, using raw sockets on a Linux machine. Project was extended to create a program that impersonated a router running the OSPF routing protocol. This was tested by connecting the Linux machine to a network with actual routers running OSPF. Wrote a UNIX FTP server in C, which implemented a primitive (and optional) form of data encryption that could be used with a Windows FTP client program, written in Java that used a Swing GUI. Created a Java distributed tic-tac-toe game, using remote method invocations, which allowed a client to connect as either a player or spectator. Senior Project: Design and implementation of a portable hardware MP3 music player, using a PIC microcontroller and a flash card data-storage device. Required the interfacing of several components using I2C and SPI protocols for serial communication. Skills Well versed in both GUI and embedded application development with C, C++ and Java. Embedded software development with Intel, Motorola, AVR, and Microchip assembly languages. Proficient use of Windows, and Linux operating systems, including extensive shell (mostly Bash) + Perl scripting experience. Confident interfacing C++ and Java applications with Cassandra, DataStax Enterprise, Greenplum, PostgreSQL and other SQL database solutions. Web development experience with HTML, Flash and CGI. Development experience with Objective C and Ada languages. UML modeling and code generation with Rose, RoseRT and Enterprise Architect UML models. Development Tool Experience: MS Visual Studio, Eclipse, SlickEdit, Xcode, Qt Designer, DialogBlocks (wxWidgets), ClearCase, SourceSafe, Perforce, SVN, Git, Rational Rose, RoseRT, Enterprise Architect, GoogleTest, CppUnit, RTI NDDS, OIS ORBexpress, PrismTech OpenSplice DDS, Apache Thrift, Apache ZooKeeper. Interests Skateboarding, golf, disc golf, ultimate frisbee, music, playing guitar, most things technology-related. .