※ Please fill out the application information at https://funnow.bamboohr.com/careers/80 ※
【About Product Backend Team】
FunNow's backend development team, comprising over a dozen members, boasts diverse backgrounds from various startups or medium to large-scale software companies. Your role involves crafting highly readable, stable, and scalable code and architecture for FunNow's million-strong user base. We value the professional opinions and ideas of each team member, encouraging participation in discussions, questions, and suggestions, as we believe that great questions and ideas are the driving force behind team growth.
Below, we provide an overview of our tech stack to give you a foundational understanding of FunNow's architectural landscape:
Our backend system architecture and related infrastructure are built on AWS services, utilizing (but not limited to):
- RDS, ElastiCache, MongoDB Atlas and Elasticsearch cluster as the primary databases
- 100% containerized API, hosted on ECS/EKS Fargate, with services like EC2 for deploying ELK
- Serverless services such as SQS, EventBridge, SNS, Step Function, and Lambda for establishing asynchronous workflows
- WAF for designing firewall rules
- Development primarily in Go for RESTful APIs, Lambda functions, and schedulers, with occasional usage of Python or other languages for smaller services or tools
- Comprehensive development and deployment processes, utilizing GitHub for trunk-based flow, Circle CI, and AWS CodeBuild to establish a complete CI/CD pipeline
- Monitoring and alert mechanisms integrated with Grafana for various services
【Responsibilities】
As a backend engineer within the FUNNOW Group, your daily responsibilities will include:
- Developing APIs and writing unit tests in Golang
- Collaborating with team members to select appropriate technologies and design system architecture
- Conducting performance analysis and optimization to enhance system scalability, stability, and security.
- Prioritizing software quality and continuously improving architecture, participating in code reviews to enhance code quality
- Writing clear and understandable API/RFC documents and discussing your ideas with the team
- Sharing your experiences to enhance the team's engineering culture
【Requirements】
- 4+ years of experience in backend development
- Experience in Go programming language
- Familiarity with MySQL or other RDBMS databases, capable of analyzing performance bottlenecks and optimization
- Designing flexible table schemas that meet requirements
- Proficient in Git
- Implementation experience with Redis or Memcached for caching mechanisms
- Experience in Elasticsearch or other NoSQL databases
- Experience in developing with Message Queues (SQS/RabbitMQ/Kafka)
- Strong Linux foundation
- High self-standards, proactive responsibility, meticulous work attitude, and good communication and teamwork skills