As a Senior Software Engineer, you will play a pivotal role in the creation, design, maintenance, and enhancement of software applications. Working collaboratively with diverse members of the engineering team, including project managers, designers, and testers, you will be at the forefront of driving technological innovation within the firm.
You will be responsible for analyzing user needs, creating an architecture, and designing software solutions to meet those needs.
You must be knowledgeable about the software development lifecycle and be able to work collaboratively with others to produce high-quality software products.
Responsibilities
Designing, coding, testing, and maintaining complex software solutions.
Providing technical guidance to the development team.
Analyzing and resolving complex technical problems.
Develop server-side applications and APIs to communicate with databases, web servers, and other back-end components.
Building front-end code using programming languages such as HTML, CSS, and JavaScript to develop responsive and scalable user interfaces.
Test software applications to ensure that they are bug-free and function correctly.
Developing user interfaces, by creating web and mobile interfaces that enable users to interact with software applications.
Staying up to date with emerging technologies and programming languages to ensure that software applications remain competitive and relevant.
Collaborate with cross-functional teams, including design, engineering, marketing, and sales, to ensure alignment and successful product launch.
Documenting code, processes, and system architecture.
Implementing security best practices in software development.
Ensure compliance with all legal and regulatory requirements related to Software Development
Qualifications
Bachelor's degree in computer science or a related field; master’s degree is an added advantage.
Minimum of 7 years of experience as a Software developer with 3 years leading engineering teams.
Minimum of 7 years of Proven experience as a software engineer, demonstrating progressively increasing responsibilities.
Proficient in multiple programming languages, with a strong emphasis on HTML, CSS, and JavaScript.
A good understanding of database management, software development methodologies/tools, software architecture principles, and design patterns.
Excellent problem-solving and critical-thinking skills.
Communicate clearly and effectively with other developers, stakeholders, and clients. This includes both written and verbal communication.
Knowledge of regulatory requirements related to software development.