Job Description:
Senior Software Developer will be responsible for the administration of network and server infrastructure within the IT department, planning of technology projects, managing our team of IT professionals, implementing technology security and executing all technology-related tasks and initiatives.
Role & Responsibilities -
- Provide technology strategy planning
- Integrate information technologies into the company for optimal effectiveness.
- Develop a renewal and upgrade schedule for company software programs
- Supervise and direct IT personnel.
- Participate in team projects and contribute to the development of best practices.
- Design, develop, and maintain software systems to support research and
academic activities.
- Create high-level, detailed technical wireframes and prototypes to illustrate the
functionality, behaviour, and structure of applications.
- Write clean, efficient, and well-documented code in a variety of programming
languages.
- Debug and troubleshoot software problems, and identify and implement solutions
- Collaborate with cross-functional teams, including researchers, faculty, and
support staff.
- Participate in code reviews and contribute to the development of best practices.
- Automate deployment, testing, and monitoring of software systems.
- Collaborate with software developers and researchers to support their workflows.
- Design and implement database schemas, tables, and stored procedures to
support application requirements.
- Monitor database performance, resolve issues, and optimize database
configurations for maximum efficiency.
- Ensure data integrity, security, and disaster recovery through regular backups,
database replication, and other techniques.
- Collaborate with software developers and researchers to support their workflows
and data needs.
- Stay up-to-date with new technologies and best practices in database
administration, and continuously improve skills.
- Manage and monitor cloud infrastructure, including virtual machines, containers,
and databases.
- Ensure high availability and reliability of software systems through regular
monitoring and performance tuning.
- Investigate and resolve production issues, and implement solutions to prevent
similar issues from happening in the future.
- Stay up-to-date with new technologies and best practices in DevOps, and
continuously improve skills.
- Translate business requirements into functional and technical specifications.
- Collaborate with software developers, researchers, and other teams to ensure
that requirements are well-understood and properly implemented.
Requirements:
- Bachelor's or Master's degree in Computer Science, Engineering or equivalent
- Strong technical skills and experience with ERP systems.
- Excellent problem-solving and analytical skills, with the ability to make data-driven decisions.
- Strong communication and interpersonal skills, with the ability to work effectively in a
team environment.