Senior Software Engineer
Kwazulu Natal , R25000 - R80000 Per Month
Sector: IT / Computers / Software
Posted: Friday, 29 July 2022
DUTIES & RESPONSIBILITIES, NOT LIMITED TO:
- Help create an inspiring team environment with an open communication culture
- Take accountability for team targets
- Assist to hire junior and mid-level developers
- Encourage creativity and intelligent risk-taking
- Translate application storyboards and use cases into functional applications.
- Design, build, and maintain efficient, reusable, and reliable C# code.
- Ensure the best possible performance, quality, and responsiveness of applications.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization, and automatization.
- Analyze system requirements and prioritize tasks
- Develop technical specifications and architecture
- Test and debug various .NET applications
- Review and refactor code
- Deploy fully functional applications
- Upgrade existing programs
- Support junior developers’ work
- Document development and operational procedures
- Frontend (Customer) - React, using redux for state management.
- Frontend (Admin) - React, using sagas for state management.
- Frontend (Marketing) - React, using gatsbyjs for static site building.
- Backend (Dashboard/Admin/ DMZ Layers) - .Net Core 2.2
- Backend Microservice (Services running through kubernetes and docker management)
- Azure DevOps (Source control)
- CI / CD
- Pipeline management
- Azure cloud services
- Bugsnag (Front-End Real-time issue monitoring)
- Graylog (Back-End Real-time issue monitoring)
- Postman (API Documentation)
- 8+ years’ experience as a back-end Software Developer,
- 2+ years’ experience as a front-end Software Developer,
- Prior experience in a technical position,
- College or University degree in Computer Science, a related discipline or proven experience in software development.
- Proficient in C#, with a good knowledge of its ecosystems and best practices.
- Proficient with the .netcore (v2.2) frameworks.
- Strong understanding of object-oriented programming.
- Proficiency in writing reusable C# libraries
- Proficiency in building web-based applications.
- Familiarity with agile environments
- Proficient Troubleshooting abilities
- Good communication skills.
- Understanding fundamental design principles behind a scalable application.
- Good understanding of front-end development languages including ReactJs, HTML5, and CSS.
- Good understanding of server-side css pre-processing frameworks, such as LESS and SASS.
- Good understanding of modern frameworks - ReactJS, KnockoutJS, AngularJS
- Proficient understanding of version control tools. (Git, Mercurial, SVN)
- Experience building and integrating with RESTful API’s
- Experience working with common front-end tools such as Babel, Webpack, NPM and YARN.
Core Competency Requirements
- Proficient with C# development.
- Experience with React development.
- Experience with source control management systems and continuous integration/deployment environments. GIT, Azure Pipelines
- Basic understanding of Common Language Runtime (CLR), its limitations, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- Knowledge of concurrency patterns in C#.
- Familiarity with Microsoft SQL Server.
- Knack for writing clean, readable C# code.
- Creating database schemas that represent and support business processes.
- Experience with agile and scrum development methodologies.
- Experience with debugging, performance profiling and optimisation
- Strong initiative to find ways to improve solutions, systems, and processes
Front-End Competency Requirements
- Experience in various front-end architecture patterns
- Experience in implementing service workers
- Knowledge of modern authorization mechanisms, such as JSON Web Token
- Experience building PWA (Progressive web applications)
- Knowledge of isomorphic React
Nice to haves:
- Have a decent amount of financial/investment knowledge and associated database/process design
- Show interest in fintech, cryptocurrencies, blockchain and broader financial industries
- The ability to think and act strategically while also being hands-on
- Able to embrace the start-up nature, so must be open to work abnormal hours at certain times if required
- A British or EU passport in addition to a South African passport