Fullstack Engineer
Job Description
Join Slang.ai: Revolutionizing Restaurant Customer Experience with Conversational AI
Are you a passionate and skilled Fullstack Engineer eager to shape the future of customer engagement? At Slang.ai, we’re transforming the restaurant industry with cutting-edge conversational AI, making every interaction seamless and efficient. We’re seeking a talented contractor to join our dynamic team and help us build the ultimate voice AI solution for consistently outstanding customer experiences.
Your Impact at Slang.ai
As a Fullstack Engineer, you’ll play a crucial role in developing and maintaining the robust, scalable backend services that power our conversational AI platform. You’ll be primarily focused on Kotlin development, leveraging the JVM ecosystem to build high-performance solutions. You’ll also have opportunities to contribute to our TypeScript/React frontend, ensuring a seamless user experience.
Why You’ll Thrive Here
At Slang.ai, we believe in fostering a culture of trust, collaboration, and continuous growth. You’ll be surrounded by a supportive team of “Slangstas” who are passionate about innovation and dedicated to making a real-world impact. We encourage Learner Fervor, providing ample opportunities for learning and development, from team training to personalized coaching. You’ll not only grow as a professional but also as an individual, finding purpose in your work and achieving your fullest potential.
Core Responsibilities: Diving into the Details
Fullstack Development:
- Design, develop, and maintain backend services using Kotlin and the JVM.
- Craft GraphQL queries and mutations for seamless client-server communication.
- Contribute to frontend components and features using React.
- Write modular, testable code following domain-driven design principles.
- Implement robust error handling, logging, and graceful degradation patterns.
- Create comprehensive unit and integration tests to ensure code quality.
Data Modeling and Storage:
- Design and implement optimized Firestore data models.
- Create efficient data access patterns and queries.
- Implement data migration scripts and schema evolution strategies.
- Ensure data consistency and integrity across distributed systems.
- Design effective GraphQL schemas to represent domain models.
Telephony and AI Integrations:
- Develop and maintain integrations with Twilio for voice and messaging.
- Implement Dialogflow conversational flows and webhook handlers.
- Create fault-tolerant communication between telephony providers and internal services.
- Handle edge cases and error scenarios in telephony workflows.
- Implement retry logic and circuit breaker patterns for external service calls.
Frontend Development (as needed):
- Implement React components using TypeScript.
- Integrate frontend with GraphQL APIs.
- Ensure responsive and accessible UI implementations.
- Write unit tests for React components.
- Collaborate with product team on user experience improvements.
Cloud Services Integration:
- Develop containerized applications using Docker.
- Deploy and manage services on Google Cloud Platform.
- Ensure services follow cloud-native best practices for scalability and resilience.
- Integrate with GCP services (Cloud Functions, Pub/Sub, etc.).
- Provision new infrastructure using Terraform (with guidance).
Observability and Monitoring:
- Implement comprehensive logging, metrics, and tracing.
- Create dashboards and alerts for service health monitoring.
- Develop diagnostic tools to aid in troubleshooting production issues.
- Ensure all services provide actionable insights into their behavior and performance.
Timing and Availability
- Expected commitment: 40 hours per week
- Required overlap with EST business hours: minimum 4 hours daily (12:30 p.m. ET – 4:30 p.m. ET)
- Attendance at key meetings: daily standup (1:00 – 1:30 p.m. ET), cycle planning, retrospectives
Deliverables: What You’ll Create
- Production-ready Kotlin backend code following established coding standards.
- TypeScript/React frontend code (when assigned frontend tasks).
- GraphQL schema documentation and query examples.
- Technical design documents for new features and architectural changes.
- Contribution to code reviews for team members.
- Automated test suites with adequate code coverage.
- Bug fixes and issue resolution within agreed SLAs.
Collaboration and Communication:
- Participate in daily standups and bi-weekly cycle planning sessions.
- Collaborate with Platform & Data pods on shared initiatives.
- Provide technical input during architecture discussions.
- Share knowledge and progress during Show & Tell sessions.
- Mentor junior/mid-level engineers through code reviews and pair programming sessions.
- Provide regular status updates on assigned tasks.
- Communicate technical trade-offs and implementation options.
- Document technical decisions and their rationale.
- Participate in cross-functional meetings as needed.
Technical Standards:
- Follow Kotlin idioms and best practices for backend development.
- Use TypeScript effectively with proper type safety for frontend work.
- Use dependency injection and maintain loose coupling.
- Write self-documenting code with meaningful variable and function names.
- Maintain consistent code formatting using agreed-upon linter.
Our Vision: A Future Where Voice is Effortless
We’re on a mission to eliminate frustrating, robotic phone experiences. We envision a future where voice interactions are seamless, human-like, and preferred over text. By 2030, we aim to save businesses and consumers 1 billion minutes of precious time while transforming voice channels into the preferred mode of communication.
Our Values: The Foundation of Our Success
- Overachiever Fever: We strive for excellence in everything we do.
- Learner Fervor: We embrace every opportunity to learn and grow.
- Humility Ability: We approach each other with curiosity and openness.
- SMB MVP: We’re dedicated to earning our customers’ trust and being an expert member of their teams.
“