Senior Engineer
Johannesburg, South Africa
Do you want to join our team of over 100 software engineers who build awe-inspiring, unique and dare we say revolutionary solutions for problems our customers encounter?
We live out our motto to #BeBetter when it comes to what we do and this makes us stand out of the norm. At Retro Rabbit, instead of accepting the norm, we welcome your uniqueness and we help you grow into an amazing Rabbit and well-rounded person. Being bold and a little unusual is what we value.
Does this sound like you? Do you want to push boundaries and make an impact? Do you think you will make an awesome addition to the Rabbit family? Then we have great news for you.
We are in search of more talented and outstanding Senior Full Stack Software Developer to join our family here at Retro Rabbit. We believe in being better. So, if this sounds like you, your CV should already be waiting in our inbox!
This is how you would be spending your time:
- Problem Solving
- Produce clean, efficient code based on specifications
- Integrate software components and third-party programs
- Verify, test and deploy programs and systems
- General testing paradigms (unit tests, integration tests, end to end tests)
- Version Control
- Troubleshoot, debug and enhance existing software
- Recommend and execute improvements
- Client communication and engagement
- Continuous professional development
- Continuous performance whilst working under pressure
- Mentor and educate intermediate and junior software developers
- Team / Project Management including responsibility for team delivery and vetting quality of work
- Project Scoping
- Ability to work independently
- Strategic thinking ( impact assessments, cost implications, regulatory/legal implications)
- Software Design and architecture
- Supplementary technologies ( eg monitoring logging, deployment, cloud,storage, message protocols)
- Excellent understanding of Agile Approach and Methodology
This is what we need from you:
- Cover letter
- Most recent and updated CV
- All relevant (previous and current) proof of qualifications
- ID document / Passport
Academic Requirements
- Minimum 3 year degree or
- Honours degree is preferable
- Degree must be either: Information Design (BA IDS/IOW), Interaction Design, Communication Design, BIS Multimedia
Previous Work Experience
- A minimum of 5 years prior work experience in Software Development (working with multiple programming languages and frameworks)
- Experience in dealing with clients directly
Technical Requirements
- Experience leading a small team of developers through the entire software development life-cycle i.e. from developing proof of concept to supporting the finished project
- Experience with integrating with UX and UI designers throughout the life-cycle of a project
- Experience as a full stack developer
- Experience with independently dealing hands-on with clients
- Extensive experience with at least 1 object oriented programming language (e.g. Java, C#, C++, etc) and experience with multiple other programming languages of both backend, frontend and mobile technologies
- Extensive experience in the design and usage of relational databases (eg SQL, PostgreSQL) as well as optimization of database designs and queries.
- Extensive experience with more than one software framework (e.g. Spring, Django, .NET, Angular)
- Experience with a testing framework (e.g. JUnit, Mocha, etc)
- Experience with continuous integration and devops tools (e.g. Travis, Docker, TeamCity)
- Extensive experience with git as version control and an understanding of traditional version control
- Experience performing code reviews for team members to ensure quality assurance of the code
- Extensive experience with different software architectures (e.g. MVC, Microservices) and ability to compare trade-offs of different architectures and make an appropriate selection
- Experience with Agile development methodologies.
- Up-to-date knowledge of technologies, frameworks and tools and experience selecting the correct technologies, frameworks and tools for a particular problem
Soft Skills Required
- Ability and willingness to learn new languages and technologies
- Excellent communication skills
- Resourcefulness and troubleshooting aptitude
- Attention to detail
- Team player
- Problem solving skills
- Proactiveness
- Integrity
- Great Attitude
- Listening Skills
- Successfully delegate tasks to team, and follow-up on the progress of these tasks
- Ability to estimate realistic deadlines
- Ability to motivate technology choices to a client
- Ability to understand client requirements