About LINE Corp.
At 83 million domestic users, or 65% of the population, LINE is Japan’s most popular messaging application. It is also popular throughout Asia, boasting approximately 186 million users globally.
Build Reliable Systems at Scale
You’ll have the opportunity to work on systems that are both highly scalable and reliable. For example, we use Apache Kafka to process over 360 billion messages a day, while keeping the cluster’s availability nearly 100% and less than 10 milliseconds response time.
About 40% of our engineers are non-Japanese. There are teams that don’t require any Japanese abilities, and for those wanting to improve their Japanese skills, we offer Japanese lessons.
Room to Grow
We’re a fast growing organization that’s full of young, enthusiastic engineers. We offer a leveling system with both individual contributor and management tracks, so regardless of how you wish to improve your skills, there’s room for you to grow within the company.
Healthy Work/Life Balance
We offer flextime so that you can set a schedule that is best for you. We encourage our employees to take vacations, and it’s not uncommon for some employees to take off several weeks in a row.
Our response to COVID-19
In response to COVID-19, we’ve introduced a number of initiatives to support our users in Japan and around the world. These include working with Japan’s Ministry of Health, Labour and Welfare to offer remote consultations with medical professionals, and offering free one-on-one counseling for people who are suffering from anxiety and stress stemming from COVID-19.
During this crisis, we’re advising all our employees to work from home, moved to conducting recruitment interviews over video chat, and have shifted all contracts to electronic form to allow those who handle contracts to work from the safety of their homes.
After COVID-19 comes to an end, we plan to offer a work style that combines working from home and coming to work. More details are available in Japanese.
About the position
LINE demands highly scalable and reliable infrastructure that controls applications deployed on numerous amount of machines due to its scale of growing business. We have been using our in-house deployment tool which takes classic and typical approach however, we found it hard to provide slick delivery experience with such numerous amount of machines with it. The mission we Delivery Infrastructure Team have is ‘Take leadership among company-wide deployment systems to provide innovated and WOW! deployment ecosystem for all of LINE engineers’. You will be a part of our team who will design, develop, and manage such deployment tool stack that the world is still missing.
Our current deployment tool stack consists of some components as follows. You will need to enhance some of them or introduce new components when necessary:
- Control plane to distribute, restart, and rollback applications to be deployed on each servers.
- Build executor to build applications going to be deployed that needs to handle tremendous amount of build jobs fast.
- UI that LINE engineers use for their deployment jobs on their web browser.
- Inventory to manage information about application servers that use our deployment tool stack. HTTP API for all of above functionality.
- Write web based deploy tools as well as server management tool to provide great delivery experiences to all LINE developers.
- Apply best practices around DevOps technologies and make them accessible to all LINE developers by introducing it to our deployment tool stack.
- Collaborate developers outside of the team for problems that our deployment tool stack can solve for them.
- Code review for colleagues in the team to maintain good code quality.
- Design microservice architecture for the deployment tool stack that scales and fit to extensive usage from all of LINE’s services.
- Growth mindset and a desire to learn, teach, and improve skills.
- Belief in cultures for developing good software such as frequent F2F communication, sincere and detail code review, respecting others.
- Able to find important issue and solve it as a person who has an ownership of the issue.
- Business level English
- Proficiency in Linux and shell scripting
- Proficiency in computer science such basic algorithms, data structures, and concurrent programming.
- Proficiency in DevOps, such as experience to use deploy tool, CI/CD tool, container technologies such as Docker / Kubernetes.
- Proficiency in both JVM languages(such as Java, Kotlin) and scripting languages (such as Python, Ruby, ECMAScript).
Nice to haves
These aren’t required, but be sure to mention them in your application if you have them.
- Experience for develop Spring Application.
- Experience for administrative operation on production Linux servers (both manual operation / using automation tools such as Ansible).
- Proficiency in RDBMS (such as MySQL) and NoSQL (such as Redis, Elasticsearch, MongoDB).
- Experience for design microservice architecture.
- Experience for coach team members as a senior engineer.
- Proficiency in performance tuning (such as good understanding about index in RDBMS). Business level Japanese or Korean