Senior Application Developer

Location: Johannesburg, South Africa
Salary: 950000
Recruiter: Pedless
Job Ref: Prebless002
Summary: The Application Developer contributes to the development of software, web, and multi-media applications that facilitates the achievement of business outcomes and improves business efficiencies and processes through leveraging technology.



Job Description

Senior Application Developer

Primary purpose of the role

  • The Application Developer contributes to the development of software, web, and multi-media applications that facilitates the achievement of business outcomes and improves business efficiencies and processes through leveraging technology.
  • Applications developers translate software requirements into workable programming code and maintain and develop programs for use in business.
  • The role usually involves writing specifications and designing, building, testing, implementing and sometimes supporting applications using programming languages and development tools.
  • They often work as part of a team with other IT professionals, such as software engineers and systems analysts, and write programs according to their specifications.
  • They may also work on generic products or for individual clients providing bespoke solutions. 

Key accountabilities

  • Prepare specialised code as required by the product definition to enable application development
  • Contribute technical expertise to requirements analysis to enhance the quality of the solution design
  • Complete testing and gather feedback to improve the quality and reduce operational risk of the developed application
  • Undertake post-release activities to develop a base of knowledge to be incorporated in future build and release cycles
  • Provide 3rd level application support and problem resolution to minimise the impact of application related service outages
  • Key challenges - Balance competing demands to ensure project objectives are delivered based on business need and priority.

He knows things such as:

  • What are the non-functional requirements to the system and how does the architecture reflect them,
  • What are the stakeholders development plans for the application and why the architecture do not hinder this development in the future,
  • What components are in the system and what are their responsibilities,
  • What are the interfaces and available connections between components,
  • What kind of technologies, standards and limitations are used to create the application.
  • For instance, he can clearly tell where to find a certain functionality of code, as well as which components may communicate with database and how.
  • The main duties and responsibilities of the application developer role are as follows:
  • Work as part of a project team, reporting to a I.T managers.
  • Work closely with business staff to ensure solutions adhere to client standards and fit their strategic enterprise architecture
  • Definition and management of non-functional requirements, including working with others to ensure these requirements have been met
  • Definition and organization of development tasks and accurate estimation of these tasks
  • Work closely with members of the development team to ensure that the software design and implementation meets the architectural goals and quality standards
  • Provide support to the business analysts, and other project team members, during functional requirements definition to ensure that functionality is both technically achievable and feasible within the project constraints
  • Identification and ownership of technical project risks and issues, including owning mitigation activities and resolution of issues
  • Undertake other duties as directed by line managers commensurate with the post
  • Actively seeking opportunities to contribute improvements to Client’s applications
  • Mentoring junior members of the development team including training
  • Acting as a focal point of expertise on key technologies or skills
  • Implement development projects of all description (either IT related or not)
  • Liaising with Development Team, Test Analysts and Business Analysts for technical development
  • Maintenance of projects as well as enhancements.
  • Maintenance and enhancement of Legacy systems.

Education, Qualifications and  Desirable Experience and Knowledge

  • B.Sc. with Information Technology or Computer Science majors OR B.Eng. or other B.Sc. degree with notable computing and mathematical content Additional relevant IT Development certification would be advantageous Other skills (bonus)
  • Insurance experience
  • Database design experience such as SQL and Mongo
  • Network/infrastructure design experience (Optional)
  • Experience of enterprise architecture definition
  • Experience of the full software development lifecycle
  • Experience of architecting software solutions with demanding non-functional requirements such as performance, high availability, reliability, security, etc.
  • Extensive development experience
  • Knowledge of a wide range of open source projects and components (Optional)
  • Excellent knowledge and understanding of object oriented design techniques and patterns
  • Knowledge of several standard software development methodologies
  • Knowledge of integration patterns and technologies
  • Client interaction experience, including experience of running workshops with clients
  • (Beneficial) – Experience working in an agile environment
  • (Beneficial) – Knowledge and/or experience with SOA architectures
  • (Beneficial) – Knowledge and/or experience in systems such as service bus
  • (Beneficial) – experience in web technologies such as angular
  • Understanding of OOP and Visual Studio and Clean code
  • Integration experience between front/back end
  • Exposure to Version Control with Git/Subversion /Bitbucket and branching strategies
  • Knowledge of multi-threaded, multi-tiered applications
  • Experience with Service Orientated Architecture
  • ReSharper and Domain Driven Design
  • Build and continuous integration frameworks like teamcity, octopus
  • Team Foundation Server
  • Distributed Systems design and Reporting Structure
  • Software Development Manager: Business Software Solutions

Back-End Skillset (minimum)

  • C#
  • Web API or MVC ( 3,4,5 )
  • Working knowledge of RDBMS like MSSQL (2008 and up) and MongoDB (nice to know)

Back-End Skillset (bonus)

  • Securing web applications
  • Dependency Injection , IOC
  • Test driven development
  • IIS
  • RESTFul Web Services
  • Message Bus experience
  • OWIN experience
  • Mobile Development
  • CORS experience
  • Service bus

Front-End Skillset (minimum)

  • UX/Usability experience a must
  • Html (XHTML, HTML4 and HTML5 )
  • JavaScript:
  • Ajax
  • Exposure to Client-size MVC Frameworks
  • [knockout, backbone, ember but Angular especially]
  • JQuery
  • CSS2 and CSS3
  • Debug tools such as Firebug / Chrome Dev Tools
  • Cross Browser/Platform development
  • Consuming Data formats such as JSON/XML

Front-End Skillset (bonus)

  • Responsive UI Experience
  • CSS Preprocessors (LESS/Sass)
  • HTML5 Apis ( Video, Geolocation etc. )
  • Website speed / performance optimization experience
  • Twitter Bootstrap 3
  • Signal R

Closing date: 05 May 2021

PLEASE NOTE THAT FEEDBACK WILL BE GIVEN TO SHORTLISTED CANDIDATES ONLY. For more info, please email us at --------Please upload your CV here--------





New users - Upload your CV                      Existing users - Login here


Similar jobs your might be interested in:


Create a free job alert for                                

Senior Application Developer in Johannesburg

Enter your email address below
and we will email you similar jobs when they become available:

You can cancel at any time. We will not spam you. By giving us your email address your agree to our Terms and Conditions