Purpose of the roleThe Senior Software Developer role is to design, code, test, and analyze software programs and applications. This includes researching, designing, documenting, and modifying software specifications throughout the production lifecycle. The software developer will also analyze and amend software errors in a timely and accurate fashion and provide status reports where required.Duties and Responsibilities
- To obtain a good understanding of the databases used by the firm including the Triggers, Views, Stored Procedures and SQL Jobs
- To obtain a good understanding of the custom developed code that is in place to enhance and integrate the software with other operational software
- Testing where software changes were made and identifying and solving any technical problems
- Maintain system availability of these applications
- Make recommendations and incorporate improvements in these software applications
- Work closely with the Software Development Manager and other members of the team on IT projects
- Communicate with the Software Development Manager with efficiency and accuracy on any issues, progress and /or delays
- Transfer skills/knowledge to less experienced team members
- Adhere to all IT policies and procedures
- Assist other developers, analysts, and designers in conceptualizing and developing new software programs and applications
- Plan phases of the software development life cycle (SDLC) for a variety of projects
- Assist in the preparation and documentation of software requirements and specifications
- Research and document requirements of software users
- Conduct research on emerging application development software products, languages, and standards in support of procurement and development efforts
- Recommend, schedule, and perform software improvements and upgrades
- Consistently write, translate, and code software programs and applications according to specifications
- Run and monitor software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging
- Administer critical analysis of test results and deliver solutions to problem areas
- Generate statistics and prepare and write reports for management and/or team members on the status of the programming process
- Assist in the development and maintenance of user manuals and guidelines
- Liaise with network administrators, systems analysts, and software engineers to assist in resolving problems with software products or company software systems
- Manage and/or provide guidance to junior software developers and research assistants
About The Employer:
Skills and Knowledge
- Strong analytical and problem solving skills are required, including a thorough understanding of how to interpret customer business needs and translate them into application software
- Ability to work under pressure and engage in multiple initiatives simultaneously
- Being able to work to tight deadlines
- High level of precision and attention to detail
- Flexibility with respect to time and work
- A friendly and service-orientated person
- Willingness to learn and apply
- To be self-motivated and a go-getter
- Ability to transfer knowledge and write high-quality technical documentation
- Flexible and adaptable in regards to learning and understanding new technologies
- Strong written and oral communication skills
- Strong interpersonal skills
- Ability to conduct research into software-related issues and products
- Highly logical
- Technically proficient
- Highly self-motivated and directed
Qualifications and Experience
- Diploma or university degree in the field of computer science or software engineering, and/or 10 years equivalent work experience.
- 8 years minimum development experience using the Microsoft technologies; C#.NET, ASP.NET, NET and MS SQL
- Knowledge of applicable data privacy practices and laws
- PowerPlatform experience would be advantageous