At Scrums.com (Formerly 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 spans 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. We are the leading custom software development company from Africa that, like any great tech company, was founded in a garage.
Scrums.com has now grown to more than 350 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 their advancement.
Position details: As a Senior Software Engineer at Scrums.com, 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.
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
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 withProgramming language: Javascript
At Scrums.com, 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 Scrums.com, 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: Introductory call with one of our Talent Partners
Technical skills screening & evaluation
Hiring team interview
Why Join us: Join Scrums.com 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 trueScrums.com 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, Scrums.com is the place for you. Join us as we shape the future of software innovation.
#J-18808-Ljbffr
Key Responsibilities: Assist in troubleshooting and resolving IT issues related to hardware, software, and network systems. Provide technical support to inte...
From - Gauteng
Published a month ago
Requirements: Experience in working with the following systems: SumTotal SAP SQL PowerBI Desired core work experience: LMS Administration / Learning Technolo...
From - Gauteng
Published a month ago
Our Client is seeking a highly skilled Microsoft Azure Engineer with API development and integration experience to join our cloud infrastructure team. The id...
From - Gauteng
Published a month ago
Cash Supply Chain Monitoring: Analyze and monitor cash flow, estimate funding needs, and forecast peak demands. Management Reporting: Provide operational and...
From - Gauteng
Published a month ago
Built at: 2024-11-01T11:33:11.526Z