Develop comprehensive application testing procedures
Software Development: Design, code, test, and maintain software applications that align with business requirements and project goals. Ensure software quality and performance.
Architecture and Design: Lead or contribute to the architectural design of software systems, ensuring scalability, modularity, and maintainability.
Team Collaboration: Collaborate with cross-functional teams, including product managers, designers, and other developers, to define software requirements and ensure successful project delivery.
Code Review: Review code and provide feedback to junior developers. Ensure coding standards and best practices are followed.
Technical Leadership: Provide technical guidance and mentorship to junior team members. Stay current with emerging technologies and recommend their adoption.
Problem Solving: Analyze complex technical issues, troubleshoot software defects, and develop effective solutions.
Testing and Quality Assurance: Develop and execute unit tests, integration tests, and participate in code reviews to maintain software quality.
Documentation: Create and maintain software documentation, including code comments, system architecture, and user manuals.
Deployment and Optimization: Participate in deployment processes and work on performance optimization to enhance the efficiency of software applications.
Security and Compliance: Ensure that software applications meet security and compliance requirements and address any vulnerabilities or issues.
Agile Development: Work in an Agile/Scrum environment, contributing to sprint planning, daily stand-ups, and sprint reviews.
Continuous Learning: Stay up-to-date with industry trends and emerging technologies. Share knowledge with the team.
JOB QUALIFICATION:
A bachelor's degree in Computer Science, Software Engineering, or a related field is required. A master's degree is a plus.
Experience: A minimum of 5-7 years of professional software development experience with a strong track record of successful software project delivery.
Programming Languages: Proficiency in one or more programming languages relevant to the organization's tech stack (e.g., Java, Python, C++, JavaScript, etc.).
Software Development Tools: Experience with development tools, libraries, and frameworks, as well as version control systems (e.g., Git).
Architecture and Design: Strong understanding of software architecture principles and design patterns.
Problem-Solving Skills: Excellent analytical and problem-solving skills to address complex technical challenges.
Team Collaboration: Effective communication and teamwork skills to collaborate with cross-functional teams.
Testing and Quality Assurance: Experience with testing methodologies and tools.
Agile Methodology: Familiarity with Agile development methodologies (e.g., Scrum) and Agile tools (e.g., JIRA).
Continuous Learning: A commitment to staying current with new technologies and best practices in software development.
Experience in working with Content Management Systems
Knowledgeable in Agile/Scrum, Jira, Bitbucket and Confluence.