First-year of Gaijin Engineer in Tokyo

Photo by Andrew Neel on Unsplash
1. 2019/01 - 2019/05: Blockchain Engineer
2. 2019/06: Hackathon, Hackathon, Hackathon
3. 2019/06 - 2019/12: Microservice Team
4. The challenges?
5. What's next?

1. 2019/01–2019/05: Blockchain Engineer

I worked as Blockchain Engineer at the Wallet team to build CLI based Bitcoin/Ethereum wallet. My primary job is to make sure the wallet system is stable and secure. Our main tech stack included

  • Golang: All functions at wallet system are written by Golang
  • MySQL: Store transaction history and account’s information
  • Bitcoin core/Bitcoin ABC/Parity: Client node to connect to the Bitcoin/Bitcoin Cash/Ethereum network.
  • Docker: Mysql, Bitcoin node, Bitcoin Cash node, Ethereum node are running on Docker.
  • gRPC: RPC framework built on top of HTTP/2 to connect with Backend
  • GCP: Hot wallets run on GCP
  • JSON-RPC: to query information from the blockchain node.
15 minutes talking about private and public blockchain

2. 2019/06: Hackathon, Hackathon, Hackathon

I need to refresh myself after my first, not a really successful project. So I came back with my favorite hobby — Hackathon.

  • Brainstorming and coding 48 hours through the night with your friends.
  • Building something from scratch under high stress using a new tech stack.
  • Pitch in front of hundreds of people about your idea (even your app doesn’t work)

Decrypt Tokyo — Blockchain Hackathon

I teamed up with 4 Japanese guys, and I was the only developer in my team. So obviously no hope to beat engineers from Quantum, Kyber Network, Omisego... Instead of building a real product, we just focus on slide and a little fancy front-end to demo to audiences.

AngelHack Tokyo

AngelHack is a global hackathon organization. It began in San Francisco and expanded to over 50 cities with around 100,000 developers in the community.

I was trying to explain the system overview for the audience
5am — I can’t remember how many cups of coffee I drank

3. 2019/06–2019/12: Microservice Team

My next adventure began when I joined to Microservice team at CTO Office. Moving from Rails world to Microservice world is totally different, not only about tech stack, programming language… but about how to design and implement the service. How many processes in our service? Should we use synchronous, or asynchronous for communication between each service? If synchronous, should we use REST or RPC? If asynchronous, should we use polling, callback by WebSocket or Pub/Sub?. What’s should we log? What’s about metrics?

4. The challenges?

The language barrier and cultural differences are definitely the most challenges when you work abroad.

The language barrier

It’s OK to talk about the weather, daily stuff. Then it will be a little hard to talk about tech. And then if you have to explain blockchain for non-tech guys, it would be very very challenging. Like I said above, an engineer should have an ability working from prototype to production. But that progress may require many meetings, conversations between teams, inside team… So your life will be miserable if your communication isn’t good enough. Importantly, Communication can open a new idea, a brilliant solution can come through deep communication.

Too much new technologies

Don’t get me wrong, I really enjoy to learn new things to fresh my mind, expand my knowledge. But since this is my first year abroad, I have to deal with other non-tech problems, it would be a challenge to me if I change my tech stack every single project. Instead of that, I can focus on better communication, deep dive on some techniques…

5. What’s next?

What I most realized after 1 year by observing, working at ~1B startup, that building a product is hard. Especially,

Building a world-class product needs the world-class engineer.

In order to do that, I need to go focus and sharp all my skills: English, Japanese, System Design (continue with Microservice). It feels really bad when you know you are not good at anything.

It takes time to be Super Sayan.

Last word

First tech public speaking, First English pitching, First failed project, First time try with microservice architecture, First time join a meeting without understanding…



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store