Job title: Full Stack .Net Software Engineer (Senior)
Job type: Permanent
Emp type: Full-time
Industry: IT
Salary: negotiable
Location: Namocorp
Job ID: 32061

Job Description

NAMOCORP RECRUITMENT SPECIFICATION

SOFTWARE ENGINEER (SENIOR)

V1.0 Page | 1

Specification

Job Title Software Engineer (Senior)

Location Centurion, Gauteng

Reports To Software Development Manager / Operations Manager

About Us

Namocorp is a leading-edge South African based Technology and Software company that develops

bespoke software solutions. Namocorp was founded with a clear sense of Why – that purpose, cause or

belief that goes beyond the software we develop or the services we offer.

We do IT differently… by disrupting, innovating, and revolutionizing!

We believe in doing everything differently, from how we engage and add values to our Customers, our

People, right down to the way we interact with the Environment.

Why Work for us

We are a young close-nit team, offering an environment that promotes collaboration and innovation. We

strive to offer the best working environment possible to keep our team happy.

Our Culture

We're casual and we operate with an open-door policy, if you want to talk with anyone on our team, you

just go and do it. We focus on things like interesting work and solving challenging problems without

having to deal with corporate hang-ups. And we do it all in slops, jeans, and t-shirts.

While we have an existing tech-stack to consider, you'll also be free to suggest any new tool or solution that you want to try out and just run with it, if you can justify it to your teammates.

Our Engineering Processes We follow Agile development methodologies, so our clients experience increased productivity and ensure we deliver significant business value early in the development process. We are Agile enough to follow other methodologies as well as customizing a hybrid development methodology suited to our clients’ needs

Perks Flexible hours Amazing coffee Free snacks Casual dress code Dev-spec Laptop Centralised location (near to Gautrain station)

Job brief

We are looking for a Senior Software Engineer to design and implement new systems and features, as well as modify and maintain existing systems for adaptation to business and/or technology changes.

NAMOCORP RECRUITMENT SPECIFICATION

SOFTWARE ENGINEER (SENIOR)

V1.0 Page | 2

The Senior Software Engineer engages directly with management, development teams, customers, and vendors to ensure the successful design, development, and delivery of technology-based solutions. To be successful in this role, you should be able to drive the software change and release management processes, assisting with the overall maturity of the software development lifecycle. Ultimately, a top- notch Senior Software Engineer will ensure that software deliverables comply with quality standards and are completed on time.

Responsibilities

The responsibilities will include, but are not limited to:

- Serve as a technical lead contributing to and directing the efforts of development teams, including internal and external team members.

- Contribute to the ongoing evolution of the existing portfolio of applications and services. - Execute full software development life cycle (SDLC) - Design, develop, modify, implement, and support software components anywhere in the software

stack. - Determine root cause for the most complex software issues and develop practical, efficient, and

permanent technical solutions. - Remain current on new technologies and available vendor packages; evaluate and make

recommendations as necessary. - Assist in task planning, estimation, scheduling, and staffing. - Mentor Software Engineers and Developers to allow for skill/knowledge development through

advice, coaching, and training opportunities. - Determine process improvements, best practices, and develop new processes. - Work in close partnership with cross-functional teams and management.

Requirements and skills

- Bachelor's degree in Computer Science, Computer Engineering, or related degree in Software Engineering.

- 6+ years professional work experience 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

- Experience serving as technical lead throughout the full software development lifecycle, from

conception, architecture definition, detailed design, scoping, planning, implementation, testing to

documentation, delivery, and maintenance.

NAMOCORP RECRUITMENT SPECIFICATION

SOFTWARE ENGINEER (SENIOR)

V1.0 Page | 3

- 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 - 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

- 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.

- Excellent leadership skills and demonstrable ability to lead others.

- Ability to exercise discretion and independent judgment in the performance of duties.

- Passionate about Software Development & Technology

- Focused, dedicated, committed, taking ownership of deliverables, and taking initiative to getting 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