Job Summary
Our client is a leading software services and consulting company focusing on delivering innovative solutions with a strategic emphasis on generative AI. They are expanding their team to include an individual contributor that will act as a Intermediate Java Developer with a hands-on approach to complex development tasks.
This role involves handling moderately complex research, design, and software development tasks within a designated software functional area or product line. The individual in this position should be capable of working independently on specific tasks, addressing challenges such as program flow design, efficient coding, and unit testing.
*This is an initial six-month contract, with the potential to transition into a permanent role afterwards directly with our client
Main Responsibilities will include
The responsibilities will include, but are not limited to, the following key deliverables:
- Design and implement scalable data infrastructure to support real-time processing of unstructured content.
- Develop robust data ingestion pipelines capable of handling large-scale data efficiently.
- Create Java-based applications and APIs to support editorial systems, ensuring seamless ingestion and transformation of data for advanced analytics and content search functionality.
- Interface with other technical personnel or team members to finalise requirements and understand product needs.
- Write and review portions of detailed specifications for developing system components of moderate complexity.
- Work closely with other development team members to understand and translate moderately complex product requirements into software designs.
- Successfully implement development processes, coding best practices, and code reviews.
- Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders.
- Resolve technical issues, as necessary.
- Keep abreast of new technology developments.
- Complete bug fixes.
Qualifications and Experience required
- 3+ years of Software Engineering experience.
- Bachelor’s degree in Engineering, Computer Science, or equivalent experience.
- Proficiency with data manipulation languages.
- Understanding of data modelling principles.
- Ability to work with complex data models.
- Proficiency in development languages including but not limited to Java/J2EE, JavaScript, JSP, C/C++, HTML, XML, SQL, Windows, UNIX, and .Net.
- Experience with algorithms, data structures, and regular expressions.
- Experience with both Unix and Windows-based systems
- Familiarity with industry best practices — code coverage.
- Ability to work well with internal and external technology resources.
- Ability to write and review portions of detailed specifications for developing system components of moderate complexity.
- Understanding of Azure DevOps services and features.
- Knowledge of software development methodologies (e.g., Agile, Waterfall).
- Knowledge of data manipulation languages.
- Knowledge of data storage subsystems.
- Knowledge of test-driven development.
- Ability to write and review portions of detailed specifications for developing system components of moderate complexity.
- Ability to complete moderately complex bug fixes.
Personal Attributes
- Aspiration or exposure towards solution architecture.
- Excellent communication and teamwork skills.
- Strong problem-solving abilities and willingness to adapt to new challenges.
- Interested in a long-term role within a growing and dynamic team
- You have a knack for picking up new technologies
- You love to find easier ways of doing things
- Passionate about technology
- Comprehensive thought and error handling solutions
- Analytical as well as strong development skills
- Delivery focused with attention detail
- Able to work in projects (multi-task) environment
- Responsive to change
General:
- Only shortlisted candidates will be contacted. If you do not hear from us within 30 days, please consider your application unsuccessful.
- Candidates must be South African born (SA Citizens)
- Please include your current salary and salary expectations with your application.