Software Developer Job Description
Job Summary:
As a Software Developer, you will be responsible for contributing to the development, testing, and maintenance of web-based applications and services that support the Ministry's initiatives, including the Education Management and Information System (EMIS). You will work under the guidance of Senior Systems Development Officers and other senior team members. This role emphasizes collaboration, learning, and gaining experience in modern software development practices while supporting more experienced developers in implementing solutions.
Key Responsibilities:
• Assist in Application Development: Work with senior team members to develop, test, and maintain web applications and services using modern programming languages such as PHP, .NET, and JavaScript.
• Collaborate with Senior Developers: Provide support in the development of key applications, working closely with Senior Systems Development Officers to understand technical requirements and assist in integrating various components of the Ministry’s systems.
• Front-End and Back-End Support: Participate in the development of both client-side and server-side applications, learning to use frameworks such as React or Angular for user interface development and server-side technologies like PHP or .NET.
• Database Assistance: Assist in maintaining and managing relational databases (MySQL, PostgreSQL, or MSSQL) and support senior developers in ensuring data is accurately stored and retrieved.
• Learn API Development: Support the creation and maintenance of APIs that allow systems to communicate and integrate, under the direction of senior team members.
• Testing and Quality Assurance: Contribute to testing and debugging processes to ensure high-quality software delivery, working alongside senior developers to resolve issues.
• Version Control: Utilize Git for managing code changes, following the guidance of senior developers to ensure proper versioning and collaboration.
• Follow Security Best Practices: Learn and apply data security principles under the guidance of senior team members, ensuring compliance with relevant regulations and standards.
• Continuous Learning: Stay engaged with industry best practices and new technologies, applying what you learn to support the team’s ongoing projects and development goals.
• Documentation Support: Assist in documenting code and processes, ensuring that the work you contribute to is well-organized and understandable by the team. Qualifications:
• Bachelor's Degree in Computer Science, Software Engineering, Information Technology, or a related field (or equivalent experience).
• Exposure to web application development using languages such as PHP, .NET, JavaScript, HTML, and CSS.
• Familiarity with JavaScript frameworks (React, Angular) and database technologies (MySQL, PostgreSQL, or MSSQL).
• Basic understanding of version control systems like Git.
• Interest in learning how to work with APIs, web services, and RESTful architecture.
• Strong problem-solving skills and eagerness to learn from more experienced team members.
• Good communication skills and the ability to work in a team environment.
• Willingness to adapt and learn new technologies and frameworks. Experience:
• Minimum of 2-3 years of experience in software development, including internships, personal projects, or academic experience.
• Hands-on coding or project work, particularly in web development, is desirable but not mandatory.
• Familiarity with software development practices, particularly as part of a team, is an asset. Desirable Skills:
• Basic understanding of open-source tools and environments, such as GitHub or GitLab.
• Awareness of agile methodologies such as Scrum or Kanban.
• Familiarity with Linux server environments and cloud-based technologies (e.g., AWS, Azure) is a plus.
