Ira Antonio Crabbe
Career Objective:
To apply my vast experience with Real Embedded Software, Firmware and Systems. Analyze technical problems, propose and implement technical solutions in hardware or software, perform systems integration and trouble-shoot technical problems.
Perform Systems Engineering and R&D projects.
Education:
Lincoln University Lincoln University, PA-- BA Physics
M I T 77 Massachusetts Avenue, Cambridge MA.-- MS Physics
Experience:
Amazon Athena, Redmond, wa. 11/11/2023 to 2/29/2024.
Sr. Embedded Software Engineer
Use of the Xilinx 2018.2 SDK to build software for the Zynq UltraScale+ MPSoC
Use of the Xilinx Vitis Unified Software Platform for developing software and cloud-accelerated applications on the Versal Premium VC1902 adaptive Soc.
Use of the Xilinx Vivado Design Suite For SOC configuration
AWS S3 cloud hosting and deployments for Amazon systems. Amazon EC2 deployments for Amazon Systems.
Petalinux for Software development for the Quad core Arm53 on the Amd/Xilinx Zynq UltraScale+ MPSoC
Petalinux for Software development for the Dual-core Arm73 on the Amd/ VC1902 SOC
Use of FreeRTOS For Dual Core R5 ARM Cortex code development on the AMD/Xilinx Zynq UltraScale+ MPSoC
Use of Zilinx ZCU102 development boards for development and test
Use of Zilinx VCK190 development kit for development and test
Use of the Yocto Project –Bitbake, porky, bbclass, bb(recipe). BSP, Embedded Linux image building, FSBL, u-boot bootloaders, root file system, device tree, and SDK development for the Quad A53 ARM Cortex processor. The SOC has a GPU, DSPs, FPGA, DDR memory, 3 D NAND memory, High Bandwidth Memory, cache, PCIe, i2c, SPI, MIPI, UART, JTAG, Flash Memory. SSD Drives, NVMe and SD Card for program development.
Use of bash shell scripting, Zsh shell scripting, make, and CMake for software building.
Use of GitFarm, Git Bash, JIRA, Confluence, and Bitbucket in the software development process.
Use of Continuous integration and Continuous Deployment(CI/CD) with Jenkins and DevOps
Use of python versions 2.7.0, .3.8, 3.9, 3.10.,3.11 for development purposes
Use od Amazon Linux 2, Use of Ubuntu Linux 22.02 for software development.
Responsible for writing Device drivers and perform Linux kernel Development
Processing tasks include Video, Data, and satellite communications.
Use of GCC, GDB, G++
Use of Systemverilog and UVM
Development Methodology-Agile Scrum, Extreme Programming
Use of Docker
Crabbe Diversified Services, LLC Consultant/Developer. 01/2023 to 11/08/2023
Managed Facebook pages for business and created Facebook bots.
WordPress Web hosting for small businesses, website development for small businesses.
AWS S3 cloud hosting and deployments for small businesses. Amazon EC2 deployments for small businesses. Mobile app development for Android, iPhone, and tablet. Use of Embedded Azure and Bluemix.
Fire detection project, C/C++, and Python, Opencv, ML, MATLAB, Rust
Use Zephyr RTOS, Use of RTEMS RTOS
Use of Systemverilog and UVM
Windows device driver creation for wireless.
Use of Angular JS
Use of NodeJs
,
Boeing Aerospace,St Louis, Mo 05/26/2021 to 12/16/2022
Sr. Embedded Software Engineer
Responsible for Inertial Navigation Simulation, Data modeling, software design, Code, and Test in C++11 to C++20
Responsible for designing and writing test scripts for automated testing of the MQ25 Un-manned Arial Vehicle –software written in C++.
Test scripts written with C#. Use of Visual Studio versions 2010, 2012, 2013, 2015, 2017 and 2019. Use of .NET 4.6.1
Used Google Test for unit testing
Object Oriented Design, Design Patterns, and Test-Driven Development
Also used Anaconda Python 3.8 for designing and writing test scripting
VMware Virtual Machines, SNMP Agents, MIB, MIB viewers, SNMP databases, DDS topics-RTI and Opensplice, Middleware, Databases
ICD, SDD, SSDD, SRS, and Test Outlines
Use of TE integrated Test Environment for test management and design
The problem includes Inertial navigation concepts, servo loops, imaging and GPS technologies, and wide-band satellite communication.
Use of Kalman filtering in tracking algorithms. Use of quaternions to eliminate gimbal lock
XML files and xml schemas, JSON, REST API,
Use of the Chromium web browser for embedded UI developments
Single-thread and multi-thread applications
Use of bash shell scripting, make, and CMake for software building.
Use of GitLab, Git Bash, JIRA, Confluence, and Bitbucket in the software development process
Use of Continuous integration and Continuous Deployment (CI/CD) with Jenkins and DevOps
Use of stories and issues to describe work packages
Use of GIT repositories for Software configuration management
Use of IBM Rapsody 7.6 to do UML software model design—class diagrams, Sequence Diagrams, activity diagrams and Use cases
Responsible for Code Design, code Unit test, and Integration Test.
Use of IBM DOORS for requirements and test Tracking
Use of DO178C for guidance on development, verification, and validation.
Use of the Google Test framework for test case development environment
Development Methodology-Agile Scrum, Extreme Programming
Development platform Windows 10 and Redhat Linux.
Lockheed Martin corporation,Orlando, FL 01/11/2021 to 04/26/2021
Sr. Embedded Software Engineer
Responsible for Inertial Navigation Simulation, Data modeling, software design, Code, and Test in C++11 and above
Problem consists of Inertial navigation concepts, servo loops, imaging and GPS technologies.
Use of the Xilinx 2018.2 SDK to build software for the Zynq UltraScale+ MPSoC
Use of the Xilinx Vivado Design Suite for SOC configuration
Use of the SDK for flashing the development board
Use real-time multi-tasking and multi-threading techniques.
Processed video images with image processing algorithms.
Use of Kalman filtering in tracking algorithms to refine sensor data
Use of the Yocto Project for BSP, Embedded Linux image building, FSBL, u-boot bootloaders, root file system,device tree, and SDK development for the Quad A53 ARM Cortex processor .The SOC has a GPU, DSPs, FPGA, DDR memory, cache, PCIe, i2c, SPI, MIPI, UART, JTAG, Flash Memory, NVMe, SSD drives and SD Card for program development.
Use of Xilinx PetaLinux Embedded Linux Systems Development Kit for Linux Image building.
Development of Device Tree, Linker Scripts, and device drivers
Use of OpenAMP for inter-processor communication on Zynq UltraScale+ MPSoC
Use of GRPC and Java RMI.
Use of FreeRTOS For Dual Core R5 ARM Cortex code development on the Xilinx Zynq UltraScale+ MPSoC
Target sysroot is based on the target root filesystem image that is built by the OpenEmbedded build system
Use of Zilinx ZCU102 development boards for development and test
Use of Visual Studio 2017 Professional.
Use of GCC and g++ GNU compilers and Arch64 compilers.
Use of Eclipse IDE
Use of object-oriented programming Techniques- Design patterns, Templates, Polymorphism, RAII
Use of bash shell scripting, make, and CMake for softwore building.
Use JIRA, Confluence, and Bitbucket in the software development workflow.
Use of GitLab with Git Bash
Use of Continuous integration and Continuous Deployment (CI/CD) with Jenkins and DevOps
Use of stories to describe work packages
Use of GIT repositories for Software configuration management
Use of IBM Rapsody 7.6 to do UML software model design—class diagrams, Sequence Diagrams, and Use cases
Responsible for Code Design, code Unit test, and Integration Test.
Use of the Google Test framework for test case development environment
Development Methodology-Agile Scrum, Extreme Programming
Use of SystemVeriog and UVM
Practiced Application Lifecycle Management(ALM)
Development platform Windows 10 and Redhat Linux.
L3Harris corporation, Clifton, NJ. 04/27/2020 to 06/25/2020
Sr. Embedded Software Engineer
Responsible for rf Electronic Warfare(EW) software design, Code, and Test in C++ using vxWork 6.8 and workbench 3.3 RTOS.
Use of Visual Studio 2010, 2012, 2017.
Use of Eclipse IDE
Use of Anaconda python--pandas, Jupiter notebook, mathplotlib, numpy, PyTorch, TensorFlow
Use of object-oriented programming Techniques- Design patterns, Templates, Polymorphism, RAII
Software written for PowerPC(85xx) architecture processors and Xilinx Spartan 6 FPGA
Porting of countermeasure software from a custom legacy processor to the PowerPC architecture.
Development of device tree files. Linker script files, and device drivers
Use JIRA, Bitbucket, and Confluence in the Agile software development workflow.
Use of stories in the Agile development process.
Use of stories as part of the Software development process.
Use of code Collaborator, PTC Integrity Lifecycle Management tool, and GIT repositories.
Use of IBM Rapsody 7.6 to do UML software model design-- Activity diagrams, Sequence Diagrams, Use cases
Use of IBM Rational DOORS as a requirements gathering and maintenance tool.
Responsible for Code Design, code Unit test, and Integration Test.
Development Methodology-Agile Scrum, Extreme Programming
Languages used –Assembly Language, C++,C++11, and ADA(Aonix, Adacore-GNAT).
Use of Continuous integration and Continuous Deployment(CI/CD) with Jenkins and DevOps
Did Application Lifecycle Management(ALM) with Windchill 12.0.2
Tracked CAD data, parts, and Bill of Materials using the Windchill PDMlink module.
Software Development environment/ platform Windows 10 and Mingw
Use of the Google Test framework for test case development environment.
Crabbe Diversified Services, LLC Consultant. 06/2017 to 4/27/2020.
Facebook page management for business and Facebook bot creation.
WordPress Web hosting for small business, website development for small business.
AWS S3 cloud hosting and deployments for small business. Amazon EC2 deployments for small business. Mobile app development for android, iPhone, and tablet. Use of A Embedded Azure and Bluemix.
Use of GIT as a software repository and Use of Gitlab
Use of Anaconda Ipython for Python development
Use of C#, C# .NET, Visual Basic .NET, C# .NET Core and C++ .NET Core, Rust
Use of PHP, Python{TensorFlow, PyTorch, DyNet, Keras, NumPy, OpenCV, Pandas, Scikit, Scipy,PIL,pfmagick,Theano, PyBrain} and JavaScript. Use of jQuery. Use of Django framework. Use of JSON. Use of Golang, use of grpc, use of xmlrpc, use of Apache Cassandra, Rabbit MQ, kafka, MSMQ
Use of High Charts to create charts for web applications.
Use of the mosquito message broker. Use of RabitMQ
WIFI({802.11a/b/g/n/ac}) deployments for smasll business.
FreeRTOS and IOT development
Use of the MVC design Pattern
Use of the MVVC design pattern
Use of the Spring Framework
Use of MQTT to publish and subscribe network protocol
Projects involve Docker containers and Kubernetes orchestration.
Use of the Angular JavaScript framework
Use of Chromium browser for UI for UI embedded components
Use of Apache HBase and Google Bigtable.
Use of the Praxos algorithm in distributed workloads
Uses of log-structured merge tree data structures
Use of Mysql, Progsql, and Nosql databases.
Ubuntu Linux 18.04.5 LTS and WSL2
Android Studio mobilr app development
Use of Openshift, JMS
Converted Fortran to C++.
Use of Java
FPGA test-bed development, VHDL and Verilog
DRS Technologies, 7200 Redstone Gateway SW, Huntsville, AL 06/2016 to 06/2017
Principal Software Developer/Test Engineer
My role was as a contract Principal Software/Test Engineer on the DMAT program. The task was to develop a test system that leverage Labview VISA, Labview IVI, Labview CVI, and RTI DDS CONNEXT Middleware, UDP, TCP/IP, SQL Server databases, and other technologies.
Use of NI TestSand for automated test execution.
The test system was to be scalable, expandable, contain many test services, and industry standards compliant.
This test system was required to do simulations.
Operating Systems Windows 7 and Linux. Other considerations include C, C++, Python 3.4, APIs, Hardware Abstraction Layers (HALs), GUIs, ADSL, XML, and Interface Definition Language(IDL). Busses used are Gige, VXI, PXI, PXIE, MXI, and LXI Use of VISIO for UML use cases, sequence diagrams and activity diagrams.
Use of Borland StarTeam for code configuration management. Use of Tortoise SVN for code configuration management.
Also use of Atlassian JIRA for incident tracking, Confluence to collaborate and share knowledge between team members, and Crucible for peer review of the codebase.
SOA design implemented.
Use of multi-threading to build the SLV application.
Developed and enhanced embedded tank software on the DSESTS program--using Microsoft Visual C++ 6, Microsoft Visual C++ 2013, and Aonix Ada programming languages.
Use of Coverity as a static code analysis tool .
Developed the SLV software which included the download of boot and application software for tank LRUs processors.
Development also done to enhance the tank SLV software. SLV is responsible for Download and Verification of LRU software.
Image Download to subsystem flash memory done over the MIL-1553 and ethernet buses. Other technologies involve Windows XP virtual machines running on VMware Workstation 12 Pro. Software installation done with InstallShield version 2012.
Modified the Military Tank software image to enable control of the new CROWSLP gun and modification of the older CROWSII gun control software for the M1A1 and M1A2 Military tanks to add new functionalities.
Participated in Application Life Cycle Management (ALM). Use of RogueWave
Use of Intel Fortran compiler for Software Development.
Use of Rogue Wave SourcePro For C++ and Tools.h++
Jabil Circuit Corporation, St. Petersburg, FL 03/ 2015 to 10/2015
Sr Lead Software Developer/Test Engineer
My role was as a contract Development, Test, and Verification Engineer in the Embedded Software group.
My assignment was Lead Software Tester while writing Python 3.4 Test scripts to perform C++ software testing of the Ranger Dialysis Mahine control software. Also integration and regression testing of C++ code for the Ranger Dialysis machine Project.
Use of TI Code Composer Studio 6. Use of GCC, G++ and GDB GNU toolchain to develop C++ and C software images.
Development done on the Windows 7 platform. Use of MinGW and MSYS as Unix emulators to run scripts.
Use of eclipse(C/C++) and pyclipse(Python) as development IDEs. Use of HDLC, TCP/IP sockets to send commands to the mother board running the C++ and C software. Use of Quantum Programming(QP) Hierarchical State Machines(HSMs) and Active Objects(AOs) to control the dialysis machine in the various operational states.
Use of the QP non-preemptive Kernel in the code. Use of Microsoft office and Google DOCS for documenting, planning and analysis.
Use of Message Sequence Charts (MSC) as UML tool to convey message communication through the system.
Use of Jenkins for Continuous Integration(CI) software builds management.
Use of PTC Integrity for document management, source code management, and change management.
Use of Windchill 11.1 for document management and PLM/.Automated tasks: Such as creating objects (parts, documents, etc.), modifying object properties, searching for objects, and managing workflows using Java and the windchill API.
Use of Multi-Threading for some tests.
Use of MATLAB and Simulink for subsystem simulation and modeling. Use of GNU Octave
Nevelex Corporation, 8011 34th Ave S, Bloomington, MN 10/ 2014 to 01/ 2015
Sr. Software Engineer
My role was as a contract Development, Test, and Verification Engineer in the Embedded Software group.
My assignment was making software changes to DirecTV Set Top Boxes (STBs) in C/C++, C++11 and Java to add new required capabilities.
Use of GCC, G++ and GDB of the GNU toolchain
SW development using Waterfall practices.
I was a member of the team that ported the embedded software stack from the DirecTV HR44 Set Top Box(STB) to the DirecTV H44 STB to fulfill the RfOut enhancement requirements. Use of BuildRoot to build the image.
This project required knowledge and use of OpenGL_ES for rendering of images.
The project requires the programming of blenders, decoders, encoders and mixers. Other Technical concepts included HD video plus graphics and SD video plus graphics, RVU RUI, DLNA, Closed Caption (CC), and Interactive TV (ITV).
The incoming data from the dish is compressed to save bandwidth. Algorithms like MPEG-2, H.264, or H.265 are used to decompress the video image stream.
Standard definition (SD) signals can be interlaced, meaning they alternate between showing the top and bottom halves of the image in separate fields. De-interlacing algorithms reconstruct a full frame by combining these fields, creating a smoother image.
Minor noise can be introduced during transmission. Noise reduction algorithms like temporal filtering is utilized to smooth out the image while preserving details.
Technology included TCP, IPV4 and IPV6 and client server. There was use of IOCTL to interact with the underlying hardware.
Use of Mercurial hg and CVS for our software repository and for software configuration management. Use of Atlassian Tools like JIRA incident tracking, Confluence to collaborate and share knowledge between team members, and Crucible for peer review of codebase.
Use of Ubuntu Linux 12. 04.5 LTS as a development platform
Set-Top Box image built with Buildroot.
Use of BASH, Perl, and Python for the development of functional test cases and build automation.
Use of Visual Paradigm 11.2 for drawing UML diagrams.
Use of MATLAB and Simulink for algorithm development and simulations.
Hewlett Packard Enterprise Services Omaha, NE 01/ 2014 to 07/ 2014
Sr. Software Development/Test Engineer.
My role as a contract Development, Test, and Verification Engineer in the Embedded Software group. My assignment is making software enhancements to the vHSS cellular phone network software in C/C++, Java.
Use of GCC, G++ and GDB. SW developed using OOA/OOD.
SW development using best practices. SW development using Waterfall practices.
I was a member of the team that ported the I-HSS software from the NSK multicore platform to Linux (vHSS).
Plus, I did development and test on the ECPY Shared Socket Server provisioning software.
Use of RHEL50 Linux. Utilization of virtualization technology.
Use of POSIX threads for multi-threading.
Use of VMware vSphere virtualization suite including the ESXi hypervisor and the vSphere client. Use of the KVM hypervisor.
Use of SS7, Diameter gateway, RADIUS, and other telephone network protocols. Use of LDAP and DIT on vHSS.
Use, Transport layer, Network Layer, MAC Layer, Presentation Layer, Application layer and physical layer protocols.
Use of Wireshark as a protocol analyzer. Plus, I used VNC client to interact with virtual machines. Technology included TCP, IPV4 and IPV6 and client server.
Use of the HP DPA provisioning server for testing. Use of SVN for software repository.
Use of Collabnet for software Application Lifecycle management. Use of Jenkins for project building and integration. Use of Apache Jmeter for the development of functional test cases. Use of Microsoft VISIO for drawing UML diagrams.
Use of CppUnit and Apache JUNIT for test suite development.
Elbit Systems of America, Fort Worth, TX 09/2013 to 11/ 2013
Sr. Software Engineer
My role was as a contract Development, Test, and Verification Engineer in the Embedded Software group.
My assignment was making software enhancements to display software for the Osprey V22 military aircraft cockpit display, diagnosing and fixing application software defects in C/C++ for integrated COTS and customized hardware systems.
Did verification of the display functions and use cases. Also responsible for writing device drivers in C/C++.
Use of Green Hills Multi IDE.
Use of the Green Hills Integrity 5.0 RTOS.
Use of the Green Hills C/C++ compiler and debugger.
Performed object Oriented design(OOD) and development with their VANDAM software.
Use of Windows 7. Use of GCC and G++.
Windows device driver development
Use of Microsoft Office 2010, Microsoft Project and VISIO 2010.
Use of Microsoft Visual Studio 2008, 2010 and 2012 for writing simulations and control software.
Use of Code Collaborator for code reviews. Use of Perforce for software configuration management.
Technology included Mil-1553 bus, TCP/IP, Ethernet and ARINC-429.
Also use of OpenGL for rendering of images and the Qt GUI framework for the graphical user interface.
Use of DO178
AAR Precision Systems, Huntsville, AL 07/ 2012 to 07/ 2013
Sr. Software Development/Test Engineer
My role is a contract Head Test/Verification Engineer at AAR Precision Systems in the Embedded Software and COTS systems integration group.
My assignment is writing tests, diagnostic, and application software in C/C++ for testing /verification of integrated COTS and customized hardware systems.
Duties require the development of a test station for the customer.
Also, responsible for writing device drivers in C/C++.
The tests were written on Linux and Windows XP. Use of the GCC and G++. Use of Microsoft Office 2010, Microsoft Project and VISIO 2010.
Use of Microsoft Visual Studio 2008, 2010 and 2012 for writing simulations and control software.
Use of Ubuntu and CentOS Linux for application and test software development and used GNU C/C++compilers and the GDB debugger for program development.
Use Linux computers to control V.34 and V.23 synchronous modems, and LCCA’s for routing and bridging data between multiple remote military sites.
This requires the programming of the LCCA with Xilinx Spartan 6 and Spartan 7 FPGAs and Flash Chips, NOR flash, NAND flash, PCIe, NVMe and a real-time Linux Kernel. Also requires RTL and IDL programming
Use of Subversion as a software configuration repository. Use of Microsoft Project 2010 for project planning and time line management.
Use of the eclipse IDE during code development. Use of Qt GUI development framework for GUI development. Use of OpenGL rendering of images.
Use of multi-threading techniques and client server technology for transferring data between sites.
Also responsible for testing and integrating equipment to the HDB-10 proprietary bus.
Technology includes TCP/IP, IPV4, USB, RS232, RS422, RS485, HDLC, Token Ring, SDLC, Manchester encoding, and NRZ.
Use of Wireshark as a protocol analyzer for examining data packets. Use of XML for persisting configuration details.
Utilized Earned Value Management System (EVMS) methodology using Empower from Encore Analytics for contractor compliance.
Tandel Systems, Oldsmar, FL 10/ 2011 11/ 2011
Sr. Software Engineer
My role is a contract Sr. Software Engineer in the Embedded Software group.
This assignment was writing tests in C for testing hierarchical state machines --created using the QP-Framework --, also written in C.
The tests were written on Linux. Use of the GCC and G++ compilers and the GDB debugger.
Use of the eclipse IDE for program development. Use of Subversion (SVN) as a software configuration repository.
John Deere, Inc. Urbandale, IA 05/ 2010 to 09/ 2010
Sr. Embedded Software Engineer
My role was contract Sr. Software Engineer in the Embedded Software group.
This assignment has to do with farming machine automation.
Duties included Embedded C/C++ application software development and test on the Machine to Machine (M2M) and Combine Grain Cart (CGC) projects. Responsible for the rendezvous and lock-on algorithm code.
Technologies include CAN bus, GPS, radar technology, IPC, CCD, and Ethernet-over-radio. Firmware written and application Software developed using OOD practices. The common MAC layer standards used were CSMA/CD and CSMA/CA, which are used in Ethernet and Wi-Fi.
Use of Vector CANalyzer and Vector CANoe during CANbus software development
Use of Borland StarTeam for Configuration Management(CM) of the application software and for defect management.
Also used Mercurial and Tortoise Hg for version control and maintenance.
Use of Code Collaborator for peer reviews.
Development done on Windows using Visual Studio 2005 and Visual Studio 2008 C/C++ compilers. Firmware developed using VxWorks 6.2 and Workbench 2.6.
Additional Firmware developed with Embedded R6 Windows CE with Platform Builder for the ARMV4I processor.
Use of Microsoft Active Sync for flash programing and debugging targets. UML diagrams done using Microsoft VISIO.
Development done using the waterfall and the Agile methodology.
Development done via the Agile development methodology Use of RALLY as an Agile project management tool.
Responsible for adding functionality to the 2630 displays used for automatic control and management of farming machinery (tractors, harvesters) during farming operations.
Other technologies included TCP/IP and IPV4 communications. Build management with CruiseControl build utility.
Use of Araxis merges for file comparison (diff), merging and folder synchronization.
Use of Whole Tomato Visual Assist X for providing productivity enhancements while reading, writing, navigating and re-factoring the code.
Use of Visual C++ .NET, Viaual Basic .NET and Visual C# .NET
Use of CppUnit for test suite development. Use of Wireshark as a network protocol analyzer. Use of GNU GCC, GNU G++ compilers and use of the GDB debugger under VxWorks.
Sarnoff Corporation, Inc. Princeton, NJ 10/ 2009 to 11/ 2009
Sr. Embedded Software Engineer
My role was as a contract Sr. Software Engineer in the Firmware group.
Duties included Embedded C/C++ application software development of Built-In-Test software for the Acadia-II image processing engine with quad ARM11 processor.
Firmware written using OOD practices including Use Case development.
Create hardware versioning application to write version, serial number, and assembly numbers to I2C EEPROM, I2C real-time clocks, I2C temperature sensors.
Use of high speed data compression engines to speed up data transfers between subsystems. Use of SDIO communications between sub-systems.
Created a software test to test spi interface communication.
Software development using Service Oriented Architecture (SOA).
Use of CVS and TortoiseSVN for Configuration Management of the firmware/software. Use of ClearQuest as a defect tracking utility.
Development done on WindowsXp. Firmware developed using VxWorks 6.7 and Workbench 3.1.
Use of the GCC and the G++ C and C++ compilers. Use of the GDB debugger.
UML diagrams done using Microsoft VISIO. Development is done using the waterfall methodology. Also responsible for test scope definition document.
Other technologies included RS232, TCP/IP (IPV4), MAC Addresses, subnet masks, and UDP communications. Worked with FPGAs and used VHDL, Verilog and SystemVerilog.
Worked with the VxWorks BSP. Developed VxWorks Downloadable Kernel Modules (DKM). Use of XML.
There was a requirement to using IDL and RTL programming.
Thales Communications, Inc. Clarksburg, MD 07/ 2009 to 09/ 2009
Sr. Software Engineer
My role as a contract Firmware/Sr. Software Engineer in the Software group.
Duties included Embedded C/C++ software development to enhance the JEM and EBMP Software Defined Radios (SDR) which are JTRS standardized products.
Firmware written to be compliant with NSA requirements. Configuration application written in C# under Visual Studio 2005 for downloading XML files to the JEM JTRS radio flash memory for configuration of the devices.
Use of Python for test code script development and control.
Use of MFC for test application development. Software development using Design Patterns.
Use of UCM ClearCase for Configuration Management of the software. ClearQuest is used as a defect tracking utility. Development done on WindowsXp.
Firmware developed using VxWorks 5.x. Use of the GCC and the G++ C and C++ compilers. Use of the GDB debugger.
UML diagrams done using Rational Rose real-time. Development of Use Cases. Development done using the Agile methodology. Also responsible for test case definition.
Use of Cpp Unit for test suite development. Other technologies included RS232, TCP/IP, UDP and IPV4 communications.
Processors include GPP, DSP, and FPGAs with the use of VHDL and Verilog.
Use of Code Composer.Visual C# and C# .NET
Use of
Thales Communications was an ISO9000 compliant company and a CMMI Level III company.
Use of MATLAB and Simulink for FPGA development.
Thales North America, Inc., Alexandria, VA 22314 08/ 2008 to 12/ 2008
Embedded Software Engineering
My role was as a contract Firmware/Software Engineer in the Tactical Systems group.
Duties included Embedded C software and system engineering.
Ada language used on this project also. Design/Code/Test software for integration of the WBR2000 radar detector/receiver into the TACTICOS combat management system.
Use of Wireshark as a network protocol analyzer.
Use of ClearCase for Configuration Management of the firmware/software. Use of ClearQuest as a software defect tracking utility.
Development done on Red Hat Linux and VMware hosted on Windows Xp. Firmware developed using VxWorks.
Use of the GCC and the G++ C and C++ compilers. Use of the GDB debugger.
Requirements definition and document creation. Plus, I was responsible for creating the Software Requirement Specifications document.
Also responsible for test case definition and test document creation for the WBR2000(Radio and radar waveform analysis subsystem) TACTICOS integration. Other technologies included TCP/IP, UDP and IPV4 communications.
Development and testing included the use of radar simulators. Thales was an ISO9000 compliant company that was working towards CMMI Level III. Use of Borne shell, C shell, and Korn shell.
GE Fanuc Automation, Charlottesville, VA 10/ 2007 to 04/ 2008
Embedded Software/Firmware Engineer
My role is as a contract Firmware/Software Engineer in