Junior Software Engineer
A Company based in Capetown has a position for a Junior Software Engineer.
Salary is negotiable.
MUST HAVE TELSCOPE SOFTWARE ENGINEERING EXPERIENCE
Duties & Responsibilities
- Software development of the telescope operational software. All stages of the full software development life-cycle may be encountered: from requirements analysis, architectural input, software design and development, to testing, integration and deployment, as well as close interaction with hardware subsystems.
- Participate in deployment environments and processes, this may involve site visits to the Karoo.
- Participate in commissioning and lab integration of software and hardware.
- Participate in coding standard compliance and code reviews.
- Follow System Engineering principles for development of software.
- Produce documentation sets for the applicable subsystem as required.
Desired Experience & Qualification
B.Tech/ B.Sc (Comp Sci) with 3 years' working experience, OR B.Eng / B.Sc Hons (Comp Sci) with 3 years' working experience, OR M.Eng / M.Sc (Comp Sci) with 2 years' working experience, OR PhD / D.Eng only with 1 year working experience, OR Engineering (with a software focus) or related field.
Experience:
- Experience in programming languages (Python or C++ or Java).
- Experience in prototyping and development, including testing, deployment, commissioning, release and support of large scale projects.
- Experience with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control and build systems.
- Experience with quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality procedures.
- Experience in the implementation of project management and system engineering principles.
Knowledge:
- Modern software collaboration tools such as Github, Containers, Google Drive, JIRA.
- Python programming language.
Ability to:
- Work independently and be a good team player.
- Participate and thrive in a collaborative environment.
- Strong English oral and written communications.
- Develop back-end software (preferably using the Python programming language, or alternatively using other languages such as C++, Java, C#).
- Troubleshoot issues methodically.
Package & Remuneration
Negotiable
#J-18808-Ljbffr