Senior Software Developer
Fidelity Cash Solutions – CashMaster, Waltloo
Reporting to: Research and Development Manager CashMaster
The above position is vacant at CashMaster in Waltloo, reporting to theResearch and Development Manager CashMaster.
We are looking for a Senior Software Developer with a strong knowledge and experience developing in C#, Java, C, Assembler language and proficient in SQL database. The successful candidate must display experience in developing Server Listeners which is the interface for devices to communicate to Servers. Coupled with software development the candidate must have an Electronics knowledge and experience to develop hardware and develop firmware in the embedded electronics platform.
Minimum Requirements:
Diploma / degree in Computer Science, Engineering or a related subject ; or
Matric certificate and Studying towards a Diploma/ degree in Computer Science, Engineering or a related subject.
Minimum of 5 years working experience
Knowledge of C, C#, Java and SQL it’s a must.
Object oriented analysis and design using common design patterns.
Familiarity with architecture styles/APIs (REST, RPC).
Understanding of Agile methodologies.
Very good communication skills.
Problem-solving attitude.
Ability to establish priorities.
Good planning and self-management skills.
Team work and willingness to listen to others.
Eagerness to learn new ideas, concepts and technologies.
Beneficial
Knowledge of .NET languages, besides Java (e.g. Visual Basic .NET) and HTML5/CSS3
Knowledge of single-board and embedded environments (e.g. Raspberry PI).
Familiarity with the ASP.NET framework, SQL Server and design/architectural patterns (e.g. Model-View-Controller (MVC))
Familiarity with SQL and MSSQL Server, MariaDB, MySQL and H2
Familiarity with architecture styles/APIs (REST, RPC)
Proficient with Windows 10, Microsoft office products.
Proficient with Linux OS
GUI development.
Candidates with Python, C++, Assembler will have an added advantage
Excellent troubleshooting and communication skills
Key Performance Areas: (not totally inclusive)
Design, build, and maintain efficient, reusable, and reliable C# code
Ensure the best possible performance, quality, and responsiveness of applications
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automatization
Maintain existing code base
Core Competencies
Participate in requirements analysis
Collaborate with internal teams to produce software design and architecture
Write well designed, testable, efficient code in C, C#, JAVA, Assembler, SQL
Test, deploy applications and systems
Revise, update, refactor and debug code
Support continuous improvement by investigating alteratives and technologies and presenting these for architectural review
Develop documentation throughout the software development life cycle (SDLC)
Develop Hardware and Firmware for Electronics.
Skills
Analytical
Critical thinking
Diplomacy
Service orientation
Understanding fundamental design principles behind a scalable application
Creating database schemas that represent and support business processes
Implementing automated testing platforms and unit tests
Proficient understanding of code versioning tools such as TFS
Familiarity with continuous integration
Familiarity with database design and writing stored procedures