Software Developer

Details of the offer

Responsibilities: Design and Development: Produce working, high-quality software based on detailed design documentation. Take ownership of at least one system or component within the asset grouping, ensuring it aligns with the overall system architecture. Collaboration: Work closely with cross-functional teamsincluding designers, product owners, and engineersto define, design, and ship new features. Participate in design discussions and contribute to the decomposition of solutions into actionable components. Performance & Quality: Ensure applications are performant, responsive, and maintainable. Identify and resolve performance bottlenecks and fix bugs as they arise. Code Quality & Automation: Help maintain code quality, organization, and automation practices across the team. Contribute to the development of unit and system test cases, ensuring all software adheres to coding standards and patterns. DevOps Integration: Gain exposure to and contribute to DevOps principles and methodologies, including creating deployment artifacts, managing the deployment process, and optimizing tool chains in collaboration with Dev/Ops engineers. Testing & Continuous Improvement: Adopt and implement Test-Driven Development (TDD), conduct unit and system testing, and ensure the software is scalable, observable, and fault-tolerant. Documentation: Produce and maintain clear, comprehensive technical documentation in line with organizational standards. Contribute to the Asset Code Knowledge Base. Mentorship & Team Collaboration: Mentor and support junior developers, providing guidance and feedback to help them grow and develop their skills. Ensure integration of your work with the efforts of other developers and team members. Process Improvement: Contribute to process improvements within your team, applying agile methodologies and continuously seeking ways to improve business processes and systems. Corporate Responsibility: Support and contribute to corporate responsibility initiatives, aligning with business strategy and objectives, and contributing to the building of a positive company culture. Key Skills & Qualifications: Proficiency in Java: Solid understanding of Java and related IDEs (e.g., IntelliJ, Eclipse). Object-Oriented Programming: Strong understanding of OOP concepts and principles. Performance Optimization: Good knowledge of performance limits and characteristics, with experience in benchmarking and optimization. Memory Management & Multi-threading: Experience with memory management, multi-threading, and optimizing performance for large-scale systems. RESTful APIs: Familiarity with developing and consuming RESTful APIs to connect to backend services. UI Design: Comprehensive understanding of UI design and a user-focused approach to development. Automated Testing: Experience in implementing automated testing platforms and unit tests, as well as knowledge of relevant testing frameworks. Version Control: Proficient with code versioning tools such as Git and/or Azure DevOps. Continuous Integration: Experience with continuous integration pipelines and relevant tools (e.g., Jenkins, GitLab CI). Agile Methodology: Experience working in Agile environments, with a strong understanding of tools like Jira and Scrum methodologies. Degree in Computer Science: BSc in Computer Science, Software Engineering, or a related field, or equivalent practical experience. Experience: Minimum of 3 years of programming experience with a strong portfolio of completed projects and systems. What We Offer: Collaborative Environment: Join a team that values collaboration, continuous learning, and a commitment to delivering high-quality solutions. Mentorship & Growth: As a senior member of the team, youll have the opportunity to mentor junior developers and help shape the direction of software design and development within the organization. Career Development: Support for ongoing education, certifications, and career progression in a fast-paced, evolving technology space. Impactful Work: Work on mission-critical systems and applications, with the opportunity to influence product development and contribute to business success. Flexible Working: Enjoy a flexible working environment with opportunities for remote work, depending on your location. Apply now


Nominal Salary: To be agreed

Source: Adzuna_Ppc

Requirements

Head Of Software Applications

A world leader in its field of specialization, offering a variety of financial products, is seeking a Head of Software Development to spearhead their strateg...


Network Recruitment - Gauteng

Published 9 days ago

Dart/Flutter Developer

About Us: We are a dynamic and innovative team focused on delivering top-quality digital solutions that make a difference. We're looking for a passionate Flu...


Exogroup Ltd - Gauteng

Published 9 days ago

Creditors Manager (Manufacturing)

Are you an experienced Accounts Payable professional ready to take the next step in your career? Join a dynamic company in Centurion as their new Accounts Pa...


Network Recruitment - Gauteng

Published 9 days ago

Tech Lead

Tech Lead Are you a talented tech lead looking for your Dream Developer Job? OfferZen, the developer jobs marketplace, reverses the job search process. We co...


Offerzen Ltd - Gauteng

Published 9 days ago

Built at: 2024-11-24T19:41:16.046Z