In this position, you’ll be responsible for operating and performing API/web application development work for server-side features of LINE’s services.
Our Stack
Our services are built on these technologies: Java, Spring Framework, RxJava2, Armeria, Nginx, MongoDB, Redis, MySQL, Elasticsearch, Prometheus, Grafana, Zipkin, Central Dogma, Ansible
External resources about the team and our services
- LINE’s New Year campaign - Taking Control of High Traffic Video - Slides
- LINT (LINE Improvement for Next Ten years) Video - Slides
- Reliability Engineering Behind The Most Trusted Kafka Platform Video - Slides
- Long road to microservices architecture at LINE messaging platform. Video - Slides
- Implementation of service mesh using Envoy and Central Dogma Slides
Responsibilities
- Lead the design of software components and features.
- Design, develop, test, deploy, maintain and improve large-scale server-side software.
- Contribute to architectural designs which can improve the efficiency and flexibility of our services.
- Mentor and train team members on software design and coding standards.
- Work closely with other teams on the development of end-user facing web applications.
- Support the development of high quality code through active participation in code and design reviews.
Requirements
- Extensive/strong capability at least one of Programming language: Java, C, C++, Scala, Erlang
- Solid knowledge and understanding of computer science (e.g. use of standard algorithms and data structures, OS, network, database) with B.S. level or equivalent experience.
- 5+ years of experience in software development, B2C services or large scale system.
- Experience developing consumer services
Preferred Qualifications
- Experience developing applications using Java 8+.
- System architecture and design experience including but not limited to the following topics:
- Networking (HTTP 1.1/2, TCP/IP, DNS etc.)
- Scaling
- Micro-services, DDD (Domain Driven Design)
- RPC (REST, Thrift, ProtoBuf, etc)
- Asynchronous I/O - MySQL(RDBMS, etc)
- NoSQL (Redis, HBase, MongoDB, Cassandra)
- Design distributed system architecture.
- Implementation of distributed transactions
- Basic knowledge of client side technologies such as HTML, CSS and JavaScript.
- Experience using a Linux/Unix development environment.
- Experience in the coaching, management and/or leadership of a technical team.
- Open-source software development experience and/or participation in open source communities is also a plus.
- Work experience using version control systems (VCS), dependency management systems, and continuous-integration systems (CI).
- Motivation to learn Japanese.