Maryland Global Initiatives Corporation (MGIC) is a non-profit affiliate of UMB with a mission to administratively support the international operations of UMB Principal Investigators. Our purpose is to provide the administrative infrastructure for sizable and sustained operations outside of the U.S. Currently, MGIC operates in Kenya, Nigeria, Rwanda, Tanzania, and Zambia, with registration application in process in Haiti. These operations support the research and clinical programs of the SOM, Institute of Human Virology.
We are recruiting to fill the position below:
Job Title: Software Development Officer
Location: Rivers
Employment Type: Full-time
Job Description
The Health Informatics Software Development Officers implement new features and technologies and deliver high-quality, high-performance code in an agile environment
This position will assist with the design, development, and maintenance of complex solutions with a focus on quality, performance, and resiliency.
Duties and Responsibilities
Leadership:
Technical expertise
Develop and routinely update all processes, standard operating procedures, and documents for software management for the organization
Perform In-Process Review including Code Walkthroughs
Evaluate various solution options
Create TDD (Technical Design Documents)
Create, Review & Approve Design & Solutions
Engage with client on requirements and application
Participate in requirements analysis, design and test plan creations, and test result verification
Advice for production environment set up
Breaking down large scale projects into manageable chunks
Consistently defines and applies technologies, standards, and software engineering practices, mentoring other team members
Responsible for mentoring junior talent as well as directing technical staff through technical challenges, tasks, and projects.
Develop key product features within existing large-scale enterprise applications & new strategic initiatives.
Participate in the full SDLC involving design, implementation, testing, and launching.
Assist with the generation and analysis of business and functional requirements for proposed software solutions.
Create design specifications, documentation, and unit testing plans as defined by the Agile development process.
Generate data for project planning, including task breakdown and estimation of work for a project. Tracks status within the project as necessary.
Raises long-term architecture issues within project
Own the delivery of an entire piece of a system or application, and serve as a technical lead on small projects.
Build software solutions where the problem is not well defined. Design and define the interaction between the other component pieces.
Maintain and support software solutions post-production.
Implements and debugs some of the more involved/complex functionality.
Representation:
Collaborate with the government and other stakeholders on e- initiatives by attending TWG meetings, and implementation all activities designed by the government
Attend designated meetings in relation to cross-cutting issues at different levels e.g. within the organization (Team lead meetings, general staff meetings), outside (GON, various Partners meetings)
Communication:
Maintain reports and documentation that are consistent with the task at hand and available to all concerned parties via emails or standard archiving options
Connects easily with supervisees and colleagues at all levels in a professional manner
Creativity:
Generate solutions or approaches to the most demanding problems within the team
Establish workable, prioritized, and highly effective problem-solving plans for each problem
Mode of Evaluation:
Biannual updated SOP for team
Reports of representation attended (meetings, TWGs)
Responses via email to supervisees, colleagues & management on key issues
Documentation of innovative new ideas or problem-solving initiative
Employee assessment of supervisor
Team Coordination and Supervision:
Provide appropriate mentoring and support to each supervisee addressing their individual assigned task – (one on one physical visits, monthly meetings, and documentation communication to each/all supervisees)
Give supervisees the information, technology, and reference materials necessary to perform their jobs
Assign tasks to supervisees to build their capacity and demonstrate their skills in the task in:
Site support: Each supervisee should have a copy of what sites have been assigned to them with a detailed SOW
Developments: specific roles of each staff who be documented and communicated to the staff for each development activity
Desk activities: Each supervisee should be made aware of the sites that they are responsible for reporting. Feedback on reporting rates and quality of data entered should be shared and discussed with supervisees routinely
Conduct an annual performance development plan and appraisal for each supervisee.
Recommend performance awards and/or merit increases when appropriate. As merit increases and award programs are implemented, supervisors will be required to provide evaluations that demonstrate the performance of eligible supervisees
Sign monthly timesheets and approve requests for time off. Your signature on a time record means you concur with the hours worked as recorded by your supervisee, including time taken off that may result in the supervisees inability to complete the required task
Identify and support supervisees to complete at least 1 capacity building activity within the year relevant to the project
Help supervisees address and resolve a wide variety of concerns and complaints. These typically involve job duties and job descriptions, performance standards, and relations with coworkers.
Mode of Evaluation:
Annual PDPs and appraisals
Quarterly documented feedback and coaching discussions (Dec, Mar, Jun & Sep)
Quarterly scorecard of work plan/assigned task and achievements
Other duties as assigned
Qualifications
Education: Bachelor's Degree in Computer Science, Electrical Engineering, Computer Engineering or similar technical discipline; or, equivalent demonstrable experience.
Experience:
3 years of systems development experience
Successful full life-cycle implementation of a least 2 major projects
Specialized knowledge:
Experience with software development methodology and release processes Excellent knowledge of software and application design and architecture
Familiarity with software configuration management tools, defect tracking tools and peer review
Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems.
Skills:
Experience in software development and coding in various languages (C#, .NET, Java, etc.)
Experience in developing web applications using at least one popular web framework
Possesses full working knowledgeof technologies such as UNIX, Oracle, SQL Server, and TCP/IP for example, as well as knowledge of one or more programming languages
Strong organizational, time management, computer and communication skills, leadership, coaching, and team-building skills to strengthen and cultivate relationships to help achieve organizational goals.
Ability to recognize the sensitivity to individual organizations' needs and the impact on services of the introduction of IT solutions.
Abilities:
Ability to multi-task, Analytical skills, Ability to follow verbal or written instructions, Thinking analytically, Communication, Using effective verbal communication, Using effective written communication, Handling stress & emotions, Concentrating on tasks, Making decisions, Adjusting to change, Examining/observing details, Sitting for long periods at a time, Ability to relocate to Rivers State.
Interpersonal / Individual Competencies:
Ability to work with other team members, flexibility, decisiveness, and personal integrity.
Language:
Fluency in English (speaking, reading, and writing).