Recruitment Room Team
Intermediate Software Engineer
Job Description
Hire Resolve’s client is seekoing a passionate Software Engineer to design, develop, implement, and maintain software solutions. Software Engineer responsibilities include gathering user requirements, defining system functionality, and writing code in various languages, like C#, and JavaScript amongst others. Our ideal candidates are familiar with the software development life cycle (SDLC) from the analysis phase right down to the maintenance phase. Ultimately, the role of the Software Engineer is to build high–quality, innovative, and fully performing software that complies with coding standards and technical design.
Key Responsibilities:
- Execute full software development life cycle (SDLC)
- Design, develop, modify, implement, and support software components anywhere in the software
stack. - Develop flowcharts, layouts, and documentation to identify requirements and solutions
- Write well–designed, testable code
- Produce specifications and determine operational feasibility
- Integrate software components into a fully functional software system
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Troubleshoot, debug, and upgrade existing systems
- Deploy programs and evaluate user feedback
- Comply with project plans and industry standards
- Ensure software is updated with latest features
- Work in close partnership with cross–functional teams.
Minimum Requirements:
- Bachelor’s degree in Computer Science, Computer Engineering, or related degree in Software
Engineering. - 1 to 6 years professional work experience as a Software Engineer or Software Developer in designing,
developing, maintaining, supporting, testing, implementing, and integrating software systems to
scale using:- C#
- .Net and .Net Core
- Entity Framework / EF Core
- HTML, CSS, JavaScript
- ASP.Net
- SQL
- Web services (REST)
- Ability to document technical requirements and specifications
- Ability to learn new languages, research modern technologies and keep up to date with current practices.
- Ability to provide in–depth evaluation and analysis of unique complex technological issues.
- Ability to effectively articulate technical challenges and solutions.
- Deal well with ambiguous/undefined problems; ability to think abstractly
- Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, continuous integration, continuous delivery, testing, and operations.
- Knowledge of common architectural design patterns.
- Understanding and Implementation of security and data protection (Preferable)
- Exposure to being part of an Agile development team and agile software development practices is
required. - Experience in development of distributed/scalable systems and high-volume transaction applications
(Preferable). - Experience working on large information systems (Preferable).
- Experience in developing desktop and web applications, server, and cloud-based technologies.
- Knowledge of multiple front-end languages and libraries (e.g., HTML/ CSS, JavaScript, XML, jQuery)
(Preferable) - Knowledge of multiple back-end languages (e.g., C#, Java, Python) and JavaScript frameworks (e.g.,
Angular, React, Node.js) (Preferable) - Knowledge of multiple web services technologies (e.g., SOAP, REST) (Preferable).
- Knowledge of multiple relational database technologies (Preferable)
- Knowledge of NoSQL databases (Preferable).
- Experience with IIS Web servers or similar
- Proficiency with Git/Azure DevOps/TFS
- Exposure to Containerization technologies (e.g., Docker) and container orchestration technologies (e.g., Kubernetes) (Preferable).
- Knowledge of Automation testing tools (Preferable)
- Microsoft Azure experience (Preferable).
- Experience developing mobile applications using Hybrid frameworks (e.g., Xamarin, MAUI)
(Preferable) - Experience working with Microservice technologies (Preferable)
- Must be a South African citizen or Permanent Resident.
- Excellent analytical, logical reasoning and problem-solving skills.
- Excellent organization and time management skills.
- Excellent written and verbal communication skills.
- Passionate about Software Development & Technology
- Focused, dedicated, committed, taking ownership of deliverables, and taking initiative to getting the job done
Benefits:
- Competitive salary based on experience.
IF you meet the above requirements and want to make a career-changing move, apply today by emailing your CV to [email protected]
You can also connect with Daniel, Carmen and Gaby on LinkedIn or contact Hire Resolve
If you meet the above requirements we will contact you within 3 working days.
- Contribute to open-source projects (desirable).