We are looking for a Python programmer who will be responsible for developing and supporting projects, functions and completing specific client work, projects and miscellaneous tasks while ensuring commitment and quality through to completion. This highly responsible position involves using established work procedures to analyse, design, develop, implement, maintain, re-engineer and troubleshoot customers’ applications.
The requirements listed below are representative of the knowledge, skill and/or ability
required to successfully perform this job.
● Bachelor’s degree from college or university in Computer Science, Computer
Engineering, Information Systems Technology or related field. A postgraduate degree in Computer Science or Computer Engineering is desirable.
● Minimum of 5 years of experience in Software Development or an equivalent of education and experience.
● Solid knowledge of all aspects of the software development life cycle (e.g. requirements, analysis, design, implementation, testing, and documentation) and associated execution models (e.g. Waterfall, Agile, Iterative Development, etc.).
● Excellent communication skills and an ability to work independently and comfortable coordinating multi-country staff.
● Organizational skills and great attention to detail. Must be able to work as a leader and member of a team and possess good problem solving skills
● Must have the ability to manage conflicts and resolve problems effectively
● Good learning ability
● Action oriented and resilient in a fast-paced environment
● Good understanding of at least 1 of the following technologies
● Expert in Python, with knowledge of at least one Python web framework
● Familiarity with 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 server-side templating languages
● Familiarity with event-driven programming in Python
● Able to create database schemas that represent and support business processes
● Good understanding of asynchronous request handling, partial page updates, and AJAX
● Proficient understanding of cross-browser compatibility issues and ways to work around such issues
● Familiarity with front-end build tools, such as Grunt and Gulp.js
● Basic understanding of web markup, including HTML5 and CSS3
● Understanding of accessibility and security compliance
● Knowledge of user authentication and authorization between multiple systems, servers, and environments
● Understanding of fundamental design principles behind a scalable application
● Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform
● Strong unit test and debugging skills
● Proficient understanding of code versioning tools (Git)