Junior Engineer – Firmware, Software & IT Infrastructure

PolyComp Technologies

Company: PolyComp Technologies (Pty) Ltd

Location: Edenvale, Johannesburg

Industry: Design, Manufacturing and Installation of Digital Communication Systems

PolyComp Technologies (Pty) Ltd is an established South African designer, manufacturer, and supplier of digital communication and display systems. We develop specialized electronic hardware, embedded control systems, and software solutions for applications across Southern Africa.

We are seeking a motivated, hands-on Junior Engineer to join our engineering, product-development, and internal IT operations team.

Position Overview

This is a broad junior technical position spanning:

  • firmware and embedded systems;
  • software development and debugging;
  • technical testing and quality control;
  • systems integration and fault finding;
  • production and product support;
  • technical documentation; and
  • IT infrastructure and computer/network support.

This is not a senior engineering or management position, nor is it a pure software-development or IT helpdesk position.

The successful candidate must be comfortable working practically across complete systems involving electronics, firmware, software, computers, communications interfaces and networks.

The position requires somebody who can think technically, investigate problems methodically and learn unfamiliar systems, rather than somebody who simply follows memorised procedures.

Key Responsibilities

Firmware & Embedded Systems

  • Assist with developing, modifying, debugging and testing embedded firmware, primarily in C/C++.
  • Work with microcontrollers, controller boards, serial communications and electronic interfaces.
  • Read and interpret schematics, datasheets and technical specifications.
  • Assist with hardware/firmware integration and troubleshooting.

Software

  • Develop, modify, debug and test internal and customer-facing software when required.
  • Assist with scripts, utilities, applications and configuration tools.
  • Use structured development, debugging, testing and source/version-control practices.
  • Diagnose software problems using logs, debugging tools and controlled tests.

Testing, Fault Finding & Quality Control

  • Reproduce reported faults and clearly define the problem before attempting corrective work.
  • Isolate faults logically across hardware, firmware, software and network layers.
  • Form and test technical hypotheses using measurements and evidence.
  • Conduct functional, integration, regression and production tests.
  • Verify that corrections solve the actual fault without introducing additional problems.
  • Record test conditions, results, failures and supporting evidence.

Production & Systems Support

  • Assist with configuration, programming, testing and verification of products before delivery.
  • Support production where computers, controllers, firmware, software or networking are involved.
  • Assist with system integration and commissioning.
  • Troubleshoot communication and configuration problems between system components.

IT Infrastructure

  • Assist with maintaining workstations, servers, networks, user systems, backups and related IT infrastructure.
  • Perform software installation, configuration, updates and troubleshooting.
  • Assist with TCP/IP networking, IP addressing, DHCP, DNS, wired/wireless networking and related fault finding.
  • Support backup, access-control and general system-maintenance activities.

Documentation & Support

  • Prepare test reports, fault reports, technical notes, user manuals and troubleshooting documentation.
  • Maintain accurate software, firmware and configuration records.
  • Assist with training and technical support for company personnel and customers.

Requirements

Minimum Qualification

Applicants should hold a BEng, BSc, BTech or equivalent recognised tertiary qualification in one of the following or a closely related technical field:

  • Electronic Engineering;
  • Computer Engineering;
  • Software Engineering;
  • Computer Science; or
  • a related electronics/computing discipline.

An academic transcript must be supplied as part of the application.

A qualification is an entry requirement and does not on its own demonstrate suitability for the position. Practical competence will be assessed.

Experience

A fixed number of years of employment experience is not required.

Strong graduates and early-career candidates are encouraged to apply.

Relevant employment, internships, university projects, personal projects and practical technical work will be considered, but candidates must be able to explain clearly what they personally designed, developed, tested, diagnosed or implemented.

Years of experience or previous job titles will not substitute for demonstrated technical ability.

Core Technical Competencies

Candidates should be able to demonstrate developing or established competence in several of the following:

  • C/C++ or similar programming;
  • microcontrollers and embedded systems;
  • software development and debugging;
  • electronic schematics and component datasheets;
  • multimeters, oscilloscopes, logic analysers or similar diagnostic equipment;
  • serial communication and hardware interfaces;
  • TCP/IP networking and network troubleshooting;
  • Windows and general IT administration;
  • source/version control;
  • technical testing and fault finding; and
  • technical documentation.

What We Are Looking For

The successful candidate must demonstrate

  • strong logical and analytical reasoning;
  • the ability to define a technical problem before trying to solve it;
  • systematic fault isolation rather than trial-and-error changes;
  • the ability to distinguish symptoms from root causes;
  • evidence-based technical decision-making;
  • attention to detail;
  • persistence with difficult problems;
  • willingness to identify and correct their own mistakes or assumptions;
  • ability to learn unfamiliar systems independently;
  • accurate technical reporting and documentation;
  • responsibility for assigned work; and
  • an organised, practical and hands-on approach.

Selection Process

Shortlisted applicants will complete a practical technical assessment before or as part of the interview process.

The assessment may include

  • logical and engineering problem solving;
  • fault finding and root-cause analysis;
  • code comprehension;
  • software or firmware fundamentals;
  • networking;
  • interpretation of technical information; and
  • practical system troubleshooting.

Selection will therefore be based primarily on demonstrated capability, reasoning and suitability for the work, rather than previous job title or years of employment.

Application Requirements

Applicants must submit

  • CV;
  • qualification certificate;
  • academic transcript;
  • expected monthly remuneration; and
  • a short description of two technical projects or problems on which they personally worked.

For each project/problem, briefly explain:

  1. What the system or problem was;
  2. What you personally did;
  3. The hardware, software or tools involved;
  4. Any significant technical problem encountered; and
  5. How you tested or verified the result.

Applications that do not provide the requested technical information may not be shortlisted.

Remuneration

Remuneration is aligned to a junior technical position and will be based primarily on demonstrated technical capability and suitability for the role rather than previous job title or years of experience.

Applicants should state their expected monthly remuneration when applying.

Why PolyComp Technologies?

The position offers practical exposure across complete working systems incorporating electronics, embedded firmware, software, computers, networks, manufacturing and digital-display technology.

The successful candidate will work on real products from development and testing through production, installation and field support.

How To Apply

Submit your CV, Academic Record, and a Cover Letter / Portfolio link outlining your relevant personal or academic projects to ***email_hidden***.