Software Developer Resume
Saint Petersburg, FL
PROFESSIONAL SUMMARY
- Over Six years of experience in Embedded C/C++ in developing applications, middleware and user interfaces.
- Hands - on experience in development on UNIX, Windows and real time operating systems (RTOS).
- Strong knowledge of OOPS concepts and algorithms.
- Expertise in object-oriented analysis and design (OOAD).
- Competent in creating Unified Modeling Language (UML) diagrams such as use case diagrams, activity, sequence, and collaboration diagrams.
- Extensive knowledge in data structures, algorithms, multi-threading/multi-processing and exception handling.
- Experience developing client library using (Embedded C, C++).
- Experience troubleshooting critical applications using Microsoft Visual Studio, Eclipse IDE, and gdb.
- Excellent understanding of various software development life cycle (SDLC) methodologies like Agile (Scrum) and Waterfall.
- Experience with design, development and implementation of graphical user interfaces (GUI’s) using Qt framework and atomizing GUI’s tests using Squish tool.
- Experience with customer interaction and writing requirement specification.
- Extensive experience in all phases of development cycle from design, development, testing & maintenance.
- Good understanding of networking (socket programming).
- Experience with analysis, design, code reviews, unit testing (Google Test) and integration testing.
- Good communicator with problem solving and analytical skills.
- Experience with functional, regression, load and performance test.
- Quick learner with interest in and ability to master new technologies/tools and self-motivated team member who enjoys sharing new ideas and mentoring other programmers.
TECHNICAL SKILLS
Languages/Programming: Embedded C++, C, Python
Database: SQL
Frameworks/Architecture: UML, Design Patterns, Docker
Operating systems: Windows XP/2003/ Vista/ 7/2008 R2 Standard, Linux
Project Management Tools: MS Project, MS Office (Word, Excel, PowerPoint, Access)
Build/Version Control Tools: ClearCase, Git, Mercurial, Perforce, PTC Integrity
Scripting Languages: Shell/batch Script
PROFESSIONAL EXPERIENCE
Confidential, Saint Petersburg, FL
Software Developer
Languages: Python/C++
Environment: QP Framework on 6 TIVA processors. QM for generating state machines
Responsibilities:
- Developed Code using Cross Platform toolkit(QT).
- C++ development and validation.
- Responsible for Automation Testing, Automation Scripts Development and maintenance using Linux environment.
- Protobufs are serially transmitted in the Ranger System
- Google implemented protobuf for serilized data
- Software Tracing for Event-Driven Systems(QSpy).
- Code developed for TIVA and Texas Instruments Stellaris Microcontroller platform.
- Developing the code and unit-tests for a feature or set of features.
- Developed code in c for making I2C and SPI communication protocols.
- Developed Unit Test Framework to test all feature, Negative and boundary scenarios
- Quantum leaps state machine implementation for embedded event programming.
- C++11 based application development and tools preparation using advanced techniques. Like concurrency and multithreading application software development for Finite State machine systems.
- Have awareness of Agile, Continuous Integration methodologies to drive reliability upstream in the product development lifecycle .
- Rewrite existing C++ application in Python.
- Created test harness to enable comprehensive testing utilizing Python.
- Experience in reviewing Python code for running the troubleshooting test-cases and bug issues.
- Work closely with senior software engineers to understand requirements, detailed design and implementation as translated from clinical and workflow needs
- Develop software interfaces and perform unit testing of real-time embedded or application software.
- Gain hands-on experience in Driver and API library development.
- Create many batch scripts to view custom reports using Unix Scripting and scheduled jobs using Crontab
- Created several Unix scripts to implement new features in the modules and updating the existing code based on the requirement.
- Work every step of SDLC process like requirement analysis, design, coding, unit testing, release, etc.
Confidential, Waukesha, WI
Software Developer
Languages: Python/C++
Responsibilities:
- Analyze the specifications provided by the clients.
- Axeda IOT platform to connect remote devices for running periodic scripts to save field visits and Can check the device health
- Responsible for Automation Testing, Automation Scripts Development and maintenance using Linux environment.
- Wrote Python OO Design code for manufacturing quality, monitoring, logging, and debugging code optimization
- Developed tools to automate some base tasks using Python and Shell Scripting
- Automated builds for both Unix and Windows Clear Case regions using bash shell scription
- Experienced in developing Web Services with Python programming language
- Developing the code and unit-tests for a feature or set of features.
- Implemented several Tomcat instances by using the Docker engine for running several containerized app servers .
- Created several scripts/apps to monitor and admin all Docker containers.
- Have awareness of Agile, Continuous Integration methodologies to drive reliability upstream in the product development lifecycle
- Work closely with senior software engineers to understand requirements, detailed design and implementation as translated from clinical and workflow needs
- Design and develop RSvP Agent real-time control system software using Python/Embedded C++ in Linux (Helios/CentOS/SUSE) environment.
- Develop software interfaces and perform unit testing of real-time embedded or application software.
- Gain hands-on experience in Driver and API library development.
- Work every step of SDLC process like requirement analysis, design, coding, unit testing, release, etc.
- Write high and low level diagrams and develop unit tests using BDD Test framework using python behave
Confidential
Software Developer
Languages: Qt/C++
Responsibilities:
- Analyze the specifications provided by the clients.
- Develop GUI for Display.
- Development, defect analysis and defect fixing in optimal given times in C++ and Unix
- Unix/Linux shell scripting. Write shell scripts from scratch
- Develop multi-threaded and multi-process software, both User Interface (UI) screens and business logic using Embedded C++
- Develop the following external interfaces as stub modules.
- Configured Docker containers and created Docker files for different environments.
- Created several scripts/apps to monitor and admin all Docker containers.
- Installed Docker registry for local upload and download of Docker images and even from Docker Hub.
- Develop Python programming language.
- Help with trouble shooting the issues and bug fixing programs in Embedded C++
- Use GDB for core dump analysis.
- Gain a rich, hands-on programming experience in C++, Embedded C and data structures.
- Design and develop embedded real-time control system software using Embedded C/C++ in Linux (RTOS) environment.
- Develop software interfaces and perform unit testing of real-time embedded or application software.
- Gain hands-on experience in Driver and API library development.
- Work every step of SDLC process like requirement analysis, design, coding, unit testing, release, etc.
- Write high and low-level diagrams and develop unit tests using Google Test framework.
Confidential
Software Developer
Environment: Embedded C/C++
Languages: ANSI C
Responsibilities:
- Job responsibilities included analysis, design and feature development, bug fixing, code reviews and unit testing for all the components.
- Developed and tested software for SPI, I2C and watch dog protocols.
- Worked with the project that follow SDLC Waterfall model.
- Gained good knowledge in data structures, algorithms, multi-threading/multi-processing and exception handling.
- Creating several UNIX shell scripts according to the project and client requirements.
- Worked with automation testing, automation scripts development and maintenance using Linux environment.
- Handled day-to-day production issues effectively by analyzing the root cause of the issue and using effective debugging strategies.
- Worked with functional, regression, load and performance test.
- Communicated the status of the issue to the customer on a timely basis. Received appreciations for the effective and prompt work-around provided for critical issues.
- Used Agile software development methodology for planning and estimation.
- Engaged in collaboration with a team through all stages of software development life cycle right from requirement analysis till implementation.
