Job Title

Senior Software Engineer

South Africa, Gauteng
Back to jobs
R60000 - R100000 Per Month
Area: South Africa, Gauteng
Sector: IT / Computers / Software
Posted: 26 February 2024

Job Details

Job Title:                      Senior Software Engineer

Accountable to:            VP of Engineering

Based:                          Centurion

Salary:                          Market related

Contract type:              Permanent

Commencement date:  Immediately

Work Environment:      Hybrid

 

Overview:

The job purpose of a senior software engineer is to leverage their advanced knowledge, skills, and experience in software development to lead and contribute to complex projects, mentor junior team members, and provide technical expertise to drive the success of the organization.

Key responsibilities:

Main duties include brainstorming with the software engineering department to define the scope of projects, review requirements, and approve timeframes. Other responsibilities:

As a team lead:

  • Technical Leadership: You will provide technical leadership within the team and contribute to the technical direction and decision-making processes, guide the team in selecting appropriate technologies, and ensure adherence to best practices and coding standards.
  • Software Design and Architecture: You will play a crucial role in designing and architecting complex software systems or components. As well as collaborate with software architects, product managers, and stakeholders to define the overall structure, make design decisions, and ensure scalability, performance, and maintainability.
  • Development and Implementation: You will be involved in the development and implementation of software solutions. You will be required to write high-quality code, ensuring compliance with coding standards, and leverage your technical expertise to solve complex problems.
  • Project Management and Planning: You will have project management responsibilities, including project planning, task estimation, and coordinating efforts within a project team.
  • Collaboration and Teamwork: You will collaborate with cross-functional teams, including product managers, designers, and stakeholders. You will actively participate in team discussions, provide technical insights, and contribute to decision-making processes.
  • Mentoring and Coaching: You will often mentor and coach junior team members, providing guidance, support, and knowledge transfer. You will help junior engineers grow their technical skills, navigate complex problems, and develop professionally.
  • Continuous Learning and Innovation: You are required stay updated with emerging technologies, industry trends, and best practices.

As a Front-end specialist only:

  • You will be expected to create custom React components to enable the delivery of various client projects.
  • You will have a love for creating sophisticated yet beautiful React components that provide a smooth and engaging user experience.
  • You will be contributing to the front-end of the Shesha framework and making it a productive environment for other developers and configurations as well as a beautiful environment for end-users

As a full-stack developer:

  • You will start off by working in one of our delivery squads, consisting of between 4-12 people, responsible for delivering client projects and products.
  • If you demonstrate the necessary leadership, design and architecture abilities you may lead your own delivery squad and own your own client projects or products.
  • If your talent and passion is rather to solve complex technical challenges as an individual contributor you will transition to a core member of the Shesha core development team.

Behavioural Skills:

  • Strong attention to detail ensuring timely follow-up and closure
  • Clear, concise and articulate communication skills – verbal, written and listening
  • Ability to handle business sensitive information with the highest degree of integrity
  • Stress Management
  • Ability to prepare and deliver effective presentations
  • Curiosity and desire to learn and expand skill set
  • Proficient with Microsoft Office tools
  • Interpersonal skills
  • Proactivity
  • The ability to work independently with minimal supervision
  • The ability to follow health and safety standards
  • Time management

Qualification and Experience:

  • Educational Background: A bachelor’s degree in computer science, software engineering, or a related field is typically required.
  • Experience: 5 years or more, depending on the complexity of the projects.
  • Technical Skills: Senior software engineers are expected to have a strong technical skill set, which may include proficiency in C#, Python, Next JS, JavaScript, React, React.js, HTML, CSS, TypeScript & SQL, ASP.NET Core, PostgreSQL(advantageous), Automated unit testing, Domain Driven Design (DDD), experience with performance optimization, strong understanding of architectural principles and patterns
  • Leadership and Communication: Senior software engineers are often required to demonstrate leadership qualities and excellent communication skills. They should be able to effectively communicate technical concepts to both technical and non-technical stakeholders, collaborate with cross-functional teams, and provide guidance and mentorship to junior team members.
  • Problem-Solving Abilities: Senior software engineers are expected to be strong problem solvers, capable of analyzing complex technical challenges, identifying effective solutions, and implementing them efficiently. They should have a deep understanding of software development principles and the ability to apply them in real-world scenarios.
  • Project Experience: Senior software engineers should have experience working on complex projects and delivering high-quality software solutions. They should be familiar with the full software development lifecycle, including requirements analysis, design, implementation, testing, deployment, and maintenance.

*NOTE

Job Description:

Please note that this job description does not include all duties, responsibilities or qualifications associated with the job. Additional duties may be assigned as required.