Job Summary: As a Senior Software Engineer, you will be responsible for designing, developing, and maintaining complex software applications. You will play a key role in database architecture, ensure seamless software deployment, and lead frontend development initiatives. Your expertise will be crucial in driving our projects from concept to production.
Key Responsibilities:
- Software Development:
- Design, develop, and maintain scalable and high-performance software solutions using modern technologies and best practices.
- Work closely with the machine learning, Image processing and GIS team to integrate the algorithmic output from the backend REST APIs.
- Participate in the entire software development lifecycle, from concept to delivery.
- Oversee the deployment process, ensuring smooth and secure releases to production environments.
- Implement CI/CD pipelines to automate the build and deployment processes.
- Database Management:
- Design and optimize complex database schemas, manage data integrity, and ensure efficient database operations across multiple environments.
- Frontend Development: Lead the development of responsive, user-friendly web interfaces using modern frontend frameworks (e.g., React JS or Django).
- Technical Leadership: Mentor and guide junior engineers, conduct code reviews, and enforce coding standards to maintain high-quality codebases.
- Collaboration: Work closely with cross-functional teams, including product managers, designers, and QA engineers, to deliver high-quality software products on time.
- Problem Solving: Identify and troubleshoot performance bottlenecks, security issues, and other technical challenges, providing solutions that align with business objectives.
- Documentation: Create and maintain comprehensive documentation for software designs, deployment procedures, and database schemas.
Qualifications:
- Education: Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- Experience: Minimum of 3-5 years of experience in software development, with a focus on database management, deployment, and front-end development.
- Technical Skills:
- Proficiency in programming languages such as Python and Javascript.
- Strong experience with relational databases (e.g., MySQL, PostgreSQL).
- Expertise in front-end technologies like HTML5, CSS3, JavaScript, MaterialUI and modern frameworks (React, Django).
- Understanding of REST concepts and building/interacting with REST APIs
- Proficiency in using both Windows and Linux operating systems.
- Hands-on experience with CI/CD tools (e.g., Jenkins, GitLab CI).
- Familiarity with version control systems (e.g., Git) and agile development methodologies.