Create and maintain technical documentation, including design documents, architecture diagrams, and user manuals. Facilitate knowledge sharing within the team, promoting continuous learning and improvement. Create and assist in the creation of Standard Operating Procedures for the Software Development Division.
Implement and oversee processes for quality assurance and testing, including unit testing, integration testing, and user acceptance testing. Ensure that software solutions meet functional and performance requirements and address any issues or bugs in a timely manner. Highlight any security issues and propose mitigation measures to higher management.
Lead and mentor a team of software developers, fostering a culture of collaboration, innovation, and excellence. Provide technical guidance and support to team members, helping them solve complex problems and develop their skills.
Lead the design and architecture of software solutions, ensuring scalability, reliability, and maintainability. Evaluate technologies and frameworks, making informed decisions to meet project requirements and long- term goals.
Provide regular trainings to the software development team as well as support to build a sustainable training system.
Collaborate with project managers, product owners, and other stakeholders to define project requirements, budgets, timelines, and deliverables. Develop and maintain project plans, ensuring that development tasks are completed on schedule and within budget.
Collaborate effectively with cross- functional teams, including designers, testers, and system administrators, to deliver integrated software solutions. Communicate project status, risks, and issues to stakeholders, and proactively address concerns to ensure project success.
Participate in hands- on coding and development activities, contributing high- quality code that meets established standards and best practices. Review code produced by team members, providing feedback and guidance as needed.