Purpose of the role
The Software Developer role is to design, code, test, and analyse software programs and applications. This includes researching, designing, documenting, and modifying software specifications throughout the production lifecycle. The software developer will also analyse 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 Microsoft SQL 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, Solutions Architect, 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.
- 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.
- 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.