Software Engineer / Cloud Native Platform / Private Cloud Platform

求人概要 / Role and Responsibility
English follows Japanese

LINEではオンプレミスのインフラ拠点を国内外に複数持ち、物理サーバー数5万台超、インターネットトラフィックで3Tbpsを超える規模のインフラを運用しています。
サービスの成長と多角化により毎年30%程度のペースでインフラの拡大が続いています。 

そのインフラ上に、日々多種多様なアプリケーションのデプロイがなされており、アプリケーションを開発・デプロイするエンジニアは世界10拠点以上にまたがり、総勢2700名を超えています。
このようなインフラ・開発エンジニアの規模では、開発エンジニアがインフラ構成を意識したデプロイをすることは、学習コストと運用コストが極めて高くなります。

インフラ開発エンジニアはアプリケーションとその動作環境であるインフラをシームレスにつなぐために、ソフトウェアの技術と手法を用いて、インフラのプロビジョニングとオペレーションの自動化とそれらを可能にするためのプラットフォームに責任を持ちます。

このポジションで採用された方は、下記のいずれかの業務に従事していただきます

・LINE社内で展開しているManaged Kubernetes Serviceの運用開発
・Kubernetes / Cloud Native技術を活用した、Private Cloudの運用/開発効率化のための標準化を推進するソフトウェアの運用開発

本ポジションで採用された方は、基本的に開発の企画、開発、運用、ユーザ(ユースケース)の理解とユーザのサポートなど、プロダクト開発の全ての工程を担うチームの一員として働いていただきます。

より具体的な業務/責務については、業務内容ごとに下記に記載させていただきます

■LINE社内で展開しているManaged Kubernetes Serviceの運用開発
本業務は、下記のような Managed Kubernetesの運用開発とユーザがKubernetesを使ってアプリケーション開発/運用をする上で必要な機能の運用開発になります

・プロダクト開発企画
 ・Kubernetesを使ってアプリケーション開発/運用をする上で必要な機能の開発企画
 ・Reliability向上/運用コスト軽減の観点での開発企画
 ・Usability向上の観点での開発企画
 ・Infra Operation改善の観点での開発企画
 ・上記を企画を進めるためのコミュニケーションや取り組み
・プロダクト運用
 ・Productionで活用しているOSS(Rancher,Kubernetes,Flannel...)の解析、トラブルシューティングと再発防止策の考案
 ・ユーザサポート / ユーザによりProductをうまく使ってもらえるような施策の考案
・プロダクト開発業務
 ・KubernetesのReliabilityをあげるための機能開発
 ・Kubernetesでは提供されていないユーザの開発/運用プロセス改善のための追加機能の開発
 ・Kubernetes as a serviceのデプロイのためのインテグレーションテスト及びシステムテストコード作成
 ・Kubernetes as a serviceのデプロイメントツールの開発
 ・開発・デプロイメントプロセスの改善

■ Kubernetes / Cloud Native技術を活用した、Private Cloudの運用/開発効率化のための標準化を推進するソフトウェアの運用開発
本業務は、70種類を超えるプロセスで構成される15を超えるサービスをPrivate Cloudとして提供する上での運用/開発効率化になります

・低コストでReliability向上が実現できるという観点でどのようなものが必要か検討と開発
・低コストでユーザに新しい付加価値が実現できるという観点でのようなものが必要か検討と開発

・取り組み例
 ・Private Cloudを構成するプロセスの可視化をするために、KubernetesをRuntimeとして導入/運用
 ・API Serverの振る舞いの共通化を実現するIntelligent Proxyの開発と全API Serverに対する導入
  ・コンポーネントごとに共通のFormatのAPI Documentの提供
  ・コンポーネントごとに同じ方式でAPI Server関連のMetricsの収集
 ・全コンポーネントの操作ログを管理する共通的なAudit Log収集基盤の開発運用
 ・全コンポーネントで管理するリソースに対するEventを共通の方式で貯めることができるEvent Databaseの設計と開発
  ・該当Event活用のFramework開発/運用

▼参考情報
・チームの紹介: https://engineering.linecorp.com/ja/blog/verda-platform-team/
取り組みの紹介
https://engineering.linecorp.com/ja/blog/verda-common-proxy/
https://speakerdeck.com/line_devday2019/cloud-native-challenges-in-private-cloud-with-k8s-knative
https://speakerdeck.com/line_developers/managed-kubernetes-cluster-service-in-private-cloud
-----------------------------------------------------

We have multiple on-premise IT infrastructure sites with over 30,000 servers and 1Tbps internet traffic worldwide.

Our infrastructure is growing by 30% annually due to service growth and diversification.



A wide variety of applications are being deployed on the infrastructure everyday and there are more than 2,100 developers in over 10 locations worldwide.

With this scale of infrastructure and developers, Learning and operating cost is too high for developers to deploy their applications with awareness of the infrastructure and its configuration.



We, infrastructure software engineers, are responsible for building and operating the platform which enables it to connect applications and infrastructure seamlessly using software techniques and methods.



In this position, you’ll be responsible for one of the followings work contents

Development and Operation for Managed Kubernetes Service which is provided to Application Engineer in LINE
Development and Operation for Standardized Mechanism to improve operation/development efficiency of Private Cloud by making use of Cloud Native Technology

In this position, basically you will be part of the team which is in charge of whole cycle of Product Development like planning, development, operation, user support...

For more details, let us describe bellow by each work content

■Development and Operation for Managed Kubernetes Service which is provided to Application Engineer in LINE
This work content is basically development and operation for Managed Kubernetes Service and Extra Development for necessary functionality when user use k8s for application operation.

・Product Development Planning
 ・Planning the necessary feature when we use k8s for application development and operation
 ・Planning how to improve reliability / operation cost
 ・Planning how to improve usability of service
 ・Planning how to improve Infra Operation
 ・Necessary Communication to proceed above planning work
・Product Operation
 ・Production System Troubleshooting (Rancher, Kubernetes, Flannel...), Consider How to prevent in the future
 ・Proceed User Support, Consider How user can use Service in better way
・Product Development
 ・Development to improve Reliability
 ・Development extra feature to help user use k8s for application development and operation
 ・Development for necessary tool chain / Write test code for Product
 ・Improve Development Process / Operation Process

■Development and Operation for Standardized Mechanism to improve operation/development efficiency of Private Cloud by making use of Cloud Native Technology
This work content is basically to improve operation and development efficiency for Private Cloud which is composed of more than 70 different processes and 15 different services

・Consider / Develop How to improve Reliability Entire Private Cloud with low cost
・Consider / Develop How to make extra value of Private Cloud with low cost
・Example of activity
 ・Introduce Kubernetes to improve operation experience
 ・Introduce Intelligent Proxy to achieve standardization of API Server behavior
  ・Provide API Document with same format for all of components
  ・Collect API Server related metrics by standardized way
 ・Introduce Audit Log Service which collect operation logs for all components
 ・Introduce Eventing Database which collect event of all components
  ・Development for Framework to make use of Event
応募資格 / Qualifications
■必要な経験・スキル | Minimum Qualifications
・Productを作る上で何が必要かを考えられる強いプロダクト思考
・3年以上のアプリケーション開発経験(C, Go, Python)
・ソフトウェアのトラブルシューティング経験
・クラウドサービスを取り巻く基本的なネットワーク、ストレージ、仮想化に対する知識
・最新技術を積極的に学んでいくマインド
・日常会話以上の英語力(英語での業務になります)
・OpenStack/Kubernetesに関する導入・運用経験
・オープンソースソフトウェアのコードレベルでのトラブルシューティング

・3+ years of experience of server-side software engineering (C or Go or Python)
・Experience of software trouble shooting
・Knowledge of cloud service (network and storage and virtualization).
・Mind to learn new technologies positively
・Ability to use English (most of communications are done in English)
・Experience operating or integrating OpenStack or Kubernetes
・Ability to troubleshoot OSS with code-level


■歓迎する経験・スキル | Preferred Qualifications
・オープンソースソフトウェアを自社向けにカスタマイズした経験
・オープンソースソフトウェアに対するコントリビュート経験
・分散システムの開発/運用経験
・国内/海外カンファレンスでの登壇経験

・Experience customizing OSS for company business requirements
・Experience of contributing OSS
・Experience operating or developing a distributed system
・Experience making presentations in tech conferences
勤務地 / Location
23F Yotsuya Tower, 1-6-1 Yotsuya, Shinjuku-ku, Tokyo 160-0004
雇用形態 / Employment type
正社員
勤務時間 / Working hours
One of the followings will be applied:
Discretionary labor system for professional work (Employee is deemed to have worked for 9.5 hours a day, regardless of the actual number of hours worked), Flex-time system (core time: 11:00 am–4:00 pm) or 10:00 am–6:30 pm(actual working hours 7 hr 30 min)
*To be determined after the interview process
待遇・福利厚生 / Benefits
■Holidays/Vacations
Weekends (Saturdays and Sundays), national holidays, paid leave, New Year’s holiday, congratulatory and condolence leave, "Refreshment" leave (every 5 years, employees who have been employed under a continuous contract are entitled to 10 days of paid leave)

■Compensations
Annual salary system (To be determined based on skills, experiences and abilities after discussions)

・Annual compensation will be divided into 12 months and paid on a monthly basis.
・Separate incentives available (*1)
・Compensation revision: twice a year
・Allowances: commuting allowance, LINE Pay Card Benefit Plan (*2)

(*1) In addition to your annual compensation, you may receive incentives (twice a year) depending on the company's and individual performance and evaluation on your performance. (Incentives are not guaranteed to be provided. An incentive payment will only be paid if you remain employed as of the payment date.

(*2) This is an allowance separate from the salary meant for employees to use for their health, personal development, support for raising the next generation, and more.

■Insurances
・Employment insurance, workers accident compensation insurance, health insurance, employees pension insurance

■Benefits
・Periodic health checkup
・Company events and others

*Implementation of second-hand smoke prevention measures
[Prohibiting Indoor Smoking (other than Smoking Room)]
Osaki, Minami-shinjuku, Yotsuya

*Details to be shared during interviews.