Skip to content

Senior Javascript Software Engineer

Hybrid
  • Johannesburg, Gauteng, South Africa
  • Cape Town, Western Cape, South Africa
+1 more
Engineering

Job description

At SovTech, we believe the future of software lies in the talent, innovation, and creativity found on the African continent. Headquartered in South Africa, our team of highly-skilled engineers, designers and strategists span the continent, tapping into Africa's diversity to fuel a collaborative culture of disruptive thinking and technical excellence.For over a decade, we have been pioneering world-class software development for a global audience, with a mission to become Earth's leading software company from the world’s fastest growing continent. We design and develop solutions that empower our clients to digitally transform and thrive globally and are the leading custom software development company from Africa that, like any great tech company, was founded in a garage.


SovTech has now grown to more than 300 of the best software engineering experts, building world-class platforms for growing businesses across four cities on three continents. We are always actively searching for the continent's most talented and driven techies to join our growing team- those who benchmark themselves against the best on the planet and wake up hungry to master their craft and continue advancement.


Position details:

As a Senior Software Engineer at SovTech, you will play a crucial role in developing and implementing web applications using various frameworks and libraries. Your responsibilities will include:


  • Play a crucial role in developing and implementing web applications using various frameworks and libraries.

  • Technical leadership and expertise: Provide technical leadership and guidance to the software engineering team. Serve as a subject matter expert in web application development, frameworks, and technologies. Architect, design, and implement complex and scalable software solutions. Collaborate with cross-functional teams to define technical strategies and ensure successful project execution.

  • Full-stack development: Lead the development of end-to-end web applications, encompassing both front-end and back-end technologies. Utilize your expertise in programming languages, frameworks, and databases to build high-quality, performant, and user-friendly applications. Collaborate with designers to create visually appealing and intuitive user interfaces.

  • System architecture and design: Architect and design scalable, robust, and maintainable software systems. Define technical requirements and specifications. Conduct code reviews, provide feedback, and enforce coding standards. Drive architectural improvements and optimizations to enhance system performance, scalability, and reliability.

  • Collaboration and mentorship: Collaborate effectively with cross-functional teams, including product managers, designers, and other engineers. Mentor and guide junior and mid-level engineers, providing technical support and fostering their professional growth. Promote a culture of collaboration, knowledge sharing, and continuous learning within the team.

  • Technical innovation and best practices: Stay up-to-date with emerging technologies, industry trends, and best practices in software engineering. Evaluate and recommend new tools, frameworks, and methodologies to improve development processes and drive technical innovation. Lead initiatives to implement and enforce coding standards, quality assurance practices, and software development best practices.

  • Problem-solving and troubleshooting: Investigate and resolve complex technical issues that arise during the software development lifecycle. Utilize advanced problem-solving skills to diagnose and address software defects, performance bottlenecks, and system failures. Provide guidance and support to team members in resolving technical challenges.

  • Continuous improvement and process optimization: Identify areas for process improvement and efficiency gains within the software development lifecycle. Propose and implement solutions to streamline development processes, enhance code quality, and improve overall productivity. Collaborate with stakeholders to optimize project delivery timelines and ensure successful outcomes.




Job requirements

Experience

Seniority Level: Senior Software Engineer 

To excel in this role, you should possess the following qualifications and skills:

Education and experience:

  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.

  • Extensive experience in software development, including significant hands-on experience in building and delivering web applications.

  • Demonstrated experience in leading software development projects or teams

Expertise in programming and frameworks:

  • Proficiency in multiple programming languages such as JavaScript, Python, Java, or C#.

  • Deep knowledge of front-end frameworks (React, Angular, Vue.js) and back-end technologies (Node.js)

  • Expertise in database systems (MySQL) 

System design and architecture:

  • Strong understanding of software design principles, architectural patterns, and system scalability.

  • Experience in designing and architecting complex, distributed, and highly available systems.

  • Familiarity with cloud platforms (AWS, Azure, Google Cloud) and microservices architecture.

Quality assurance and testing:

  • Proficient in implementing and driving software testing strategies, including unit testing, integration testing, and automated testing.

  • Experience with continuous integration and deployment (CI/CD) pipelines.

  • Strong focus on code quality, performance optimization, and security best practices

Leadership and collaboration:

  • Excellent communication and interpersonal skills, with the ability to effectively lead and collaborate with cross-functional teams.

  • Experience in providing technical mentorship, coaching, and guidance to junior engineers.

  • Demonstrated ability to drive technical initiatives and influence technical decision-making.

Problem-solving and critical thinking:

  • Strong problem-solving skills with the ability to analyze complex issues, propose innovative solutions, and drive problem resolution.

  • Critical thinking and ability to make sound judgments in fast-paced environments.

Continuous learning and innovation:

  • Proactive attitude towards learning new technologies, frameworks, and industry trends.

  • Passion for innovation, driving process


Technologies you will be working with 


Programming language: Javascript

At SovTech, we leverage a range of industry-leading tools to enhance our development process and ensure efficiency. Some of the key tools and technologies you will work with include:

Frontend

  • React v17

  • Apollo GraphQL client

  • Hosted on AWS ECS docker containers

Backend

  • RedwoodJS framework (TypeScript)

  • Node.js runtime

  • Hosted on AWS ECS docker containers (Fargate)

  • API access controlled on AWS

Database

  • MySQL hosted on AWS RDS (private subnet)

  • Prisma ORM for data access

  • GraphQL API provides data access

Infrastructure

  • AWS services: RDS, ECS, S3, Route 53, CloudFront, CloudWatch, CloudTrail, Security Hub, Certificate Manager

  • Load balancing and redundancy

  • S3 for file storage

  • Route 53 for DNS

  • CloudFront CDN

  • Monitoring via CloudWatch and CloudTrail

  • SSL certificates via Certificate Manager

Code

  • Bitbucket repository

  • Bitbucket pipelines for CI/CD

  • Deployed to S3 from Bitbucket

Testing

  • Jest for unit testing

  • Cypress



Note: The specific technologies you will be working with may vary depending on the specific projects you are assigned to.


Work Environment:

At SovTech, we foster a self-directed and inspiring work environment where our team members have the freedom to innovate and create. We believe in empowering our teams to take ownership of their projects and drive them to success. Collaboration and knowledge-sharing are at the core of our team's values, and we encourage continuous learning and growth. Join us to be part of a team that thrives on pushing the boundaries.


Our Interview Process:

  1. Introductory call with one of our Talent Partners

  2. Technical skills screening & evaluation

  3. Hiring team interview


Why Join us:

Join SovTech and become part of a forward-thinking team that values innovation, collaboration, and personal growth. Here's why you should consider joining us:

Exciting Projects: Work on diverse and challenging projects for leading clients across various industries, pushing the boundaries of web development.

Collaborative Environment: Be part of a team that encourages collaboration, knowledge-sharing, and continuous learning, fostering personal and professional growth.

Impactful Work: Your contributions will directly impact the success of our projects and clients, allowing you to make a tangible difference.

Professional Development: We provide opportunities for training and workshops to enhance your skills and keep you at the forefront of industry trends.

Competitive Compensation & medical aid contribution: We offer a competitive salary package with additional benefits.

Hybrid & flexibility: We’re a hybrid company, and as such we need to have a set of how that works (as it can be very grey!). Fluid aims to encourage flexibility in where and how we work. In true SovTech words, ‘We don’t value how or where something is done, only that it is’ #RESULTS


If you are passionate about Software development, enjoy working with cutting-edge technologies, and want to be part of an inspiring team, SovTech is the place for you. Join us as we shape the future of software innovation.


Learn more about SovTech:




or