The Senior Software Engineer will play a key role in designing, developing, and delivering software solutions for a range of client projects.
Requirements
- Strong proficiency in one or more programming languages (e.g., Java, Python, JavaScript, C-Sharp).
- Experience with modern web frameworks (e.g., React, Angular, Node.js) and backend technologies (e.g., Spring, Django).
- Familiarity with relational and non-relational databases (e.g., MYSQL, Azure SQL, MongoDB).
- Experience deploying applications on cloud services such as AWS, Azure, or Google Cloud.
- Understanding of DevOps practices and tools, including CI/CD pipelines, version control (Git), and containerization (Docker).
- Familiarity with Agile or Scrum methodologies, contributing to sprint planning and iterative development cycles.
- Understanding mobile application development for iOS and Android platforms, with experience in frameworks like React Native, MAUI, or Flutter.
Responsibilities
- Lead and participate in the development of high-quality software solutions for client projects, using modern programming languages and frameworks.
- Contribute to system architecture and technical design decisions, ensuring that solutions are scalable, secure, and meet client requirements.
- Work closely with clients to understand their technical needs and business objectives, offering expert advice on software solutions and best practices.
- Provide guidance and mentorship to junior developers, assisting with code reviews, troubleshooting, and fostering a culture of technical excellence.
- Work with project managers, business analysts, and other engineers to ensure that technical milestones are achieved, and client expectations are met.
- Ensure the quality of software through testing, code optimization, and identifying potential issues before deployment.
- Stay up to date with industry trends, new technologies, and best practices to continuously improve development processes and software quality.
Other
- 3-5 years of experience in software development, with a focus on consulting or client-facing roles preferred and some experience in a leadership or mentoring capacity.
- Strong analytical and problem-solving skills, with the ability to troubleshoot complex technical issues.
- Experience working in Agile or Scrum environments, participating in sprint planning, daily stand-ups, and iterative development cycles.
- Basic knowledge of user experience (UX) and user interface (UI) design principles to collaborate effectively with design teams and improve the user experience.
- Knowledge of secure coding practices and common security vulnerabilities.