(Senior) Analyst Programmer (6 positions) (Ref. IT/354/1014)
Information Technology (Development)
(Senior) Analyst Programmer (6 positions)
(Contract appointment until 31 December 2019)
The IT Division comprises approximately 120 staff members ranging from support technicians, system administrators, engineers, software developers to business analysts. The department plans, provides and maintains cyber-infrastructure (such as networks, central servers, identity management, e-mail and telecommunications systems, amongst others) and various applications, information systems and services that are essential to the University’s core academic and administrative functions. The department also supports users in the effective use of Information and Communications Technology (ICT).
The Kuali Foundation ( http://www.kuali.org/ ) is a consortium of Higher Education institutions that collaborates internationally to develop open source software for this community. As part of the “Kuali Team”, you will be working alongside local, national and international colleagues to deliver production. Agile methodologies are used in both software development and implementation projects.
- Working as part of an Agile team to achieve project deliverables;
- Developing and maintaining source code as well as taking responsibility for the quality of work;
- Designing, code and test solutions from front-end user interfaces to back-end services;
- Writing unit, component and integration tests and resolving issues together with QA experts;
- Writing code that adheres to team standards and actively participating in the improvement thereof;
- Writing and assisting with documentation whether in code or as part of project deliverables;
- Contributing subject matter expertise to technical design of software solutions;
- Performing job-related research for both professional and personal development and sharing this knowledge on the team wiki;
- Participating in and sometimes running code reviews;
- May lead 1 to 2 developers from time to time.
- NQF 7 (e.g. degree) or higher qualification in Computer Science (or equivalent subject);
At least 4 years’ Java experience;
- In-depth understanding of object-orientated design, SOLID principles and use of design patterns;
- Understanding of established software engineering standards and methodologies, including some or all of the following: creation and use of Use Cases, UML modelling, naming conventions, source control facilities, documentation, and unit testing;
- Excellent written and verbal communication skills, paired with the ability to express complex technical concepts effectively;
- Self-starter, highly organised, quick learner, with the ability to work independently and in teams;
- Proven technical problem-solving skills;
- Proven analytical skills;
- Experience with Spring Framework (specifically IoC);
- Experience with enterprise-scale application development (including REST, MVC, ORM, SVN, Git, Maven, Tomcat, JUnit and log4j);
- Database design and development experience in either Oracle or MySQL;
- Familiarity with ORM concepts and JPA in particular;
- Good Knowledge of XML, XSD, WSDL and SOAP;
- Knowledge of Asynchronous message-driven integration technologies;
- Understanding of Service-oriented Architecture (SOA) and Test Driven Design (TDD);
- Practical experience with web interface frameworks, such as Bootstrap, jQuery and AngularJS.
- Knowledge of and experience with the Kuali KRAD development framework;
- Experience as part of an Agile Scrum team;
- Oracle/Sun Java Certification;
- Experience with Spring Transaction Management.
Please note that the level of appointment and remuneration will be negotiated in line with experience .
How to Apply
Click here to apply online