Bangalore
1 day ago
Lead II - Software Engineering

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:

Mandatory Skills: AWS, Microsoft Azure, Iac, Sre, Site Reliability Engineering, Cloud Operations, software development, Golang, Ruby, Ruby Rails, automation, Cloud Infrastructure Skill to Evaluate: AWS, Microsoft Azure, Iac, Orchestration, Sre, Site Reliability Engineering, Cloud Operations, software development, Golang, Ruby, Ruby Rails, automation, Cloud Infrastructure,docker,kubernetes,Ansible,maven,C++,Java,python,dynatrace,ELK,Groovy,Codepipeline,codebuild,codedeploy,gdpr,hipa,iso27001 Experience: 8 to 10 Years Location: Bengaluru Job Description: Site Reliability Engineering (SRE) is an engineering discipline that combines Software, Systems engineering and Platform engineering to build and run large-scale, massively distributed, fault-tolerant systems. SRE ensures that services (both internally critical and externally visible systems) have reliability and uptime appropriate to users' needs and a fast rate of improvement while keeping an ever- watchful eye on capacity and performance. SRE is also a mindset and a set of engineering approaches to running better production systems we build our own creative engineering solutions to operations problems. Much of our software development focuses on optimising existing systems, building infrastructure and eliminating work through automation. Practices such as blameless post-mortems and proactive identification of potential outages that is key to both product quality and interesting and dynamic day-to-day work. The ability to communicate well is crucial, and you manage multiple initiatives with multiple engineers potentially across multiple time zones to achieve SLAs/SLIs/SLOs reliability and efficiency goals Education Qualificaiton: Bachelor’s degree in computer science, Information Technology, or a related field (master’s degree preferred) Job Title: SRE Consultant Roles & Responsibilities: Design and Architect SRE element into all the existing and new apps and services along with defining several controls/processes that ensures SLAs/KPIs are met. Define to SLA/KPI metrics at a technical level and ensure 100% adherence. Proactively maintain services once they are live by measuring and monitoring availability, latency and overall system health. Respond quickly to issues and mobilise responsible individuals quickly to achieve the fasted possible resolution. Support services before they go live through activities such as system design consulting, developing software platforms and frameworks, capacity planning and launch reviews Scale system and service sustainably through mechanisms like automation and evolve systems by pushing for changes that improve reliability and speed of service resolution. Continually analyse service to end customers with a view to enhancing customer experience, eradicating issues, fixing root causes and driving quality into everything we do. Educating support operations and customer help desks to adapt to new ways of working by increasing skills and knowledge. Perform RCAs, publish reports and take it to the next level by inventing short/long term fixes and further Runbooks. Be part of the Agile Mode of delivering Work Products by performing Backlog planning, Sprint Planning, Design Reviews, Peer Reviews and Retrospectives. Requirements Experience in one or more of the following: C, C++, Java, Python, Go, Ruby or shell scripting Experience with Windows and Unix/Linux operating systems internals and administration (e.g. filesystems, system calls) or networking (e.g. TCP/IP, routing, network topologies and hardware) Experience with containers and containers orchestration (e.g. Kubernetes, Docker) Extensive knowledge of AWS Hands-on experience with IAC tools such as Cloudformation and Terraform Experience with Configuration Management tools such as Ansible, Chef. Experience with cloud hosted application-monitoring tools such as Kibana, ELK stack etc Experience with Observability tools such as Dynatrace or Datadog Excellent communication skills with the ability to present complex technical information in a clear and concise manner to a variety of audiences, both technical and non-technical Comfortable working in a fast-paced, multi-tasking, dynamic environment Experience with deployment automation, working with platforms for configuration management, provisioning and artifact repositories. Preferred to have expertise with Make, Maven, Groovy, Gitlab, Gitlab pipelines, ArgoCD, AWS Codebuild/Codepipeline/CodeDeploy Experience in improving internal processes and good understanding of security engineering Capable of grasping, modifying and maintaining systems and code developed by others. Ability to debug and optimise code and automate routine tasks Systematic problem-solving approach, coupled with a strong sense of ownership, drive and determination. Ability to think outside the box and find innovative solutions to complex problems

Confirm your E-mail: Send Email