Job Title

Senior Software Engineer

South Africa, Gauteng
Back to jobs
Market Related
Area: South Africa, Gauteng
Sector: Financial Services
Posted: 3 May 2024

Job Details

About the position, and about us:

Join our versatile team at Bitventure as a Senior Software Developer! The Senior Software Developer takes a leadership role in shaping software application design, development, and maintenance and translating complex user requirements into robust and efficient code, demonstrating a deep understanding of architectural patterns and scalable software design. The role involves leading and collaborating with cross-functional teams, providing technical guidance, and ensuring adherence to industry best practices throughout the entire software development lifecycle. The role also includes mentoring and empowering junior team members, fostering a culture of continuous improvement, and innovation, and delivering high-quality solutions that align with strategic business objectives and technological excellence.

Bitventure has experienced substantial growth in recent years and is ready for promising future expansion. We offer a vibrant and dynamic work environment where innovation thrives. Our team comprises experts in various technology stacks, providing an excellent support system for professional development. We prioritise transparency and open communication, fostering a collaborative culture where every team member’s voice is valued. The exposure to cutting-edge technologies, including cloud computing and microservices, ensures that employees are at the forefront of industry advancements.

If you’re passionate about development, innovation, and making a meaningful impact in the Fintech space, we’d love to hear from you! Join us at Bitventure and be part of a dynamic team where your ideas and talents can shine, and where you are empowered to successfully grow your career in Software Development. Apply Now!

 

Responsibilities:

  • Design, Implement, Test, and Deliver code – Design and implement clean and efficient code, considering performance optimisation and security best practices. Design and implement tests for quality assurance, leading and participating in code reviews. Proactively identify and resolve software bugs, ensuring the reliability and stability of software products through regular maintenance. Embed security best practices into the design and implementation of code to mitigate vulnerabilities from the outset.
  • Software Development and Architecture – Lead the design and development of high-quality, scalable software applications aligned with business requirements. Contribute to architectural decisions, selecting appropriate technologies, frameworks, and design patterns to build scalable and maintainable systems.
  • Cross-functional collaboration (QA and testing, test support, technical and project leadership) – Collaborate with QA teams to develop and execute comprehensive test plans, ensuring the reliability and security of software. Assist the support team with troubleshooting problems and taking ownership of assigned tickets. Provide technical leadership within the development team, guiding and mentoring junior and intermediate developers. Take a leadership role in project planning, providing technical insights, and ensuring the successful execution of development projects. Share knowledge and best practices to elevate the team’s overall skills and capabilities. Participate in the review of technical assessments to drive a high-quality recruitment process.
  • Maintenance of new and existing software – Maintain and upgrade existing systems on an ongoing basis, ensuring ongoing efficiency and relevance.
  • Innovation and Continuous Improvement – Write comprehensive unit tests, and integration tests, and perform debugging to identify and rectify software issues. Collaborate with quality assurance teams to develop and execute testing strategies, ensuring the reliability, security, and performance of the software. Stay updated with the latest development software, technology trends, and best practices, sharing knowledge with the team for process improvement and innovation.

 

Requirements:

  • 8-10 years experience in a software development role
  • Bachelor’s Degree (NQF level 7) in Computer Science, Engineering, or related field
  • Azure/AWS certifications – advantageous
  • Experience with C#, .NET, .NET Core, Docker, Angular, Flutter, Node.js, javascript, SQL, Web API (JSON)
  • Proficiency in multiple programming languages with an understanding of OOP principles
  • Demonstrates a comprehensive understanding and effective implementation of the Software Development Life Cycle (SDLC)
  • Familiarity with the .NET Framework, including its applications and components.
  • Experience in SQL Server, Angular, Flutter, Nodejs
  • AKS, EKS, container orchestration a plus
  • Hands-on experience with one or more JavaScript frameworks
  • Version control systems such as Git, Bit Bucket, SVN, and TFS
  • Unit testing, integration, and functional testing
  • Cloud environments (Azure, AWS)
  • Testing and QA
  • Security
  • Performance optimisation
  • Agile and Scrum
  • Emotionally intelligent, communicates with impact, collaborates effectively, and solution-focused