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

Python Complete Notes

Uploaded by

kindlyurool75
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Python Complete Notes

Uploaded by

kindlyurool75
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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