KEY PERFORMANCE AREAS
- Translate use cases and technical specification into functional applications.
- Design, build, and maintain efficient, reusable, and reliable code.
- Ensure the best possible performance, quality, and responsiveness of applications.
- Identify inefficiencies and bugs, and devise solutions to these problems
- Help maintain code quality, coding standards and integrity.
- Accept coaching and mentoring from managers, senior developers/architects.
- Deliver necessary documentation where required
- Unit testing of own development
- Communication with project management team and updating timekeeping and project tracking/management systems as per company requirements.
- Peer review of fellow team member’s code.
- May have to work on-site at our customers’ premises
- A relevant tertiary qualification (Degree / Diploma / Certificate) with majors in at least one of the following: Computer Science, Information Systems or similar
Specific Skills (Technical):
- Minimum 7 years software development experience.
- Working with Microsoft SQL server, 2008 and later.
- Experience with relational databases
- Proficient in C#, with a good knowledge of its ecosystems
- Familiarity with the .NET frameworks, 3.5 and higher. The more recent the better.
- Strong understanding of object-oriented programming
- Skill for writing reusable C# libraries
- Familiar with various design and architectural patterns
- Experience with popular web application frameworks and libraries, beneficial.
- Familiarity with Windows Presentation Framework, MVC, WCF and entity framework.
- Working experience with Visual Studio 2010 and later.
- Knack for writing clean, readable C# code
- Understanding fundamental design principles behind a scalable application
- Creating database schemas that represent and support business processes
- Basic understanding of Common Language Runtime (CLR), its limitations, weaknesses, and workarounds
- Proficient understanding of code versioning tools such as TFS and Git.
- Familiarity with software integration methods and frameworks.
- Xamarin or similar mobile application development beneficial
The successful applicant must:
- Have a focused career history in pure software development
- Must be self-motivated, energetic and willing to put in extra effort when required
- Must be willing to put in a lot of initial effort into understanding a complex existing system, do enhancements on that system, as well as implement new functionality, with ongoing technical support (Bug resolving, etc)
- Must be able to work close together within a team and have the associated personality and attitude
- Be attentive to detail
- Have own transport