What are the responsibilities and job description for the Senior Software Developer I position at Varicent?
Job Details
Job Description
- Innovate with Purpose: Build impactful solutions for customers worldwide.
- Join Excellence: Work in a diverse, collaborative, and innovative team.
- Shape the Future: Lead in redefining revenue optimization.
- Grow Together: Unlock your potential in a supportive environment.
As a Senior Software Developer for the Sales Planning team, you will be working alongside a multidisciplinary team of developers, designers, product managers and business professionals. You will work on enhancing a rapidly growing modern SaaS product: a web application built in React, connecting via GraphQL to a serverless backend deployed to AWS, enhanced with cutting-edge generative AI capabilities.
What you will do:
- Envision, design, develop, and maintain scalable software systems using modern web application, cloud deployment technologies, and generative AI solutions.
- Integrate large language models (LLMs) and other generative AI systems into our application, ensuring they enhance the product's capabilities.
- Write clean, efficient, and maintainable code following best practices and coding standards.
- Conduct thorough testing of software components, identify and resolve bugs, and ensure the product's reliability.
- Optimize code and architecture to ensure the product can scale and maintain performance.
- Prototype new AI features, tools, and workflows to enhance product offerings while researching and experimenting with state-of-the-art generative AI techniques.
- Present findings, proof of concepts, and technical recommendations on AI-driven solutions to stakeholders, supporting informed decision-making.
- Work closely with cross-functional teams, including designers, product managers, and quality assurance, to ensure seamless integration of software modules.
- Stay updated with the latest developments in AI, including transformer models, embeddings, and retrieval systems, while continuously exploring new tools, libraries, and frameworks in the AI ecosystem. Focus on client success through creative problem-solving.
What you will bring:
- 3 yrs of strong software development skills using TypeScript, JavaScript, React, and Node.js
- Degree in Computer Science, Software Engineering or equivalent experience
- Experience with micro-services architecture, GraphQL, Apollo, Docker, and AWS services (Lambda, Aurora, RDS, ECS, Step Functions)
- Knowledge of NoSQL and SQL databases (DynamoDB, Document DB, PostgreSQL)
- A passion for building high-performance, scalable systems in the Cloud - A passion for AI technologies
- A collaborative mindset with the ability to work in a team-oriented environment
- Strong written and verbal communication skills
- Experience with test-driven development, continuous delivery and continuous integration
- Bonus points if you have:
- Knowledge of or experience with generative AI models, e.g. OpenAI, Anthropic and Gemini models
- Knowledge or or experience with RAG architectures, vector databases and document retrieval systems.
- Experience with AI/ML libraries like LangChain, PyTorch or TensorFlow
- Familiarity with prompt engineering and AI evaluation methodologies
- Familiarity with containerization and orchestration tools (e.g., Docker, Kubernetes
Success Outcomes:
1-3 Months:
- Get acquainted with the company's development environment, coding standards, tools, and processes.
- Understand the codebase by reviewing existing code, documentation, and possibly pair programming with senior developers.
- Start developing features for the product.
- Gain proficiency in the technologies and frameworks used in the company's projects.
- Attend Agile rituals, understand the product roadmap, and contribute ideas during the planning phase.
- Collaborate with team members, ask questions, and learn from experienced developers.
4-6 Months:
- Start contributing to more complex features or modules under the guidance of senior developers.
- Take on tasks with less supervision, demonstrating increased confidence in your coding abilities.
- Develop skills to independently troubleshoot and debug issues that arise.
- Gain a deeper understanding of the system architecture and how different components interact.
- Begin sharing your knowledge with other developers, helping to create a collaborative learning environment.
7 Months & beyond:
- Take ownership of complete features or modules, from design to deployment.
- Assist in making technical decisions, suggesting improvements, and helping to set coding standards.
- Develop skills to optimize code for performance, scalability, and efficiency.
- Stay updated with the latest industry trends and technologies and apply them when relevant.
- Contribute to discussions about architecture improvements, scalability, and security.
- Propose innovative solutions and ideas to improve processes, tools, or products.