Snr Application Developer

Full Time
  • Full Time
  • TBC
  • Salary: TBC

 Snr Application Developer– Job Description 

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. 

You know 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.

Duties and Responsibilities 

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 

Essential Experience and Knowledge 

  • 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

Desirable Experience and Knowledge 

  • Insurance experience 
  • Database design experience such as SQL and Mongo 
  • Network/infrastructure design experience (Optional) 
  • Experience of enterprise architecture definition 

Essential Skills and Attributes 

  • Excellent communication skills, both verbal and written 
  • Will be confident, articulate and literate, presenting him/herself as a professional at all times Must be self-motivated, disciplined, able to work on own initiative and take responsibility for own  work 
  • Will be committed to the achievement of excellence 
  • Constantly strives to discover and learn new technologies 
  • Ability to balance client business priorities with technical requirements 

Desirable Skills and Attributes 

  • Resilient and able to work in an organization that is undergoing change due to growth Education and Qualifications
  • Computer Science or other relevant technical degree (2:1 or higher).

Additional Information in regards to Developer Requirements 

  1. Key Measurement Factors 

  • Problem solving 
  • Self-development 
  • Quality and detail 
  • Customer Excellence 
  • Value creation and innovation 
  • Productivity and time management 
  • Communication skills and relationship with users (including upward management) Team Player 
  • Time keeping/Punctuality/Absenteeism 
  • Adherence to IT processes 
  1. Major responsibilities of the function 

  • 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. 
  1. Job Competencies 

  • Good organizational skills, task/project driven, deadline oriented Good communication and interpersonal skills 
  • Good decision making skills 
  • Good problem solving ability 
  • Ability to prioritize and work under pressure 
  • High attention to detail 
  • Exposure to Agile development methods a bonus

Back-End Skillset (minimum) 

  • C# 
  • Web API or MVC ( 3,4,5 ) 
  • ASP.NET 
  • 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

Other skills (minimum) 

  • Understanding of OOP 
  • Visual Studio 
  • Integration experience between front/back end 
  • Exposure to Version Control with Git/Subversion /Bitbucket and branching strategies Clean code
  • 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) 

  • Knowledge of multi-threaded, multi-tiered applications 
  • Experience with Service Orientated Architecture 
  • ReSharper 
  • Domain Driven Design 
  • Build and continuous integration frameworks like teamcity, octopus
  • Team Foundation Server
  • Distributed Systems design
  1. Reporting Structure 

  • Software Development Manager: Business Software Solutions

To apply for this job please visit www.jcmconsult.co.za.

Share This