Post Job Free
Sign in

Software Developer C

Location:
Cambridge Station, NS, B0P 1G0, Canada
Salary:
50-55/hr
Posted:
June 24, 2020

Contact this candidate

Resume:

PRAKASH SABBANI

Contact: 587-***-**** Email: ******************@*****.***

PROFESSIONAL SUMMARY

●Over 5+ years of experience in Embedded real-time Analysis, Design, Development, Implementation, Debugging and Testing of applications using Embedded C and C++ languages.

●Well versed in all stages of Software Development Life Cycle including requirement analysis, design, development, testing, deployment, support and maintenance with various methodologies such as Waterfall and Agile-Scrum models.

●Experience in using various peripheral protocols such as UART, SPI, I2C, CAN and ARINC 429.

●Developed Control algorithms and embedded system simulation in Matlab Simulink/State flows.

●Hands on Experience in C Programming (Pointers, DMA and Data Structures, Bit operations) etc.

●Experience in developing software components in C/C++ using OOPS, Multi-Threading, data structures, IPC Mechanisms, Interrupt Handling and Exception-Handling.

●Experience working on a wide range of microcontrollers/microprocessors such as 8051, 8086, Arm, AM335x and PIC.

●Strong hands-on experience in writing optimized code and troubleshooting.

●Sound Proficiency in Object oriented concepts (Virtual functions, Abstraction, Encapsulation, Inheritance, Polymorphism etc.)

●Strong knowledge on data communication and network protocols, especially Ethernet and TCP/IP.

●Experience in Using PVCS Version Manager, IBM Rational Clear Case and GIT for Source code management.

●Worked extensively on various applications development using embedded RTOS environments.

●Strong experience in automating system test and production tasks using Shell Scripting and Python.

●Good experience on using Jenkins for build automation.

●Good knowledge on Configuration Management tools such as Ansible, Chef and Puppet.

●Good Knowledge on AWS cloud environment.

●Proficient in developing user level requirement collection, coding, bug fixing, and Unit testing.

●Very strong in understanding the system software architecture without any assistance.

●Ability to work independently within tight deadlines, a self-motivator and team player.

●Strong communication, collaboration and team building skills with proficiency in grasping new technical concepts quickly.

TECHNICAL SKILLS

Programming Languages

Embedded C, C++, Python.

Real Time Operating Systems

QNX, Embedded Linux.

Protocols

TCP/IP, UDP, CAN, I2C, SPI, UART, RS422, RS232, ARINC429.

Microprocessors/Microcontrollers

8051, 8086, Arm, AM335x, PIC.

SDLC

V model process for Embedded systems, Agile Scrum/Kanban.

Version Controls

GIT/GitHub, SVN, PVCS, IBM Rational Clear Case.

Simulation Tools

Matlab Simulink/State Flow.

PROFESSIONAL EXPERIENCE

Trinity Electronics Systems Ltd - Edmonton, AB

Jan 2019 – Till Date

Embedded Software Developer

Responsibilities:

●Develop new programs, enhancements, modifications, and corrections to existing embedded applications and operating system level software.

●Developed software algorithms and Model-based C++ programs for embedded control systems.

●Maintenance and enhancement of the Automation using Embedded C.

●Interfacing and debugging various peripherals such as I2C, SPI, ADC, timers using Embedded C programming.

●Worked with Programming 8/16/32bit micro controllers using Embedded C and Communication Protocols.

●Developed the specification, software design, and test procedures for a new low cost control system in embedded C on an ARM processor.

●Worked with Embedded Software (C Code) and Electronic Designs for future Switches and Control Circuits.

●Worked on embedded based C coding and debugging.

●Conducted and analyzed functional user requirements for developing embedded software using DOORS.

●Developed embedded software controls algorithms using Matlab/Simulink and, generated auto-code and wrote hand-code when necessary; integrated resulting software into Active Safety software product line.

●Designed and implemented embedded real-time control system software using ThreadX Embedded C/C++ coding in FreeRTOS (VxWorks) environment.

●Responsible in writing the codes in C and C++, debugged the microcontrollers and checked various circuits for the desired results.

●Integrated open source packages for embedded systems on phones and networking devices.

●Effectively implemented various protocols (TCP/IP, I2C, SPI and CAN).

●Wrote and updated various Design Documents covering CAN, Ethernet, and DevApp interfaces.

●Programming and Changing UI screens using C++. Used multi-threading and thread synchronization extensively.

●Designed Microcontroller based systems to automate various tasks.

●Debugged and tested experimental embedded systems boards for design analysis and improvement in future iterations

●Assembled the hardware components along with the software components and made a complete system.

●Preformed design and code reviews across all projects. Served as a liaison between product owners, developer and other stakeholders.

Environment: Embedded C, Matlab/Simulink, RTOS, ARM, Microcontroller, C++, CAN, TCP/IP, I2C.

ABC Group Inc - Toronto, ON

Feb 2017 - Dec 2018

Embedded Software Developer

Responsibilities:

●Worked as Embedded system engineer and implemented required enhancement for new device and functionalities.

●Worked in Communication protocols such as TCP/IP, HTTP/HTTPS, and SNMP.

●Develop modular Embedded Software for 8/16/32 bit microprocessors/microcontrollers.

●Developed device drivers for PICK microcontroller and RTOS, debugging using In-Circuit- Emulator.

●Hand-coded algorithms using C programming language in Linux environment and GNU tool chain.

●Programmed and debugged embedded firmware with ICE and RTOS and added security and reliability to the WAP connection.

●Developed Embedded C code for peripherals and Participated in embedded system board testing by flashing hex files in to development boards.

●Prepared Embedded C++ code using Linux environment for speed control system.

●Worked with Algorithm development team to implement the Machine Learning Algorithms in C for embedded devices.

●Designed and developed Embedded Control software using C/C++ in a Eclipse Free RTOS environment.

●Designed, coded, debugged and unit tested BIOS code to enable different Server platform features.

●Used MATLAB-Simulink to create AUTOSAR models, ARXML files and code generation compatible with BSW and RTE.

●Troubleshooting LAN and WAN problems, Application working slow problems.

●Designed algorithms for the engine to ensure the provision of desired speed and torque output while adhering to emissions standards and protecting the engine.

●Interface with Development and Systems Engineering groups to communicate test results and promote quick resolution of problems and performance of new features.

Environment: C, C++, Embedded C, RTOS, JTAG, Microcontrollers, MatLab/Simulink, Autosar, TCP/IP, HTTp/HTTPS and SNMP

Birlasoft - India

Jun 2014 - Dec 2016

Embedded Software Developer

Responsibilities:

●Performed research on ISO safety mode regulations for industrial machines and finding access levels hardware devices used for authentication and authorization on control systems complying the ISO 23125 Standards.

●Writing the Software Components to integrate the hardware into our current system.

●Delivered Proof of the concept on the finalized device to read the key data with different permissions having the different access levels.

●Developed a helper files to process the Modbus tcp/ip data using Modbus stream node package on NodeJS which is connected through ethernet.

●Integrated the approved POC code into existing HMI codebase repo on GIT developed on NodeJS.

●Developed new enhancements for the login screen functionality on their HMI screen running on windows PC which is purely developed on HTML5 and NodeJS with CSS styling. JSON for data format.

●Developed code for new requirement enhancements to the existing C++ code running on Linux.

●Main Controller running on Linux with C++ has a Polaris server process with different threads communicating with each other, where HMI listener thread will be listening to the events changes from user.

●Added the new C++ code to the ISO safety modes dealing with other Hardware I/O ports and providing new PMDi communication APIs on HMi software with all new additions.

●Participating in Design and Code reviews.

●Programming in C++/C for both CCA and CMU Systems under QNX632 and QNX650 on Debian Machines running on X86 and PowerPC targets.



Contact this candidate