Team Image

Sana Tariq

Medior Embedded Software Engineer
Profile

Tech-driven Embedded Software Engineer with over 8 years of experience, specializing in firmware and application development for embedded platforms. Highly proficient in C/C++ programming, with a focus on cross-platform applications and embedded systems. Skilled in quality assurance practices, including unit testing and code coverage analysis, with hands-on experience in interfacing sensors and modules such as GSM, GPS, and Bluetooth. Adept at scripting in Python and working with electronics and lab equipment to deliver efficient, reliable embedded solutions.

Technical Skills
C
C++
C#
Doxygen
Unit Testing
IEC 62304
Risk Management ISO 14971-2019
RTOS (ThreadX, FreeRTOS)
EtherCAT
STM32
PLC Programming
TouchGFX Framework
Bootloader Design
Python
GTest Framework
Soft Skills
Agile Development
Project Management
Quality Assurance
Teamwork

Daily Activities and Experience

Medior Embedded Software Engineer
  • Develop firmware for embedded systems in C++ from scratch, implementing OTA (Over-the-Air) updates and bootloaders for dual-core chips using EtherCAT as the communication medium, leveraging Beckhoff slave stack and Acontis master stack.
  • Design and implement health monitoring systems for embedded devices and motors, ensuring robust diagnostics and performance tracking.
  • Collaborate on embedded GUI development using the TouchGFX framework to create intuitive interfaces for real-time control and monitoring.
  • Work on MQTT-based communication for control, monitoring, and logging, enabling seamless data exchange in IoT systems.
  • Utilize TwinCAT for PLC programming, integrating devices such as cameras, LiDAR, winches, and lights on robotic platforms.
  • Engage in schematics design, sensors integration, and firmware unit testing on microcontroller platforms (PIC, ARM).
  • Contribute to desktop application development in C# for production test systems and assist with debugging and optimization tasks.
  • Participate in cross-functional collaboration with teams across software, hardware, and system integration domains to deliver fully-functional embedded solutions.

Courses & Training

TR3042 | TwinCAT 3 Training: C++ module creation, wizards, TMC editor
TwinCAT architecture, TwinCAT XAE (Engineering) and XAR (Runtime), TwinCAT Class Wizard, creating and debugging examples, TwinCAT TMC editor, consolidation of above topics using practical examples
TwinCAT 3 for Professionals
Introduction to TwinCAT eXtended Automation Technology (XAT), IEC 6 1131-3 programming, hardware configuration, Basics of ADS Communication
EtherCAT Evaluation Kit and Slave Stack Code (SSC) workshop
Hardware Design (EtherCAT Slave Controller, Process Data Interface), EtherCAT Master (TwinCAT incl. Real-time driver for EtherCAT), EtherCAT Slave (Digital I/O device - Configuration and Testing with Slave Evaluation Kit), EtherCAT Slave Stack Code (Structure, Protocol Handling, Compilation and Debugging), Network Monitoring (Communication and Protocol Analysis), Conformance Test Tool (Handling and Analysis), EtherCAT Slave Information (ESI) file
VectorCAST Training
Building a unit test environment, creating test cases, code coverage, test reports, regression testing, user code, working with Stubs, testing c++ classes
Workshop IEC62304
Understanding medical device standards, defining medical device boundaries, risk assessment, sw development planning, change management, problem resolution, sw development (requirements, design, verification, validation, releases), post market activities
Risk Management | ISO 14971-2019
Risk Management (types and relationship with EU MDR and standards), ISO14971 clauses (planning, risk analysis, risk control, review), risk management approaches (Black box-white box, PHA, FTA, FMEA, Linking between FMEA and SRA)

Education

2012 - 2016
Bachelors in Computer Engineering
National University of Sciences and Technology