What are the responsibilities and job description for the Senior Software Engineer position at TIAG?
TIAG is now hiring a Senior Software Engineer to join our team full time in San Diego, CA. In this role, you will take end-to-end ownership of features, architecting and developing solutions that span from our Django back-end to our React front-end. This Software Engineer acts as contributor to the entire product lifecycle, from initial concept to deployment and maintenance.
The ideal candidate is a versatile engineer who is comfortable working on both client-side and server-side logic and is driven to build high-quality, user-centric software. You will be empowered to make significant technical contributions and collaborate closely with all members of the product and engineering team.
Positions Responsibilities include:
- Design, build, and maintain efficient, reusable, and reliable Python code using the Django framework.
- Develop robust, scalable RESTful APIs using Django Rest Framework to support the front-end application.
- Implement new user-facing features and build reusable components using React.js.
- Translate UI/UX prototypes and wireframes from our JupyterLab environment into high-performance, production-grade code.
- Design and manage database schemas and data models for our application (e.g., using PostgreSQL).
- Ensure the performance, quality, and responsiveness of the full application stack.
- Work within our container-based development workflow using OCI tools like Podman, Buildah, and Skopeo in a Linux environment.
- Write clean, well-documented code for both the front-end and back-end, and participate actively in peer code reviews.
Required Skills and Qualifications
- 5 years of professional experience as a Full-Stack Engineer or similar role, with a portfolio showcasing both front-end and back-end projects.
- Proficiency in Python and hands-on experience with the Django framework, particularly Django Rest Framework (DRF).
- Proficiency in JavaScript (ES6 ) and a thorough understanding of React.js and its core principles.
- Experience designing and building RESTful APIs.
- Experience with relational databases (e.g., PostgreSQL, MySQL) and data modeling.
- Proficiency in implementing structured and effective logging for application monitoring and diagnostics.
- Proficiency with code versioning tools, such as Git.
- Excellent problem-solving skills and the ability to work independently and as part of a team.
Preferred Qualifications
- Experience with Test-Driven Development (TDD) principles across the stack (e.g., Jest/React Testing Library for the front-end, Pytest for the back-end).
- Familiarity with OCI-compliant container tools like Podman and Buildah (professional experience with Docker is also highly valued), and experience with container image signing using skopeo.
- A working knowledge of the Python data science ecosystem, particularly JupyterLab and ipywidgets, is a significant plus.
- Experience working in a Linux environment, especially RHEL or a similar distribution (e.g., CentOS, Fedora).
- Knowledge of modern authorization mechanisms (e.g., OAuth, JSON Web Tokens).
- Experience with CI/CD pipelines and deployment processes.
Salary : $120,000 - $130,000