Senior .NET Developer

  • Standard Bank
  • Simmonds, Gauteng, South Africa
  • May 19, 2020
Full Time Banking

Job Description

Job Details

Information Technology: systems development, business analysis, architecture, project management, data warehousing, infrastructure, maintenance and production

Job Purpose

To manage and oversee the Bank's operational and tactical development initiatives which include the execution and, implementation of application delivery programmes and projects against the Bank's standards, policies and procedures and governance guidelines and Service Level Agreements. To provide technical solutions to the needs of stakeholders by interpreting business requirements, defining technical tasks, engineers' quality software, performing end to end testing, as well as supporting and troubleshooting technical questions, software and database issues.

Key Responsibilities/Accountabilities

Adhere to Agile methodologies and follows Agile principles through work outputs and behaviours

    • Strive to reach mature levels on the Continuum model by building own and team competence to work in a continuous delivery environment: Champion team learning and adopt suitable methodologies and practices.
    • Collaborate with colleagues from different disciplines in a cross-functional team to deliver against iteration targets.
    • Work in partnership with Business representatives (e.g. Product Owner, Product Manager) ensuring alignment and value to the customer.
    • Manage work effectively as an individual and team member including the reprioritisation of backlogs and reacts flexibly to changing demands through.
    • Manage work using available resources and methodologies ensuring full team engagement.
    • Estimate the size and complexity of the work within the team and managing this appropriately.
    • Determine the technical design in their area of concern, within the architectural guidelines.
    • Drive team commitments to the work in every iteration or Program Increment.
    • Be responsible for value and builds to continuously improve the quality of deliverables.
    • Find ways to improve own and the team's delivery and value to the customer on a continuous basis.

Scope, Plan, Design and Review end to end solutions

    • Advise the development staff on the evaluation and impact analysis of major design options.
    • Engage with Information Technology support teams and business stakeholders to scope plan and design end to end solutions.

Define and Develop application complex code

    • Produce outline system specifications using solution designs, functional specifications or technical specifications as input, including input into scope, constraints (such as performance or resources), hardware, network and software environments and depending on the complexity of the project or change, might need to get the different resources from the different BU's.
    • Produce specifications for systems functions, information flows, data loads, implementation strategy, phasing of development, requirements not met and alternatives considered.
    • Translate logical designs into component designs taking into account the solution design, performance requirements and existing systems.
    • Perform risk analysis and produce development plans in order to consider the impact of design decisions.
    • Build, code and review user and system interfaces including menus, screen dialogues,inputs, reports, validation and error correction, processing rules, access, security, audit controls, recovery routines and contingency procedures.
    • Work with data analysis colleagues to produce or update system or object data models and correlate these with corporate models.
    • Work with database design or database administration teams to translate object and data models into appropriate database schemas within design constraints.
    • Assist less experienced colleagues with complex coding problems.
    • Conduct quality assurance and approve developed code linked to supplied specifications for production deployment.
    • Provide guidance and assistance to colleagues on any aspect of program component design, creation, testing and documentation.

Conduct Testing across various IT platforms

    • Prepare test cases for unit testing purposes and review test cases as produced by other developers for unit testing purposes as required.
    • Conduct unit testing and fix detected errors. Testing can be done on own work as well as on that of other colleagues in the team.
    • Develop technical support documentation within agreed standards.
    • Document all work done as per standards, methods and tools used in the bank for application development.
    • Review work done by developers to assure all work has been done as per standards, methods and tools used in the bank for application development.
    • Construct, interpret and execute end to end system and program tests to verify correct operation of completed systems.
    • Ensure adherence to release methodology and technical change management procedures for all changes.
    • Adhere to own or manage team's project timelines for new developments and agreed service level timelines for repairing defects.

Drive Continuous improvement

    • Coach the junior developers on technical aspects of application development, controls, and documentation standards as well as on engaging effectively.
    • Perform quality assurance on the work completed by junior developers. Quality assurance can cover code developed as well as supporting documents and test plans.
    • Look actively for opportunities to shorten development times, improve skills of the team and improve cost efficiency of application development activities.
    • Ensure that all component designs take into account all specified requirements and constraints.
    • Provide level 3 support and production standby post go live.

Preferred Qualification and Experience


Minimum qualification

    • BSc Comp Science, B.Com Informatics degree or advanced degree
    • Bachelor's degree in a field requiring strong analytical and quantitative skills such as Computer Science, Engineering, Mathematics, Information Systems or similar

Preferred qualification

    • BSc Comp Science, B.Com Informatics degree or advanced degree
    • Bachelor's degree in a field requiring strong analytical and quantitative skills such as Computer Science, Engineering, Mathematics, Information Systems or similar


Experience required:

    • 5-7 years in Information Technology
    • 5-7 years in Application Support
    • IT Knowledge
    • IT Development
    • IT Applications
    • Automated Unit Testing
    • Data Integrity
    • Write code

Knowledge/Technical Skills/Expertise

    • .NET Development - C# - Object Oriented Development
    • Knowledge of Microservices, Cloud and Container Architecture - Service Fabric/Kubernetes
    • Deployment of applications in Azure (via VSTS CI&CD with scripting and automation)
    • Experience with Visual Studio IDE, Web Services Design/Deployment, REST Services, SOAP Services, Web API, Google Web Toolkit, IBM API Gateway, Azure API Manager - Json/Http, XML/Http
    • Experience in working with MS SQL
    • ORMs - Dapper
    • Swift, Objective C, Ionic
    • MSIS, MSRS, MSAS - Reporting
    • Swift, Objective C, Ionic
    • Runtime tools : Webpack, Angular CLI, Node, Git, Maven
    • Service Bus/Messaging Architecture
    • Windows Services
    • Experience in working with SQL and NoSQL databases, PL/SQL
    • AGILE and SCRUM Methodologies
    • Code Architecture and Patterns
      • Domain specific
      • Factory/Repo Pattern etc
    • Experience in implementing and monitoring Microsoft Azure Solutions
      • Cloud computing technologies
      • Emerging computer trends
      • Websites : Create, configure, monitor, deploy into App Services
    • Authentication Concepts : Active Directory Domain Services, Federated Services, OAuth
    • Native/Hybrid Mobile Application Development