Website Namocorp
Namocorp - where technology meets purpose and innovation is a way of life! Founded with a visionary zeal, Namocorp is about redefining the very essence of technology, where we connect systems, empower people and make a positive impact on the environment.
Job brief
- We seek 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.
Responsibilities
The responsibilities will include, but are not limited to:
- 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 the latest features
- Work in close partnership with cross-functional teams.
Requirements and skills
- Bachelor’s degree in Computer Science, Computer Engineering, or related degree in Software Engineering.
- 1 to 6 years of 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 the 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 get the job done
- Function in stressful situations
- Team player and able to work in a team
- Ability to work unsupervised
- Strive for excellence
- Effective interpersonal skills