Back

DevOps Back End Python Web Developer

Adapt IT

10th June 2021

Johannesburg, South Africa

4 to 6 years

Cost to company

Mid Senior

Full Time

Skills

  • Development
  • DevOps
  • Back-End Development
  • Python
  • Web Development

Industries

  • Information Technology (IT)
  • Education

Job Description

The Software Development Team of Adapt IT Education delivers solutions for higher education on a global basis. As a developer you will be responsible for developing, maintaining and supporting our solutions. In the role you will be influential in guiding, contributing and development of a variety of technically challenging projects. In the role you will provide architectural input into our scalable web-based solutions deployed in the cloud.

Primary Responsibilities for the Role

  1. Design, Implement and Maintain world-class web applications and workflows
  • Ensure that the front-end website architecture and back-end applications are functionally complete to deliver a correct, complete and an appropriate solution which covers all the agreed specified tasks and user objectives.
  • Ensure the solution performs efficiently delivering a solution in which throughput rates, response and processing times meet stated requirements. Effectively and efficiently utilise resources to ensures the maximum operational capacity requirement is achieved or exceeded.
  • Ensure the solution is compatible and effectively/efficiently exchange information with other products. Deliver an interoperable solution which can exchange and use information between different solutions not necessarily on the same environment.
  • Ensure the solution has a high usability factor, the solution can achieve specified goals with effectiveness, efficiency, and satisfaction, user of the system can comfortably recognise the systems flow and the system logically supports user self-learning.
  • Ensure the solution is reliable, robust, maintainable and durable. The solution simplifies support and maintenance through traceability and effective error messaging.

 

  1. Ensure Quality Software Solutions are developed
  • Use diagnostic tools/techniques to identify the root cause of software failures.
  • Ask pertinent questions and obtain answers where possible.
  • Perform trouble shooting and effectively resolve issues to increase solution stability and reduce intervention required over time.
  • Recommend and execute improvements to software.
  • Provide resolutions to app/system issues, driving stability, efficiency and effectiveness.

 

  1. Design Fit for Purpose Solutions & Algorithms
  • Ensuring cross-platform optimization for mobile phones.
  • Actively contribute to design and planning meetings, discussions, and documentation.
  • Design solutions using most appropriate approved architectural pattern.
  • Design solutions for multi-tier architectures.
  • Meeting both technical and consumer needs.

 

  1. Developer Testing and Verification
  • Ensure the solution is test friendly by creating effective mechanisms for test data, automated testing hooks and simulations.
  • Ensure reported defects are categorised by priority and fixed as appropriate.
  • Ensure the project management team is informed of potential risks stemming from defects.
  1. Mentorship / Training
  • Provide mentorship and guidance to internal staff on technical and system processes.
  • Perform internal training for technical staff as required.
  • Ability to mentor and assist others, and to lead internal training sessions
  • Mentor junior resources on specialised knowledge

Qualification and Experience Requirements

  • Back-end Python developer with a focus on AWS Technologies (Python, Web API)
  • BSc (Computer Science or Information Systems) /B Com (Information Systems)/Diploma in Information Systems

SKILLS

  • Expert in Python, with knowledge of AWS SDK (Boto3) for Python.
  • Familiarity with some ORM (Object Relational Mapper) libraries
  • Able to integrate multiple data sources and databases into one system.
  • Understanding of the threading limitations of Python, and multi-process architecture
  • Good understanding of the AWS CloudFormation template
  • Server-side templating languages such as Django, Jinja 2, Mako, etc depending on your technology stack
  • Basic understanding of front-end technologies, such as JavaScript, HTML5, and CSS3
  • Understanding of accessibility and security compliance {depending on the specific project}
  • Knowledge of user authentication and authorization between multiple systems, servers, and environments
  • Highly experienced in building front-end web applications using web technologies such as React, RESTful Services, JSON and Micro-Services, SQL Server, HTML5, JavaScript, CSS3
  • Deep understand React concepts, core principles and workflows
  • Databases & web storage – MySQL, Dynamo DB, Amazon RDS, Oracle
  • Must have strong UI/UX design skills
  • Solid understanding of MSSQL with proven experience with Data Modelling, Design, SQL Function, Stored Procedures and other common MSSQL features
  • High Proficiency in object-oriented analysis and design patterns
  • Understanding SaaS Cloud based concepts
  • CI/CD Tools
  • Git/GitHub

ATTRIBUTES

  1. Personal Attributes and Qualities
  • Mature individual with high level of emotional intelligence.
    • Ability/Capacity to be aware of, control, and express emotions.
    • Handle interpersonal relationships judiciously and empathetically.
  • Demonstrate positivity, mental toughness and stability during stressful periods and periods of low activity.
    • Flexibility – adapt to new concepts and ideas, ability to collaborate.
    • Resilience – demonstrate ability to move forward despite setbacks.
    • Endurance – consistently deliver at peak performance over the long term.
    • Self-motivated, with the ability to motivate others.
  • Ability to work independently and as part of a team.
  • Ability to work under pressure.
  • Admit to errors and takes corrective action to avoid repetition
  • Approach own work with dedication and high sense of responsibility
  • Identify, analyse, organize, and solve problems and issues in a timely and effective manner
  • Anticipate problems, identify root causes, and take corrective action
  • Take caution in preparing the details relevant to the process
  • Follow process to ensure high quality output
  • Set and achieve goals, consistently complies with quality standards, and meets deadlines