This role will be part of an agile development environment, creating enterprise-grade software systems, and advancing our technology strategy.
Duties and Responsibilities
Provide technical leadership to teammates through coaching and mentorship
Maintain high standards of software quality within the team by establishing good practices and habits
Identify and encourage areas for growth and improvement within the team
Collaborate with other architects, software developers, business analysts to plan, design, develop, test, and maintain web and desktop-based business applications
Assist in the estimations of stories and delivery plans
Design, develop, and unit test applications in accordance with established standards
Participate in peer-reviews of solution designs and related code
Develop, refine, and tune integrations between applications
Analyze and resolve technical and application issues
Assess opportunities for technology, infrastructure, application, and process improvement and prepare documentation of rationale to share with team members and other affected parties
Adhere to high-quality development principles while delivering solutions on-time and on-budget
Research and evaluate a variety of software products
Maintains expertise and champions a set of core technologies
Guide team development efforts towards successful project delivery
Core Competency Requirements
Proficient with Microsoft .NET 4.7+ /.Net Core development using C#
Proficient in Web technologies such as Angular
In-depth knowledge and experience with core Microsoft .Net technologies such as WCF, WPF, WF, LINQ, and EF
Extensive experience designing and developing enterprise-grade software
Experience with source control management systems and continuous integration/deployment environments
Experience with automated testing
Experience with agile development methodologies including Kanban and Scrum
Experience with multi-threading and concurrency
Experience with debugging, performance profiling, and optimization
Comprehensive understanding of object-oriented and service-oriented application development techniques and theories
Internally motivated, able to work proficiently both independently and in a team environment
Strong communication skills with both internal team members and external business stakeholders
Strong initiative to find ways to improve solutions, systems, and processes
Experience with database development including relational database design, SQL, and ORM technologies
Johannesburg vs. Cape Town: How Job Opportunities CompareA comparison between job opportunities in Johannesburg and job opportunities in Cape Town job opportunities, including salaries, employment growth, industries hiring and career prospects.
20 Initiatives to Boost Employee EngagementAre you struggling with improving employee engagement at work? This article covers everything from better communication to building a strong workplace culture.
30 Common Interview Mistakes to AvoidThis piece examines 30 of the most common mistakes applicants make at interviews, so you know how to better avoid them.