The successful candidate will be responsible for creating software for both internal and external clients. They will perform all aspects of development from requirements gathering to training end users. On large-scale projects, they are part of a team working under a team lead and a project manager. On smaller projects, the senior software developer may perform independently throughout the entire software life cycle. Developers will participate in estimation, proposal creation, requirements gathering, programming, testing, and documentation while delivering software solutions.
Essential Skills and Requirements:
- University Degree in Computer Science, Engineering or equivalent training and experience.
- Minimum five (5) or more years of software development experience.
- Experience with WCF or similar communication framework.
- Experience with source control tools.
- IT knowledge of networks, servers and hardware.
- General knowledge of mining and mining processes.
- General knowledge of process control.
- Strong comprehensive knowledge of at least one of the following development technologies and working knowledge of several others: C#.NET, ASP.NET MVC, VB.NET, etc.
- Database design and strong working experience developing with either Microsoft SQL Server, Oracle.
- Comprehensive knowledge of application architecture, design patterns, and development methodologies/frameworks.
- Perform code reviews
- Review software design and architecture documents
- Excellent problem solving and troubleshooting skills.
- Strong written and verbal communications skills for both team collaboration and external clients.
- Self-motivated, positive, and able to focus on delivering ‘On Spec, On Time, On Budget.
- Ability to travel and access to a vehicle.
- Fluent in English (written and oral).