Job Purpose:
Software Manager identify the requirements for new software programs, identify market requirements and review the performance of existing competitive programs. The functional requirements provide the basis for a product development strategy that gives the software team a clear sense of direction.
Key Accountabilities:
•Determining development strategy
•Ownership of the complete software development lifecycle.
•Manages Development Team of software engineers.
•Consulting with management and software developers to determine software solution requirements.
•Evaluating software solutions and system performance, as well as supervising the software development team.
•Demonstrating patience and using effective explanations when mentoring junior software developers.
•Managing the development, deployment, and integration of software solutions.
•Determining system specifications and analyzing test stage data prior to software installation.
•Keeping abreast of new software technologies, as well as conforming to best practices in cybersecurity
•Accountable for providing high quality software products and services.
•Improve the design pipeline through data mining and iterative analysis of the data obtained and develop algorithms rules to improve the pipeline.
•Manage Software Development Process and Personnel
•Manage and Direct Use of Technology Development Methods and Tools
•Design/Develop Integrated Solutions to Business Problems
•Conduct technology / solution evaluation and recommend appropriate solutions to support sales business need.
•Platform Architecture leadership to support the overall Digital Software vision and objectives.
•Work closely with technical support team and engineering to handle product issues reported by customers.
•Should possess strong technical skills, have a career history of strong hands-on software engineering and development experience, and the tactical and visionary leadership skills to motivate, guide, and earn the respect from a highly talented engineering team.
•Propose relevant technical solutions in response to a problem, assess the necessary development costs and associated risks.
•Set up the teams, define the training needs, manage the workload fluctuations, monitor teams’ work until the software is delivered and into its final validation.
•Technical interface with the applicant (e.g., the customer) and the reporting part.
Job Requirements:
- Years of experience:+12 Years of experience
•Proven experience of container management (i.e., docker and OpenShift) is preferred.
- Academic Qualifications:
Bachelor's degree in software engineering, computer science, information systems, information technology, or similar.
Preferred (Master's degree in a related field preferred)
- Language proficiency:English & Arabic
- Computer skills:
•In-depth knowledge of developing applications using more than one of Java JSE, .net or Python is mandatory.
•Relational databases design and development using one of the well-known DBMSs (i.e., Oracle, MS SQL, PostgreSQL, MYSQL, MariaDB … etc.)
•Proven experience of using different full stack web framework.
•Proven experience of using Middleware.
•Proven experience in different development frameworks and technologies.