Position Purpose:
- More specifically, the Lead Programmer (DotNet) designs, modifies, develops, writes, and implements software programming applications and components; supports and/or installs software applications and components and maintains documentation of process flow.
- As a Lead, the role takes the technical lead on large and complex projects and requires deep, specialized knowledge in development and providing technical solutions to enterprise-wide problems along with a keen understanding of how organizations and business partners work to adapt and deliver within the required frameworks.
- The Lead Programmer (DotNet) also plays the role of mentor to other developers, enabling the function to grow the capability while creating a high-performing team.
Qualifications:
- Essential Degree or Diploma in Information Systems, Computer Science, or a related field.
Job objectives:
Develop and Maintain Operational Systems in accordance with the companies standards:
- Take the technical lead on large and more complex projects and serve as an expert on applications and provide technical support.
- Write clean, scalable code using .NET programming languages.
- Develop technical interfaces, specifications, and architecture.
- Use and adapt existing web applications for apps.
- Create and test software prototypes.
- Develop client displays and user interfaces.
- Understand and confirm system requirements with Systems Analyst and document.
- Do unit testing of developed programs and functions.
- Code reviews with peers.
- Maintain existing .Net programs/systems and functions.
- Develop and maintain documentation throughout the software development life cycle.
- Plan and identify areas for modification and improvement.
- Remain up to date with the terminology, concepts, and best practices for coding mobile apps Maintain technical infrastructure.
- Manage the Release Process: Capture the release using the company release management system.
- Ensure instructions are clear and concise and applied by relevant deployment teams.
- Confirm the success of the deployment and follow through until the production stage is reached.
- User Support and Team Collaboration: Provide business support on existing systems. Support software teams in handling project-related work and other requirements.
- Collaborate with internal teams to produce software design and architecture.
- Mentoring of Development Team: Act in a technical leadership capacity, mentoring emerging developers and new team members and developing skills and capability in the .Net technology stack.
- Setup and maintain procedures and processes to facilitate best practices for development.
- Collaborate and provide regular feedback to team on delivery priorities and progress.
Experience:
- Essential Extensive experience in coding and building Enterprise Solutions using ASP.Net and C#.
- Extensive database design and development experience in writing SQL code and stored procedures.
- UML exposure includes understanding sequence and class diagrams.
- Experience in creating transactional reporting. Development experience in MVC, WPF, and WCF.
Knowledge and Skills:
- Essential Good understanding of OO principles.
- Desirable VSS/TFS exposure. Understanding of the internals and architecture of SQL Server e.g.: memory usage, indepth knowledge of indexes, and performance tuning.
- Good technical understanding of Windows Operating System.