Principal SW Engineer / Project Manager
Engineering with specific specialization
Requirements analysis and evaluation :
1) Author the set of system requirements to satifsy the stakeholder needs.
2) Ensure that performance criteria and functionality are.
described in the requirements.
3) Ensure that the System Requirements Document satisfies.
specified configuration management procedures.
4) Work along with the HW Engineer to define the.
a) HW SW Interactions are defined.
b) Requirements allocations are done for SW are correct and consise.
c) The HW intearctions for protocols are defined The SW requirements for CPLD FPGA and ASIC are well defined from HW specifications.
Product Design :
1) Co Author the Design for a specific module / functionality.
2) Choose design methods that facilitates :
a) abstraction modularity and other features which control complexity.
b) the expression of :
2) information flow between elements.
3) sequencing and time related information.
4) timing constraints.
5) concurrency and synchronized access to shared resources.
6) data structures and their properties.
7) design assumptions and their dependencies.
8) exception handling.
9) design assumptions (pre conditions post conditions invariants).
c) ability to represent several views of the design including structural and behavioural views.
d) comprehension by developers and others who need to understand the design.
e) verification and validation.
c Understand interdependencies of the various components in work packages that are being developed.
d) Work with architect to understand the architecture of the application high level approaches and ensure that the design is in line with overall direction.
conduct peer review as required.
e) Organize design review sessions with various stakeholders to validate design is as per requirements.
Identify the standards applicable for the work packages / components.
Familiarize the team with development environment and CTS and customer specific coding standards guidelines and best practices to be followed through sessions and document sharing.
Review the code created by team and provide review comments to the developers.
develop code for core / critical module(s) needed for the project.
Contribute towards development of framework.
Develop / review tier coding business layer coding interface development service development creation of stored procedures etc as applicable for the work package / project.
Write efficient queries and understand logical and physical data models.
follow up with Developers to ensure integration of components (input / output).
troubleshoot critical technical issues.
Handle escalations related to critical technical issues.
create detailed tasks for the scope and share timelines for the same with the team.
track the status of the tasks assigned maintain detailed task information for the work packages owned and do periodic reporting.
conduct technical review and audit.
Create quality check points for all deliverables.
estimate at task level in the area of work concerned measure and report the actual effort against the estimated effort and ensure task progress reporting in C20 or any other applicable tool.
Prepare and report status for the scope responsible.
conduct peer reviews in coding and testing phase.
Defect Management :
Participate in defect triage meetings with the team and confirm the defects identified highlight any new change request to the agreed scope and identify actions to reduce defects.
Monitor rework carried out on the code based on review comments from code review / defects raised in unit testing peer testing SIT UAT testing or any other relevant testing phase for core / critical modules.
Follow up with the team to close out on the defects.
identify ways to prevent defects.
Participate in transition of knowledge and to support organization with any defects raised post production as required.
Software Verification :
Develop comprehensive unit testing cases for modules developed (as required) and unit test plans.
execute unit testing.
Perform Design Review and walk through.
Create unit test logs.
prepare unit test strategy test plan document and data requirements.
automate unit testing and contributing to automation of unit testing.
Perform developer integration testing by integrating the components developed by each individual team member and ensure that the integration for the teams work has been completed before the next phase of testing (system testing).
Sign off on test cases created by team.
discuss results / actions from NFR testing and sign off on the same for system testing / NFR.
Safety Programming :
1) Perform FTA FMEA FFA Standards compliance activities.
2) Adhere to industry standards for design and development such as IEC 61508 ISA 206262 IEC 61850 ISA 85.
3) Adhere to Industry protocol standards such as Modbus Profibus CAN Bus.
Process Improvements :
Generate ideas to bring about any form of value add and share the same with the lead.
adhere to process and tools (usage of cognizant 20 awareness of quality management system IDE etc).
1) Contribute towards updating knowledge assets user manual online help document installation manual / scripts.
2) Contribute / search / reuse all types of assets from repository.
People Management :
Supporting the manager(s) for identifying the right associate for the given work items.