iJET Intermediate Engineer in United States

Main Goals & Objectives

The Immediate Engineer reports to the Technical Manager. This role is an integral part of the development team in the fast-paced working environment of iJET Labs Cape Town. To participate in the architecture, design, development, implementation, maintenance and daily support of assigned systems and applications. To contribute towards engineering-related strategy, including researching, proposing and implementing new and improved technologies, development methodologies and security practices.

Knowledge/Experience Requirements

Technical Competencies

  1. Relevant IT Degree or Diploma
  2. 4+ years of experience working with OO programming or web programming preferably PHP, Java or C#
  3. Experience with Python (Django) and Node.JS are advantageous
  4. Proven ability to write good quality code
  5. Experience working with relational databases (preferably mySql, PostGres or MSSQL)
  6. Experience working with web related technologies and scripting languages
  7. Experience providing estimates for work tasks
  8. Experience working with IDEs like PHPStorm, NetBeans or Visual Studio
  9. Knowledge and experience with Azure, AWS and related technologies are beneficial
  10. DevOps engineering experience is advantageous

Personal Competencies

  1. Effective communication skills and the ability to interact professionally within a diverse group of staff
  2. Communicate in the English language by telephone, one on one or in a group setting regarding technical or non-technical subjects.
  3. Work productively within teams and effectively prioritise their own tasks
  4. Willing and able to learn new programming languages quickly
  5. Observe, compare, or monitor data to diagnose problems
  6. Work both independently and in a team within established procedures and policies
  7. Diagnose technical problems and recommend solutions
  8. Able to adapt to the organisation’s needs in the way we deliver our service
  9. Working in an agile environment and following the values and processes as set out by the organisation

Tasks/Functions

System/Code Management

  1. Accountable for deployment to production environment for assigned systems, including performing quality control checks on code before deployment
  2. Periodically review existing code on assigned systems and recommend re-factoring, refinements, improvements, and enhancements
  3. Assist, where required, with specification and work effort estimates for new features, enhancements, bug fixes and deployment planning on systems you oversee
  4. Understand the client SLAs for assigned systems, and work with the Technical Manager and System Operations team to ensure adequate measures are in place to satisfy these SLAs
  5. Assist with the maintenance and support of assigned systems

Documentation**

  1. Concisely record work performed (description of actions/process and time taken) against tasks/tickets in the support ticket management and/or project management system on a daily basis
  2. Create/update documentation as part of the Software Development Life Cycle
  3. Ensure documentation for assigned systems is adequate, stored properly and kept up-to-date
  4. Co-ordinate the creation and maintenance of diagrams showing work/process/data flow through assigned systems, where applicable

Planning and Communication**

  1. Assist with story planning and task breakdown for work relating to assigned systems, where required
  2. Contribute to problem-solving and solutions for project and support work
  3. Use good time management to plan how to achieve your tasks, and clearly convey what you intend to achieve daily in the Stand-Up meetings
  4. Communicate and document any impediments to project/task progress/completion promptly
  5. As required, communicate in the English language by telephone, one-on-one or in a group setting, to clients and colleagues, regarding technical or non-technical subjects, conveying information in a simple and positive manner
  6. Work with the Product Development personnel to understand the vision for the products and services that are supported by your assigned systems

Development**

  1. Assist with the specification, implementation, and communication processes required or your assigned iJET International systems to effectively interact with third-parties where required
  2. Assist with application interaction and communications across the various systems’ components and architectures
  3. Develop, test and document new features according to the Software Development Life Cycle
  4. Deliver completed projects/tasks within agreed delivery dates
  5. Follow the required process to make sure source code is committed to the required repository and that the necessary code is available to team members as required

Support

  1. Attend to support tasks timeously, in compliance with iJET International’s Service Desk Policy
  2. Identify where a support task would better suit a project workflow and inform the Project Support Coordinator

Technology

  1. Keep abreast of developments in the open-source programming community and other relevant areas
  2. Recommend introduction of new technologies/upgrading of existing technologies where applicable
  3. Contribute to discussions and decisions regarding the iJET International development team’s methodologies, testing standards, work flows and security practices

Information Security

  1. Adhere to applicable information security procedures and policies as updated from time to time on the ISMS
  2. Report any information security incidents or potential information security threats to your line manager or the Information Security Management Officer
  3. Take a proactive approach to information security
  4. Ensure code development adheres to security practice requirements

Department: Cape Town - iJET Labs

Location: Cape Town