As an Intermediate Software Engineer, you will work with a degree of independence, focusing on developing software within a team and on specific sub-sections of a system. You will be responsible for designing solutions and modules for existing systems. With a solid grasp of software development fundamentals, coding principles, and stakeholder engagement, you possess strong troubleshooting skills, understanding system interdependencies and knowing when and whom to seek assistance from. At this stage in your career, you should also be capable of architecting basic components of a system.
Key Accountabilities:
Development and Maintenance
Deliver a solution that covers all the agreed-specified tasks and user objectives.
Ensure checked-in code is reviewed to ensure standards are met.
Maintain accurate timesheets for all work performed.
Maintain code stored in multiple source control systems.
Ensure the solution and its relevant code base support ease of modification for future maintainers.
Ensure the adaptable solution delivered is appropriate for different or evolving, software or other operational usage environments.
Continuously strive to make improvements to the existing products and/or systems and services.
Ensure all tasks are completed to the required quality standards.
Analyze the performance of programs and take action to correct deficiencies based on consultation with users and approval of supervisor.
Conduct peer code reviews.
Maintain confidentiality with regards to the information being processed, stored, or accessed.
Quality Assurance
Contribute to quality activities, incl. peer reviews of estimates, designs and code
Resolve defects/bugs during QA testing, pre-production, production, and post-release patches
Conduct peer code reviews.
Conduct functional testing.
Incorporate automated testing, performance testing, and iterative development using appropriate tools and techniques.
Provide quick resolutions to app/system issues, driving stability, efficiency, and effectiveness.
Assess risk and impact of production issues/changes and take appropriate steps to mitigate risk.
Team Collaborations
Be an active and enthusiastic team player. Partner effectively with all team members to deliver against commitments.
Commitment to team success and positive team dynamics.
Offer assistance and mentorship to junior developers.
Training and Development
Update job knowledge by studying state-of-the-art development tools & techniques.
Attend FFT, Hackathons and Conferences.
Direct 3rd Party Development Partners by supplying appropriate information, domain knowledge, and access, and providing timely, relevant, and constructive feedback.
Skills, know-how and experience:
Demonstrates a strong understanding of fundamental software development concepts, practices, and procedures.
Has a passion for hands-on technical work.
Exhibits innovative and creative thinking.
Maintains a customer-focused approach.
Capable of interpreting and documenting user requirements, translating them into technical specifications and code.
Possesses high numerical reasoning, logical ability, and excellent problem-solving skills.
Proficient in one or more relevant programming languages, frameworks, and databases.
Willing to adapt to significant changes in technology or environment.
Holds broad operational knowledge in modern IT domains such as Cloud, Social, Mobility, IoT, and Big Data.
Familiar with architecture best practices and patterns, including Microservices, CQRS, Event Sourcing, and Domain-Driven Design.
Has proven experience using a Test-Driven Development (TDD) approach.
Essential:
3-5 years of professional or other practical experience
Experience in the following technologies:
Backend: C#, Java,
Frontend: HTML, Javascript, Angular and React
Framework: .NET Framework, .NET Core, .NET 6 +
Database: SQL Server, MySQL or Oracle
Web services (RESTful or WCF)
Entity Framework and Dapper
Unit and Integrations Testing
Tools: Git, Visual Studio 2019 or later
Beneficial
Proven experience with Agile Development, SCRUM, and/or Extreme Programming methodologies
NoSQL databases (CosmosDB, MongoDB)
Experience in working with Agile Teams and successfully delivering Agile-based software projects
Experience working with Git, Azure DevOps, JIRA, Jenkins, Automated Build Servers,
Microsoft certifications– AZ900, AZ204 AI900, AZ104
Technical / professional qualifications:
Microsoft Certification
Tertiary Qualification
Key performance indicators:
Complete assigned development tasks to agreed level of quality and by the required deadline.
Design, develop, deliver and maintain application/service solutions.
Ensure adherence to best practice and processes. Focus on sound development concepts and patterns such as object/service orientated architecture, refactoring and separation of concerns.
Provide accurate, detailed and timely estimates and track own activities against plan
Comply with project plans and industry standards
Code Coverage provided on the code developed
Values and Competencies
Get stuff done: completing tasks, and contributing to the deliverables of the team to ensure we deliver high quality products
Be the best you can be: investing time in learning and sharpening your skills. Teaching and sharing your unique skills with the rest of the team
Do the right thing: we build a culture of mutual respect and collaboration, admit to mistakes and learn from them
Servicing the customer: at the forefront of providing service excellence and customer satisfaction
Solve together: we conduct ourselves in such a way that we work harder, cooperate and be supportive of one another and contribute to the team spirit
Build a bridge: progress with what you have and solve a challenge
Add value: to tasks, interactions with colleagues and customer interactions
Have fun! we enjoy the work we do and the people that we are doing it
All Job Ads are subject to GrabJobs’s Terms of Service. We allow users to flag postings that may be in violation of those terms. Job Ads may also be flagged by GrabJobs moderation team. However, no moderation system is perfect, and flagging a posting does not ensure that it will be removed.
Be the first to receive the latest Others Full-Time Jobs in South Africa.
Setup your job alert:
By activating job alerts, I agree to GrabJobs Terms & Privacy Policy. I can unsubscribe to job alerts anytime.
Skip
GrabJobs is the no1 job portal in South Africa, connecting you to thousands of jobs fast!
Find the best jobs in South Africa, apply in 1 click and get a job today!