The Full Stack Programmer is responsible for designing, developing, and maintaining both front-end and back-end components of our web applications. This role requires a solid understanding of web technologies, databases, and frameworks.
Essential Functions and Responsibilities:
Develop and maintain scalable web applications:
- Use both frontend and backend technologies.
Backend technologies:
- Utilize Ruby on Rails and Python to create robust and efficient server-side solutions.
Frontend technologies:
- Use Vue.js to build dynamic and responsive user interfaces.
Cloud services:
- Implement and manage cloud services on platforms like Google Cloud Platform (GCP) and Amazon Web Services (AWS).
Microservices architecture:
- Design, build, and maintain microservices architecture.
OAuth2 authentication:
- Integrate and manage OAuth2 authentication for secure access control.
Software quality:
- Write and maintain comprehensive test cases to ensure software quality and reliability.
Technical discussions:
- Discuss and articulate technical approaches and solutions with cross-functional teams.
Software maintenance:
- Troubleshoot, debug, and upgrade existing software.
Industry trends:
- Stay updated with the latest industry trends and technologies to ensure we are using the best tools and practices.
AI solutions:
- Apply understanding of AI concepts to develop and implement AI solutions as needed.
Drone data:
- Work with drone data such as Ortho mosaic and photogrammetry, applying relevant algorithms using Python libraries.
Geospatial data:
- Utilize GDAL (Geospatial Data Abstraction Library) for processing and analyzing geospatial data.
- Understand and work with Cesium and 3D concepts for geospatial applications.
Other responsibilities as assigned by the New Tech Lab Director.
Minimum Qualifications:
- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience). A Master's degree is preferred.
- Minimum of 10 years of experience in software programming or a similar role.
- Experience with other frontend frameworks or libraries.
- Knowledge of containerization technologies like Docker.
- Strong proficiency in backend technologies such as Ruby on Rails and Python.
- Hands-on experience with frontend technologies like Vue.js.
- Experience with cloud services, particularly GCP and AWS.
- Familiarity with microservices architecture and OAuth2 authentication.
- Experience in writing and maintaining test cases.
- Understanding of AI concepts and ability to implement AI solutions.
- Experience with drone data, orthomosaic, and photogrammetry.
- Proficiency in Python libraries for 2D data processing and analysis.
- In-depth understanding of GDAL for geospatial data processing.
- Knowledge of Cesium and 3D concepts.
- Excellent problem-solving skills and a proactive approach to work.
- Strong communication skills with the ability to discuss and articulate technical approaches effectively.
- Ability to adapt to new technologies and learn quickly.
Working Conditions and/or Physical Demands:
- Prolonged periods sitting at a desk and working on a computer.
- Must be able to lift up to 15 pounds at times.
Reports to the New Tech Lab Director.