Brennen Sprimont
Email:
brennen.j.sprimont@gmail.com
Phone:
(319) - 432 - 4517
Download Resume
Experience
Software Engineer
March 2017 - Present
Wabtec
Cedar Rapids, IA
Responsibilities
Develop and maintain safety critical components for the Interopable-Electronic Train Management System (IETMS).
Language(s):
C (ANSII 1980)
Operating System:
LynxOS (Unix-like RTOS)
Build Tools:
GNU
Version Control:
IBM Rational Synergy
Team Size:
50
Processor Architecture(s):
x86
CENELEC 50128 Compliant
MISRA Compliant
ISO 9001 Compliant
Rigorous change request and system verification procedures.
Develop and maintain safety critical firmware for ARM based data capture daughter boards for the IETMS.
Language(s):
C (ANSII 1980), ARM Assembly (IAR)
Operating System:
FreeRTOS
Build Tools:
IAR
Version Control:
Git
Team size:
6
Processor Architecture:
ARM
Created adhoc circuits to reproduce and diagnose issues.
Develop and maintain real time capture/reporting tools for production locomotives internationally.
Language(s):
Python
Operating System:
Linux
Database:
PostgreSQL
Web Server:
Apache
Team Size:
3
Containerized architecture for easy maintenance and quick redeployability.
NGINX load balancer and reverse proxy.
Develop and maintain various simulators to debug, test, and verify the IETMS product.
Language(s):
C++, C#, Python
Operating System:
Windows
Version Control:
SVN
Team Size:
3
Software Engineer
May 2015 - March 2017
Rockfarm
Dubuque, IA
Responsibilities
Develop and maintain real time logistic communication systems between clients.
Language(s):
C#
Operating System:
Windows
Build Tools:
.NET Core
Version Control:
Git
Team Size:
5
Website Developer
August 2014 - May 2015
University of Wisconsin Platteville
Platteville, WI
Responsibilities
Develop and maintain web systems for the University of Wisconsin Platteville.
Language(s):
C#, Java
Operating System:
Windows
Database:
MySQL
Build Tools:
.NET Core, JSP
Version Control:
Git
Team Size:
4
Education
B.S. Computer Science
May 2016
University of Wisconsin Platteville
Platteville, WI
Relevant Coursework
Computer Science, Software Engineering, and Mathematics
Object Oriented Programming and Data Structures 1
Object Oriented Programming and Data Structures 2
Computer Architecture and Operating Systems
Data Communication and Computer Networks
Database Design and Implementation
Software Analysis and Design
Programming Language Structures
Object Oriented Analysis and Design
Discrete Mathematics
Abstract Algebra
Linear Algebra
Informal Education
Coursera
Improving Deep Neural Networks: Hyperparameter tuning, Regularization, and Optimization
Structing Machine Learning Projects
Neural Networks and Deep Learning
Introduction to Embedded Systems Software and Development Environments
Developing Data Products
Hardware Security
Programming Mobile Applications for Android Hand-held Systems
Independent Study
Robust Automatic Speech Recognition by Jinyu Li, Li Denf, Reinhold Haeb-Umbach, and Yifan Gong
Artificial Intelligence A Modern Approach Third Edition by Stuart Russell and Peter Norvig
Compiler Construction 'Principles and Practice' by Kenneth C. Louden
The Art of Unit Testing by Roy Osherove
Developing Your Own 32-Bit Operating System by Richard A. Burgess
Linux Command Line and Shell Scripting Bible by Richard Blum and Christine Bresnahan
Extensible Markup Language Pocket Reference by Simon St. Laurent and Michael Fitzgerald
Clean Code by Robert C. Martin
The Clean Coder by Robert C. Martin
The Firmware Handbook by Jack Ganssle
Practical Electronics for Inventors by Paul Scherz and Simon Monk
Introduction to the MSP432 Microcontroller by Jonathan W. Valvano
Writing An Interpreter In Go by Thorsten Ball
Automatic Speech Recognition by Dong Yu and Li Deng
Make Your Own Neural Network by Tariq Rashid
Portable Programs for Parallel Processors by James Boyle, Ralph Butler, Terrence Disz, Barnett Glickfeld, Ewing Lusk, Ross Overbeek. James Patterson, and Rick Stevens.
Software Engineering with ADA by Grady Booch and Doug Bryan
UNIX Network Programming Volume 1, 3rd Edition by W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff
Decision Making Under Uncertainty by Mykel J. Kochenderfer
]
Verilog by Example by Blaine C. Readler
Ball Grid Array Technology by John H. Lau
21st Century C by Ben Klemens
Dependency Injection in .NET by Mark Seemann
The Art of Designing Embedded Systems by Jack Ganssle
Embedded C Programming by Mark Siegesmund
Crafting A Compiler with C by Charles N. Fischer and Richard J. LeBlanc, Jr.
Spoken Language Processing by Xuedong Huang, Alex Acero, and Hsiao-Weun Hon
Pro ASP.NET MVC 5 by Adam Freeman
Pro C# and .NET Framework by Andrew Troelsen
Introduction to 3D Programming with DirectX 11 by Frank D. Luna
Writing Compilers and Interpreters by Ronald Mak
C++ Network Programming by Douglas C. Schmidt and Stephen D. Huston
Effective Modern C++ by Scott Meyers
Bayesian Methods by Cameron Davidson-Pilon
Amazon Web Services in Action by Andreas Wittig and Michael Wittig
UNIX Network Programming by W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff
UNIX Network Programming Interprocess Communications by W. Richard Stevens
Machine Learning for Predictive Data Analyitics by John D. Kelleher, Brian Mac Namee, and Aoife D'Arcy
The Annotated Turing by Charles Petzold
Abstract Algebra by David S. Dummit
Basic Abstract Algebra by Robert B. Ash
Professional C++ by Nicholas A. Solter and Scott J. Kleper
Python Essential Reference by David M. Beazley
The Pragmatic Programmer by Andrew Hunt and David Thomas
Introduction to 3D Programming with DirectX10