11. • Building in-house deploy system
• Building scale in-house monitoring system
• Building / maintaining OSS CI/Repository
system
Building many tools help our colleague
engineers focus in write code efficiently
https://linecorp.com/ja/career/position/786
14. https://engineering.linecorp.com/ja/blog/detail/38
1. Make JIRA ticket
2. Create local branch follow TICKET-ID-feature
3. Make a Pull Request to upstream/develop
4. Release to Beta server
5. Request QA team to confirm feature
6. Cherry-pick changes to local TICKET-ID-release branch
7. Make a Pull Request to upstream/release
8. Increase artifact version
9. Create RC branch and release to staging server and confirm
integration
10. Release to Canary server and confirm no big problem
11. Release to all server
12. Close JIRA ticket
44. Lineflow impact
• Saved time
• 500 engineer * 5 minutes ~ 41 hours (per day)
• Make foundation for further internal
tool intergration
• Help new comer get used to the process
45. What we learned
• Golang is bad at writing DSL
• Hard to develop plugin-style due static
code loader (compare to ruby)
46. How golang survive in
Java shop
• IntelliJ Golang plugin is great (we can
work with both java/golang in same editor)
• go tools ecosystem is great (debugger,
benchmark, test tool..)
• Distribute golang code is great (we love binary)
47. How to build good
internal product
• MUST invest resource (there are no
good short-term solution)
• API, and good API
• You need to be an evangelist for your
own product, or no body will use yours :(