Senior Software Developer 1
Job summary : The purpose of a Senior Software Developer 1 is to contribute to the development and implementation of complex software solutions. They are responsible for designing, coding, testing, and maintaining software applications, as well as providing technical guidance and leadership to other members of the software development team.
Job specification
- Bachelor’s degree in Computer Science ,Software Engineering, or similar field(advantageous).
- At least 5 years’ experience within a development environment.
- Knowledge of design principles and fundamentals of architecture.
- Demonstrated leadership / mentoring skills.
- Detailed knowledge of the SDLC and management of software projects.
- Good written and verbal communication skills.
- Strong attention to detail.
Job responsibilities
Design Fit for Purpose Solutions & Algorithms &planningActively contribute to design and planning meetings, discussions and documentation
Design solutions using most appropriate approved architectural patternEnsure design patterns used are increasing the organisational levels of high-volume transactional performance, resilience, automation and innovationEnsure design meets best practices and are Test, DevOps and Support friendlyIdentify and establish objectives for self and teamSet objectives / goals based on the team’s chosen software development methodology to successfully complete projects.Consider all reasonable factors, impediments and obstaclesIdentify potential alternative strategies and refactor approach for maximum benefit within the shortest possible timeFormulate supporting plans and communicate with others in terms of dependencies and impactPublish plan to, peers and stakeholders through agreed methodsImplementation of a solution that is complete, efficient and compatibleDeliver a complete solution which covers all the agreed specified tasks and user objectives
Deliver a correct solution which provides the correct results with the needed degree of precisionDeliver an appropriate solution which facilitates the accomplishments of specified tasks and objectives comprehensively yet excluding unnecessary stepsEnsure checked in code is reviewed to ensure standards are met and the code base is soundDeliver a solution in which throughput rates & response and processing times meet stated requirementsDeliver a solution in which effective / efficient resource utilisation of system resources occurs during operationDeliver a solution which ensures the maximum operational capacity requirement is achieved or exceededDeliver a solution which performs efficiently and can co-exist with other solutions and does not have a detrimental impact on other solutionsImplementation – Advises on the Solution and / or actions allocated tasks to ensure it has a High Usability FactorEnsure the user / s of the solution can achieve specified goals with effectiveness, efficiency and satisfaction
Ensure the user of the system can comfortably recognise the systems flow, functions and capabilities of the systemEnsure the system logically supports user self-learning on how to use the system with effectiveness and efficiencyEnsure the solution protects the user against making errorsEnsure the user interface is pleasing and presents a satisfying interaction for the userActions the proposed solution thus ensuring that it is accessible and can be used by people with the widest range of characteristics, capabilities, cultures and languages where appropriateImplementation – Ensure the Solution is ReliableEnsure the solution performs appropriately under agreed conditions for extended periods of time without the need for intervention (despite potential attacks)
Ensure all steps are taken to reduce the occurrence of faults due to misunderstood requirements, design errors, and implementation errorsEnsure the solution is robust and remains continually availableRespond to outages and failures when and where neededImprove fault tolerance even when operational conditions are not optimalEnsure complete data recoverability so that data may be recovered, and the desired state of the solution can be re-established (despite potential attacks)Ensure the solution is maintainable, and actively seeks methods to reduce down-timeEnsure the solution is durable so that as user volumes and requirements change the solution can evolve over the long termEnsure the solution simplifies support and maintenance support through traceability, and effective error messagingEnsure over time, the solution becomes more mature where the interval between the interventions to remain operational become less frequentEnsure in the event of a failure reduce effective down time is to the minimum possibleImplementation – Ensure the Solution has Effective SecurityEnsure the solution is secure, and confidential by protecting all information and data (also data transmission)
Ensure persons or other solutions have the degree of access appropriate to their level of authorization and typesEnsure the solution has high integrity where the solution prevents unauthorised access to, modification of computer programs, data or settingsEnsure the solution has a high degree of survivability despite 3rd-Party interventions (attacks, human errors, hardware or software faults)Employ logs and records so that actions and events can be proven to have taken place, and cannot be disputed / repudiated laterEnsure wherever possible actions can be traced uniquely to the entity which performed itEnsure the solution and its relevant code base supports ease of modification for future maintainersEnsure the use of appropriate standards and methodsEnsure where possible(without affecting performance / security) the solution caters for maintenance by support teams rather than developersEnsure modularity where the solution consists of discrete components so that a change in one component has minimal impact on other componentsEnsure relevant documentation is provided to support teams to reduce development support burdenApply a strategy of reusability so an asset can be used in more than one solution or in building other assetsWhere possible provide a mechanism for the solution to analyse its own faults and provide reports prior to a critical failureDevelop the solution in a manner which supports modification for future developers thereby reducing the numbers of defects or negatively affecting system qualityTesting, verification and deployingEnsure the solution is test friendly by creating effective mechanisms for test data, automated testing hooks and simulations
Ensure the solution is delivered completely and with the additional assets which are required to make installation / deployment as seamless and easy as possibleEnsure the adaptable solution delivered is appropriate for different or evolving hardware, software or other operational usage environmentsRespond to Outages & FailuresProvide proactive support to Peers, Testing, Dev Support and Operational teams so number of escalations to the development team is reduced, thereby maximising development time
Provide support to the Dev Support when required during operational events and create or assist with the creation of SOP’sBe available to handle emergency outages and failures for your or your teams’ solutionsPerform trouble shooting and effectively resolve issues to increase solution stability and reduce intervention required over timeRecommend and execute approved improvements to development methods and solutionsProvide quick resolutions to app / system issues, driving stability, efficiency and effectivenessMaintain solutions which have completed development and are in the operations phaseDevelop technical support documentation and where possible / necessary, maintain the documentation.Assess risk and impact of production issues / changes and take appropriate steps to mitigate riskCoaching / MentoringProvides guidance, training, and problem-solving assistance to other Team Members.
Mentors and contributes to the growth of junior and intermediate Team Members.Designs and delivers end-user training and training materials.Living the spirit :Actively drives a culture of collaboration and open communication within the team.
Actively promotes authenticity and drives the spirit of diversity, inclusion, equity and belonging within the team.Actively drives a culture of versatility and adaptability by modelling and encouraging Team Members to support each other not only within the department, but within the business as a whole.Please note that only candidates who meet the stipulated minimum requirements will be considered. If you have not been contacted within 30 days, kindly find your application to be unsuccessful.
#J-18808-Ljbffr