Lead II - Software Engineering

Lead II - Software Engineering

UST | Bayan Lepas, 07, MY

Posted 25 days ago

Apply Now

Description



Job Description


Role Proficiency:
Act creatively to develop applications by selecting appropriate technical options optimizing application development maintenance and performance by employing design patterns and reusing proven solutions. Account for others' developmental activities; assisting Project Manager in day to day project execution.

Outcomes:

Interpret the application feature and component designs to develop the same in accordance with specifications.
Code debug test document and communicate product component and feature development stages.
Validate results with user representatives integrating and commissions the overall solution.
Select and create appropriate technical options for development such as reusing improving or reconfiguration of existing components while creating own solutions for new contexts
Optimises efficiency cost and quality.
Influence and improve customer satisfaction
Influence and improve employee engagement within the project teams
Set FAST goals for self/team; provide feedback to FAST goals of team members

Measures of Outcomes:

Adherence to engineering process and standards (coding standards)
Adherence to project schedule / timelines
Number of technical issues uncovered during the execution of the project
Number of defects in the code
Number of defects post delivery
Number of non compliance issues
Percent of voluntary attrition
On time completion of mandatory compliance trainings

Outputs Expected:
Code:
Code as per the design

Define coding standards
templates and checklists

Review code – for team and peers
Documentation:
Create/review templates
checklists
guidelines
standards for design/process/development

Create/review deliverable documents. Design documentation
requirements
test cases and results
Configure:
Define and govern configuration management plan

Ensure compliance from the team
Test:
Review/Create unit test cases
scenarios and execution

Review test plan created by testing team

Provide clarifications to the testing team
Domain relevance:
Advise software developers on design and development of features and components with deeper understanding of the business problem being addressed for the client

Learn more about the customer domain and identify opportunities to provide value addition to customers

Complete relevant domain certifications
Manage Project:
Support Project Manager with inputs for the projects

Manage delivery of modules

Manage complex user stories
Manage Defects:
Perform defect RCA and mitigation

Identify defect trends and take proactive measures to improve quality
Estimate:
Create and provide input for effort and size estimation and plan resources for projects
Manage knowledge:
Consume and contribute to project related documents
share point
libraries and client universities

Review the reusable documents created by the team
Release:
Execute and monitor release process
Design:
Contribute to creation of design (HLD
LLD
SAD)/architecture for applications
features business components and data models
Interface with Customer:
Clarify requirements and provide guidance to Development Team

Present design options to customers

Conduct product demos

Work closely with customer architects for finalizing design
Manage Team:
Set FAST goals and provide feedback

Understand aspirations of the team members and provide guidance
opportunities
etc

Ensure team members are upskilled

Ensure team is engaged in project

Proactively identify attrition risks and work with BSE on retention measures
Certifications:
Obtain relevant domain and technology certifications

Skill Examples:

Explain and communicate the design / development to the customer
Perform and evaluate test results against product specifications
Break down complex problems into logical components
Develop user interfaces business software components
Use data models
Estimate time and effort resources required for developing / debugging features / components
Perform and evaluate test in the customer or target environments
Make quick decisions on technical/project related challenges
Manage a team mentor and handle people related issues in team
Have the ability to maintain high motivation levels and positive dynamics within the team.
Interface with other teams designers and other parallel practices
Set goals for self and team. Provide feedback for team members
Create and articulate impactful technical presentations
Follow high level of business etiquette in emails and other business communication
Drive conference calls with customers and answer customer questions
Proactively ask for and offer help
Ability to work under pressure determine dependencies risks facilitate planning handling multiple tasks.
Build confidence with customers by meeting the deliverables timely with a quality product.
Estimate time and effort of resources required for developing / debugging features / components

Knowledge Examples:

Appropriate software programs / modules Functional & technical designing Programming languages – proficient in multiple skill clusters DBMS Operating Systems and software platforms Software Development Life Cycle Agile – Scrum or Kanban Methods Integrated development environment (IDE) Rapid application development (RAD) Modelling technology and languages Interface definition languages (IDL) Broad knowledge of customer domain and deep knowledge of sub domain where problem is solved
Additional Comments:
Main responsibilities will include: Working closely with senior stakeholders to understand business requirements and help translate these into technical requirements for the development teamPlanning and documenting technical specifications for features or system designDesigning, building, and configuring applications to meet business process and application requirementsDirecting the development team in the design, development, coding, testing, and debugging of applicationsWriting testable, scalable, and efficient code and leading code reviewsMentoring team members across geo and ensuring they adhere to determined software quality standardsRoll the sleeves involvement for code development, and support tickets as required to help the team as required Required Candidate Qualifications: BS/MS degree in one of the following fields of study: Computer Science, Information Technology or Electronics/Electrical.8+ years of experience in developing software code, architecture and/or designing technical solutions, leading/working with Agile Software Development Teams.Relevant skills (listed below) with hands-on of 6+ years. Excellent in English communication. Preferred Qualifications: Essential elementsTo relocate to Malaysia as required, until then to work for Malaysian time zoneCore language(s) : C++ OR/AND Java (medium to advanced level)Scripting: Bash AND Python (both medium to advanced level)Operating System: Linux preferably SLES distros (medium to advanced level)Database development: Oracle PL/SQL (or Postgres) (minimum medium level)Agile tools : JIRA (able to setup projects and workflows is a plus)Programming: OOPS and Big data (text and binary, no images) processingBasics of DevOps framework is mustExperience with source control tools and ability to review code.Knowledge of semiconductor manufacturing flowsCI/CD runner frameworks is good to have (using Docker for example)Addressing application security vulnerabilities is good to have