0% found this document useful (0 votes)
19 views

Python Complete Notes

Uploaded by

kindlyurool75
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Python Complete Notes

Uploaded by

kindlyurool75
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Job Descriptions

Embedded Software Engineer

Job Brief
We are looking for a high-performing Embedded Programmer who will be responsible for Designing, Developing,
Coding, Debugging a System Software as per product/project requirement and also responsible to evaluate software
of embedded devices and systems.

Responsibilities
​ Design, develop, code, test and debug system software in a fast pace environment.
​ Design, implement, and evaluate software of embedded devices and systems.
​ Evaluate and enhance efficiency, stability, and scalability of system resources.
​ Integrate and validate new product design and/or changes and provide supporting documentations.
​ Work with design, QA, and engineering department to determine optimal embedded software system for new
and existing products, based on specifications.
​ Write technical documents including software requirements, software design descriptions, software
verifications, and/or other technical reports or documents as needed.
​ Interface with hardware design and development team.
​ Perform root cause analysis and develop solutions as necessary; utilizing software configuration management
tools, defect tracking tools, programmers and debuggers.
​ Analyse and understand existing products and their implementation to determine best design and method to
add and/or change features and functionality.
Requirements
​ Bachelor/Master Degree in Electronics & Communication
​ Hands on experience in development and troubleshooting of embedded targets.
​ Proven work experience in product development cycle from design to production to support.
​ Experience working in embedded systems design with pre-emptive, multitasking real-time operating systems.
​ Solid programming experience in C or C++ and Python.
​ Ability to work effectively as part of a team as well as individually
​ Strong documentation and writing skills
​ Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
​ Able to read schematics and data sheets for components
​ Use of soldering iron, oscilloscope, voltmeter, and logic analyser
​ Experience with high-speed current drivers
RCD - Role Clarity Document

Role Embedded Programmer, will be responsible for Designing, Developing, Coding, Debugging a System
Definition Software as per product/project requirement and also responsible to evaluate software of embedded
devices and systems.
Responsibility Software System Development
Deliverable ● Understand the Product/Project requirement.
● Development of System Software as per coding standards.
● Analyze and enhance efficiency, stability and scalability of a product.
Interaction /Communication
● Interact with hardware team.
● Provide support to customer.
● Provide support to QA and Post Production.
Verification and Documentation
● Integrate and validate new System Software design.
● Product Documentations.
Work Flow Systems
● Complete the EPIC’s according to planned LEG.
● Update the work to Product Manager and seniors.
● Put your queries in con-call or during sprint discussion.
● Put the work update on official group on daily basis.

Task and Activity System Software Development


Understand the product/project requirement
● Understand the system software requirement from product manager
● Discuss and develop scope of work.
● Data Flow Diagram, Flow Chart, Algorithm planning, Planning of Testing,
● Plan EPIC’s with story point and timeline.
● Work with Design, QA, and Engineering to determine optimal embedded software system for
new and existing products, based on specifications.
● Perform root cause analysis and develop solutions as necessary; utilizing software
configuration management tools, defect tracking tools, programmers and debuggers.
Development of System Software as per coding standards
● Follow the coding policy of company.
● Research and Study required documents.
● Identify, Setup and Work on suitable tool-chain (IDE and compilers).
● Design, Develop, Code, Debug and test a firmware as per the project requirement.
● Integrate and merge different firmware into final firmware.
● Maintain the versioning of the software and regularly upload the code on the server.
● Command on programming languages like C, C++, .net, and java
Analyze and enhance efficiency, stability and scalability of a product
● Enhance the efficiency, stability and scalability
● Define Test cases.
● Write exception handling.
Interact with Hardware team
● Interact with hardware team for design and development
● Monitoring and training of juniors
Provide support to customer
● Help customer to integrate the product according to their requirement and condition.
● Customer support through mails, calls or by customer visit
Provide support to QA and Post Production.
● Provide support to QA so that they can check as per requirement. (Provide QA sheet, with Test
Cases)
● Provide support and process to production so that they can enhance the speed of production
and provide better quality.

Verification and Documentation


Integrate and validate new System Software design.
● Maintain Project file, Personal Sprint, Product Sprint
● Do proper testing and define test cases so that it can be checked whether software is as per
requirement or not.
● Validate the System Software of team under you.
● Analyse and understand existing products and their implementation to determine best design
and method to add and/or change features and functionality.
Make Product Documentations
● Make Document of every stage and put it into product file.
● Maintain the product file.

Work Flow Systems


Complete the EPIC’s according to planned LEG.
● Make sure the EPIC’s are completed and delivered as planned.
Update the work to Product Manager and seniors.
● Update the task completed or issues to PM and to your team above.
Put your queries in con-call/sprint discussion
● If you are stuck somewhere or you need support mail it to seniors and PM. Also you can raise
it on con-call that happens regularly or during sprint discussion.
Put the work update on official group on daily basis.
● Every day update your work on official group as per closure policy.

Measurement ● EPIC’s completed.


Matrices ● Story point covered in each LEG.
● Efficiency, stability, scalability of system Software.
● Number of Issue raised on the system Software.
● Efforts made to complete the tasks
● Planning of work.
● Suggestion given for better standards.
● Customer’s Feedback.
● Review from Team members.
​ Quality of Documentation.
​ Team development and monitoring
Growth Design and Development team
Scale Grade A Director -Technical
Grade B VP-Design and Development
Grade B General Manager-Design
Grade C Team lead-Project Manager
Grade C Project Engineer
Grade D Senior Engineer
Grade D Junior Engineer
Grade E Core Design Trainee-Programming/Analog Design/Circuit Design/QC

Pre-Requisite (What you should know before Joining)


​ C – Programming (Including - File Handling, Pointers, Link-List, Binary Tree, Graphic Programming)
​ R / L / C / RL / RC / LC / RLC networks & Filter Design.
​ Transistor (as an amplifier and as a switch), SCR / Triac / DIAC / Mosfets.
​ PCB Designs (single and Dual layer)
​ Power Supply design (SMPS / DC – DC Converters in CV / CC configurations)
​ Magnetics of Inductors and Transformers.
​ 8051 Microcontroller
o (INCLUDING – Architecture, GPIO / Timer / Counter / Interrupt programming in C & Assembly)
o (INCLUDING – Communication Interfaces like Serial, parallel, I2C, SPI, Bit banding, Power Modes)
o (INCLUDING – Testing on breadboard, PCB design and soldering and Testing)
o (INCLUDING – GLCD, GSM, GPS, 7-Seg, ADC, DAC, EEPROM, Relay, 4x4 keypad, stepper Motor)

Note: Assistance to complete the Pre-requisites will be provided for candidates to complete eligibility criteria
Training Program
We expect complete fluency in C Programming & good logic development. Under the Professional Training
Program on Hardware and Software Development the company expects you to acquire thorough knowledge of
the following modules:-

1. Embedded C programming

● Basic s of C
● File Handling, Pointers, Link List, Binary Tree, Graphic Programming
● Pre-processor Statements, Macros, Conditional Compilation
● Enumerated Data Types
● Structures, Unions, Pointers to functions
● Register based variables, null statements and strings Command Line Arguments
● Formatters for characters and strings
● AES / DES / 3DES Encryptions
● Data Structures in C programming
● Error Correcting and Detecting Techniques (hamming, Liner block codes, convolutional codes, CRCs)
● Data Compression techniques in C programming.

2. 8051 / STM32FXXX / Atmega 32 / NRF 52840 / Nuvoton M0 Series /Nuvoton 8051 / Vango

Internal Interfaces
● ALU, RAM, ROM, SFR, GPIO , Timer, Counters, Interrupts
● I2C / SPI / DMA RS485 MODBUS, CANBUS / J1939 / BIT Banding
● RTC, ADC, PWM, IAP / OTA / Bootloader
● Watchdog Timer / Low Power Modes & Sleep Modes / Brown out detection
● USB Communication (Host / Device) / Ethernet / SDIO

Hardware Interfaces
● LCD / GLCD / Frequency Segment LCD / RGB LCD
● Matrix Keyboad / Relays / Transistor Switching / MOSFET control
● DC Motor, Stepper Motor, BLDC Motor
● GSM / BT / Wi-Fi / GPS Modules / NFC
● Sensors (Temperature / Humidity / others) Flow Meters
● Serial EEPROM / Flash / PID Control / Fuzzy Logic

3. Hands on Live Product

● Product Understanding & Market Research


● SDLC & Product Development
● Project Planning and ECN Documentation
● Agile / Scrum and Print development
● Test Reports and QC documentation.
4. Basic Theory

● Basic Concepts Of Electronics


● Ohm's Law, Series And Parallel Circuits And Kirchhoff's Laws, DC Network Analysis, Divider Circuits
● Passive Elements: : Resistor , Capacitors and Inductors
● Diode, Light-emitting diode (LED)
● RC and L/R Time Constants
● Magnetism and Electromagnetism
● Physics Of Conductors And Insulators

5. Basic AC Theory

● Root Mean Square, Average electrical power


● Transformers
● Reactance and Impedance -- Inductive
● Power Factor
● Reactance And Impedance -- Capacitive
● Reactance And Impedance -- R, L, And C
● Filters

6. Semiconductor Related

● Solid-state Device
● Diodes and Rectifiers
● Bipolar Junction Transistors
● Thyristors and Operational Amplifiers
● IGBT
● Junction Field-effect Transistors
● Amplifiers and Active Devices
● Active Filters
● MOS Field-effect Transistors

7. Transistor and Amplifiers

● Class A, Class B and AB , Class C, Class D


● Common Collector Differential Amplifier
● Common Emiiter Amplifier - Push Pull
● Switching Amplifier
● Operational Amplifier (all modes and configurations of operations)
● 555 timer

8. Embedded System Design

● Gain Good knowledge of MCU/MPU/Memory/RTC/Comm/RF Chips.


● Thorough understanding of Transceivers- Wired / Wireless.
● Other Peripheral Interface
● Current Analysis of the System.
● Schematic Design, BOM Generation and verification
● PCB Design Rules
● Proper guidance document generation for PCB Design - Board Layout.
● Component Selection and searching alternate part

9. Soft Skills Development

● Typing Tutor with 50 words per minute


● Reports and Documents
● Excel / Word
● Written Communication and Emailing
● Computer proficiency and personal computer maintenance and Installation procedures followed
● Project Management Tools like Agile, Kanban, scrum management with burndown chartings.
● Bug Reporting Tools like Jira, bugzilla and others.
● Internal Processes and Documentations for inter department communications

You might also like