Software Developer
Role details
Job location
Tech stack
Job description
We are seeking a highly skilled and motivated Software Developer to join our dynamic development team. The successful candidate will be responsible for designing, developing, and maintaining innovative software solutions across various platforms. This role offers an excellent opportunity to work with cutting-edge technologies and contribute to impactful projects within a collaborative environment. The ideal applicant will possess a strong foundation in software development principles, experience with diverse programming languages, and familiarity with cloud services and web technologies., * Develop, test, and deploy scalable software applications using languages such as C#, Java, Python, PHP, Ruby on Rails, and JavaScript.
- Design and implement robust APIs and web services employing REST and SOAP protocols to facilitate seamless integration across systems.
- Utilise frameworks such as ASP.NET MVC, Angular, React, Vue.js, and Bootstrap to create intuitive user interfaces and enhance user experience.
- Manage databases including MySQL, PostgreSQL, Microsoft SQL Server, MongoDB, and Oracle; perform database design optimisation and T-SQL scripting.
- Collaborate on the full Software Development Life Cycle (SDLC), including requirements analysis, system design (UML), coding, testing (unit testing), debugging, and deployment.
- Utilise version control tools such as Git, GitHub, SVN, TFS for source code management and collaboration.
- Develop applications on cloud platforms like AWS and Azure; implement scalable microservices architecture using Docker or Kubernetes where applicable.
- Write efficient scripts using Shell Scripting or Bash (Unix shell) for automation tasks; develop data integration solutions with SSIS or SSRS.
- Ensure software quality through code reviews, documentation, and adherence to best practices in OOP principles.
- Participate in troubleshooting issues related to IIS servers or Linux environments; optimise performance through profiling and debugging tools.
Requirements
- Proven experience in software development across multiple languages including C#, Java, Python, PHP, Ruby, and JavaScript.
- Strong knowledge of front-end technologies such as HTML, CSS, AJAX, Bootstrap, alongside frameworks like Angular and React.
- Proficiency with database management systems including MySQL, PostgreSQL, Microsoft SQL Server, MongoDB, with expertise in database design and T-SQL scripting.
- Familiarity with web services development using REST and SOAP protocols; experience with WCF is advantageous.
- Experience working within cloud environments such as AWS or Azure; understanding of microservices architecture is desirable.
- Competence in version control systems including Git, GitHub, SVN, or TFS for collaborative development workflows.
- Knowledge of application frameworks like ASP.NET MVC,.NET Core, or Ruby on Rails; experience with Entity Framework is preferred.
- Ability to perform unit testing effectively; familiar with tools like NUnit or MSTest.
- Strong debugging skills coupled with problem-solving abilities in complex technical environments.
- Excellent organisational skills with the ability to manage multiple projects simultaneously while adhering to deadlines.
This position offers an engaging environment where innovation is encouraged alongside continuous professional growth opportunities within a supportive team setting. Candidates should demonstrate a passion for technology and a commitment to delivering high-quality software solutions aligned with organisational objectives.