Experience
5+ years.
Job Purpose
- Be a Lead Engineer in Python with a good understanding of GIS
Job Description
- Strong programming basics and expert development experience of at least 5+ years in Python + one amongst Angular, .NET, NodeJS, technologies.
- Strong understanding of GIS concepts and experience in GIS development using Python/JavaScript of at least 2 years.
- Working experience in extraction, analysis and presentation of geo-spatial data using Python
- Good hands-on experience in using python libraries like Geopandas, Shapely, GDAL etc.
- Good knowledge in using GIS frontend libraries like OpenLayers/Leaflet/Mapbox GL JS etc.
- Working experience in performing GIS based database queries/operations.
- Ability to write code in an efficiently structured and modularized manner.
- Ability to develop user interface and visualize GIS Data using JavaScript or Angular is good to have.
- Good understanding of object-oriented concepts.
- Experience in integrating GIS solutions into broader enterprise platform is a good to have.
- Strong understanding of one of the frameworks – Flask, Django, FastAPI etc.
- Good understanding of ORM libraries.
- Knowledge on various databases – such as PostgreSQL and working experience on integrations with NoSQL databases as well.
- Knowledge of AWS and/or Azure services
- Strong understanding of RESTful APIs and experience in development of REST APIs.
- Experience with integrating code with Databases, front end application etc.
- Good understanding of the various extensions used in databases for GIS data management.
- Knowledge of various databases and their GIS plugins – such as PostgreSQL and working experience on integrations with NoSQL databases as well.
- Good understanding of code versioning (Git, SVN etc.)
- Nice to have: Working experience in DevOps.
- Good to have: Working experience in shell scripts/PowerShell scripts.
- Willingness to take additional responsibilities and learn new programming languages/technologies.
Job Duties and Responsibilities
- Take lead engineer role in managing tasks in a sprint, reviewing the code of team members and ensuring first time quality of code.
- Write “clean”, well-designed code.
- Review of code written by team members and ensuring organizational coding standards are followed.
- Capability to understand user stories, translate that into technical specifications and convert this into working code.
- Follow modern agile based development process including TDD based unit testing.
- Produce detailed specifications.
- Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality.
- Contribute to all phases of the development lifecycle.
- Follow technology best practices.
- Develop and deploy new features to facilitate related procedures and tools, if necessary.
Any Additional Information/Specifics
- Participate in the full product development cycle, including brainstorming, release planning and estimation, implementing and iterating on code, coordinating with internal and external clients, internal code and design reviews, MVP and production releases, quality assurance, and product support.
- Highly effective and thrive in a dynamic environment.
- Comfortable with proactive outward communication and technical leadership and positive about accepting challenges.
- To adhere to ISMS policies and procedures.
Job Location: Kochi Trivandrum