Role Proficiency:
Independently develops error free code with high quality validation of applications guides other developers and assists Lead 1 – Software Engineering
Outcomes:
Understand and provide input to the application/feature/component designs; developing the same in accordance with user stories/requirements. Code debug test document and communicate product/component/features at development stages. Select appropriate technical options for development such as reusing improving or reconfiguration of existing components. Optimise efficiency cost and quality by identifying opportunities for automation/process improvements and agile delivery models Mentor Developer 1 – Software Engineering and Developer 2 – Software Engineering to effectively perform in their roles Identify the problem patterns and improve the technical design of the application/system Proactively identify issues/defects/flaws in module/requirement implementation Assists Lead 1 – Software Engineering on Technical design. Review activities and begin demonstrating Lead 1 capabilities in making technical decisionsMeasures of Outcomes:
Adherence to engineering process and standards (coding standards) Adherence to schedule / timelines Adhere to SLAs where applicable Number of defects post delivery Number of non-compliance issues Reduction of reoccurrence of known defects Quick turnaround of production bugs Meet the defined productivity standards for project Number of reusable components created Completion of applicable technical/domain certifications Completion of all mandatory training requirementsOutputs Expected:
Code:
Develop code independently for the above
Configure:
Test:
scenarios and execution
Domain relevance:
Manage Project:
Manage Defects:
Estimate:
effort
resource dependence for one's own work and others' work
including modules
Document:
Manage knowledge:
share point
libraries and client universities
Status Reporting:
Release:
Design:
Mentoring:
Skill Examples:
Explain and communicate the design / development to the customer Perform and evaluate test results against product specifications Develop user interfaces business software components and embedded software components 5 Manage and guarantee high levels of cohesion and quality6 Use data models Estimate effort and resources required for developing / debugging features / components Perform and evaluate test in the customer or target environment Team Player Good written and verbal communication abilities Proactively ask for help and offer helpKnowledge Examples:
Appropriate software programs / modules Technical designing Programming languages DBMS Operating Systems and software platforms Integrated development environment (IDE) Agile methods Knowledge of customer domain and sub domain where problem is solvedAdditional Comments:
Minimum of 3 to 6 years’ experience in the responsibilities mentioned. · Python Scripting: Proficient in writing clean, efficient scripts using Python for automation and problem-solving. · Web Frameworks: Skilled in Django/Flask/FastAPI for backend and REST API development, with frontend knowledge (React/Angular/Vue). · Testing: Experienced in unit and integration testing with Pytest and ensuring code quality using linting tools. · Data Analytics: Capable of processing and analyzing data using Pandas, NumPy, and visualization libraries like Matplotlib. · Version Control: Proficient in using Git for source code management and collaboration through branching and merge strategies. · Databases: Strong in SQL and NoSQL database design, query optimization, and management. · Tools: Familiarity with additional build tools and CI/CD systems (e.g., Jenkins, GitLab CI/CD). · Cloud technologies: Familiarity with AWS/Azure or GCP. · Problem-Solving: Excellent analytical and problem-solving skills related to build systems and processes. · Communication: Strong verbal and written communication abilities. Fullstack Development: Design, develop, and maintain scalable web applications across frontend and backend. · API Development: Build and integrate secure RESTful APIs and microservices. · Database Management: Design schemas, write optimized queries, and manage SQL/NoSQL databases. · Testing & Quality: Write unit and integration tests using Pytest and ensure high code quality. · Data Handling: Analyze and process data for reporting and insights using Python data libraries. · CI/CD Implementation: Configure and manage GitLab pipelines for continuous integration and deployment. · Version Control: Collaborate using Git for source code management and branching strategies. · Collaboration: Work with cross-functional teams in Agile environments for planning and delivery. · Documentation: Maintain clear documentation for code, APIs, and processes.