The primary objective of this role is to design, develop, test, and maintain software programs for operating systems or applications, ensuring they meet stringent quality assurance standards. The software solutions you create will be deployed at client sites, making it essential that they are reliable, efficient, and meet client requirements.
Key Responsibilities
- Understanding Requirements. Play a critical role in grasping the requirements and design aspects of the software product. Translate client needs into feasible software designs.
- Software Development. Create software solutions by analyzing system flows, data usage, and work processes. Follow the software development lifecycle while addressing problem areas.
- Root Cause Analysis. Conduct thorough investigations into system issues to facilitate root cause analysis and develop robust solutions.
- System Performance Improvement. Identify and implement ideas to enhance system performance and availability.
- Collaboration. Work closely with functional teams and systems analysts to delve into software requirements, and collaborate with project managers to understand software capabilities.
- Coding and Testing. Perform coding tasks and ensure optimal development of software modules. Automate processes for software validation by designing and executing test cases.
- Software Modification. Modify software to fix errors, adapt to new hardware, improve performance, or upgrade interfaces.
- Installation and Upgrades. Recommend and plan the installation of new systems or modifications to existing systems, ensuring smooth integration.
- Quality Assurance. Ensure the code is error-free and meets the quality standards. Prepare comprehensive reports on project specifications, activities, and status.
- Documentation. Maintain accurate and detailed documentation throughout the software development lifecycle, from client proposals to implementation.
- Client Interaction. Ensure smooth and timely delivery by capturing all client requirements and providing regular feedback. Maintain high-quality communication with clients, including email content, fault tracking, and business etiquette.
- Continuous Improvement. Engage in ongoing education and training to stay updated on best practices, new programming languages, and tools, enhancing team collaboration.
Stakeholder Interaction
- Internal Stakeholders. Regularly report to the Lead Software Developer and Project Manager. Coordinate with other Software Developers to provide testing solutions.
- External Stakeholders. Engage with clients to deliver solutions that meet their requirements and provide ongoing support.
Competencies Required
Functional Competencies
Competency Levels
- Leveraging Technology. Proficient in current and emerging technologies, with expertise in programming, automation, tools, and systems.
- Process Excellence. Expert in following standards and norms to produce consistent results, ensuring effective control and risk reduction.
- Technical Knowledge. Advanced knowledge of various programming languages, tools, and quality management standards.
- Foundation. Basic knowledge and minimal guidance required.
- Competent. Consistently demonstrates full competency, handling complex situations independently.
- Expert. Applies expertise in all situations and serves as a guide to others.
- Master. Coaches others and builds organizational capability, recognized as a key resource.
Behavioral Competencies
- Formulation & Prioritization
- Innovation
- Managing Complexity
- Execution Excellence
- Passion for Results
Performance Metrics
- Quality of Code. Error-free, meets quality standards.
- Client Satisfaction. No complaints from clients; timely response to requests.
- Documentation. Accurate and comprehensive documentation of all project-related information.
- Timely Delivery. Adherence to project timelines and regular status updates to stakeholders.