Sawasdee ka~ Hello everyone!
I’m FAI from Thailand, a global member from HDE, Inc. in Japan. I’ve been working here as a part-timer in HDE since June 2014 and finally joined as a full-time employee recently!
Many people may have heard about an Escape Room. For those of you who has no idea what it is, escape room is actually a game in which a group of players will be locked inside a room and they will have to solve a series of puzzles in order to unlock the room and escape. Hints are usually hidden within the room. Many places provide themes to the room and integrate story line to the game itself to add the spice for the players. Sounds fun right? I, for one, have always wanted to try out the escape room, but never had a chance until just last week…
Our company decided to take us on an adventure to an Escape Hunt. You’re probably asking in your head, ‘Wow that must be nice to be working in a place where they would bring you out for a game activity’. Well, YES, it’s pretty awesome! But seriously, not only the Fun that we have had, but there are other things you can obtain from the game itself. One thing for sure is the value of teamwork that would be required for everyone to team up in order to solve the mystery and pass the game lock. But you’ll find that there are more to that. The main objective of this event is also actually a training for our Global members. So….Here goes the story of our Escape Hunt !!
On 19th October 2017, a totally normal working day in Japan, all of our global members left the company early evening and headed to Asakusa, where the Escape Hunt is located. As we reached the location, we were separated into 3 groups. My group has 5 team members, and we were assigned to an escape room called “Zen”. (No phone is allowed inside so I couldn’t take any picture of the rooms inside)
As we entered the room, we were so confused on what to do and where to start. The only instruction that was given in the beginning was that we will have to unlock the room by using hints hidden around the room. We can call for hints from the game master. Each hint worth 1 minute. And we have 60 minutes to escape.
In my group, everyone has ZERO experience in the game (O___O). We only know that Okay we will have to escape from the room, but like HOW!?
This picture is my group after we have finished the game already. Anyway, inside the room, there were two hidden rooms that we had to unlock to get the next hints and so on. I would say it was really hard in the beginning to figure out what to do and what to look for.
After spending about 10 minutes in the first room, plus calling for one hint from the gamemaster, we were able to figured out the first puzzle and unlocked the key to the second room. From here, we started to get the sense and logic of the game itself. After gaining experience from the first puzzle, we’ve learned that the first thing you have to do is Observe the whole room (<.___.>), and Find any marks or symbols that you feel it may lead you to the next hint.
I’ll give one example of the puzzle to give a better picture of how the game works. This puzzle was the easiest one to be noticed. So as we entered the 2nd room, we’ve found something similar to this on the wall. (I drew this so it’s not exactly how it was, but just to give an idea hehe).
After scanning the room for quite a while, we found that we can also find these symbols embedded into two Japanese rugs that are hung on the wall of the room. Well, here are all the hints we got for this puzzle, what is your next guess? (Hmm..)
The answer is to count all the symbols on those rugs and put it in the equation above to get the passcode to unlock the next puzzle. (Could you guess that? haha) This one was actually the easiest one to solve so we didn’t take much time to figure out after observing the whole room for a while.
You might feel that this sounds easy, but most of the puzzles have hints hidden throughout different places and rooms. There are overall about 6 or 7 puzzles and some required hints from different rooms. Hints for the last puzzle (I would say the hardest one to solve) are dropped throughout the whole walkthrough of the game. The game itself requires players to be observant and attentive at all times, and most importantly cooperative.
Since we were given only 60 minutes to escape the room. After realizing what needs to be done, we have to be quick in solving the puzzle. That’s where teamwork comes in. For instance, the example of the puzzle I’ve given above. It took us only about 3 minutes to figure what to do next. It’s the counting part that takes time. Here, we have to come up with a strategy and assign each team member each task. For our group, we assigned four people with symbols for them to count the number of symbols that appeared on the rugs, and one person record down the number to do the calculation.
To dig deeper, I believe that not only cooperative skill, but the trusts developed among members are also fairly important. Some puzzles were quite complicated that sometimes we are not sure if our direction of solving the problem is actually the right one or not. Since there are many possibilities to achieve the solution in a short amount of time, I believe it is essential to act right away once the decision has been agreed among members.
Anyway, to sum up our activity, Escape Hunt has been a fun and learning experience for all of us. We all have gotten to know other members in the group better within just this 60 minutes. We can all see that each of us has different abilities that added up to a great teamwork. Some are highly intuitive, some are great at logic, some equipped with good observation, some have high leadership, and some are great supporters.
But the best thing is that my group became the first group to solve the escape room within 37 minutes, and we are so proud of ourselves!!! HAHAHA
Someone once said that “The study meeting is not complete until you write a blog.” Even though this isn’t a study meeting but since I had the chance to participate in the SaaS Conference Tokyo 2017, here is my report about that event.
About SaaS Conference Tokyo 2017
This conference has been held annually since last year by Mr. Hiro Maeda, the famous venture capitalist. Invited speakers include those who are working at SaaS startups in Silicon Valley and Japan.
This year, the slogan of the conference was “Start from zero to 10 billions of ARR, growth of SaaS Startups”. MongoDB, DoubleDutch, Stripe from the USA and SmartHR, Salesforce.com Japan, PLAID were invited to speak at the conference. By the way, this conference needed the registration fee which is rare in Japan, 6,500 yen for registration, 3,500 yen for Reception party ticket.
Unprecedentedly, our company HDE, Inc. had become platinum sponsor of this conference. So we can get 3 tickets.
Starting
Starting with Mr. Hiro Maeda’s greeting speech with his hot passion for this conference.
How to create worldwide level marketing team
The session started with Ms. Meagen Eisenberg @MongoDB CMO. The earlier part was her presentation, the latter part was Q&A session facilitated by Mr. Hiro Maeda. This year, most of the sessions were organized with such style. It was very useful for me to attend these Q&A sessions since Mr. Hiro Maeda asked various questions that I also wanted to ask the presenter.
I learned why and how should startups create their web page, how to invest with limited amount of money.
Of course, they are using MA, CRM tools like Marketo, Salesforce, etc.. In MongoDB, sales manager and marketing manager have a weekly meeting to check and adjust the inquiry (including the data from free download).
In addition, she studied in Waseda University about 20 years ago, by any chance we were classmate?
Zero to One of SaaS business
The true story about how SmartHR has been growing this 2 years by its CEO Mr. Miyata. He appointed newcomer to be in charge of customer success he did not know what is “customer success.” It was a good point for him to be able to hire public relations. He wanted to hire person to be in charge of marketing but it was too difficult. He talked about why he invests in TV commercial and so on.
His tasks had changed by each stage of the company. At the first stage he worked as sales and product manager, however, now his main task is to arrange the company organization.
I think that is SaaS Native company because they are using the words “Churn Rate”, “ARR” and “ARPA”, etc. as an indicator of management.
Salesforce in Salesforce -How to construct and educate the sales-
The next one is from two sales managers from Salesforce.com Japan. Each in charge of different sales team: Inside sales and direct sales. They talked about how to organize sales team named “the Model”. Actually, I had once heard about this model, and our company’s sales team model referred to this model. However, they talked more deeply about recruiting, assessment, sales career path, incentive plan, etc..
Their group strategy was 7 members in a team. I heard the same strategy from Microsoft. So I think it seems true one manager can manage up to 7 members.
The Key of huge ACV
A session by Mr. Suzuki, CEO of PLAID. PLAID is providing the service “KARTE” that real time communication service on top of e-commerce site and website.
The question from Mr. Hiro Maeda, “If you could go back to the starting point, what should you do and should not do?” He answered, “Only concentrate one service.” He thinks the development of the mainstream service had to be postponed due to other services, and there are parts left as negative assets.
Anyway, what a tremendous ARPU (Average Revenue Per User) transition it is!
How to set the SaaS price
This session is about how to set the pricing in SaaS by Mr. Patrick McKenzie. He has been lived in Gifu prefecture in Japan. Anyway, his is so fast-speaker, the latter part of the conference, English, fast-speak, for me is slightly hard to hear.
He said Japan has significant potential for SaaS market, few competitors furthermore it’s super difficult to enter the Japanese market due to culture differences and Japanese language.
The road to achieving 2.5 billion yen
The last talk was given by Mr. Lawrence Coburn from DoubleDutch. This session was the only discussion. He said if you could achieve the ARR, Triple ->Triple ->Double->Double->Double each year it would be successful. But for me, it’s triple, triple trouble, the last session, no slide, English.
He said what his failure is that he could procure $ 8 billion and he spent a bit of money.
Lighting Talk
We were given a chance to give lightningtalk as a sponsor, so I gave LT in there. (Definitely, I did the work.)
Reception party
The reception party was held at the restaurant near the conference venue. However, there are fewer people than I expected. There were lectures in the party. And I could meet some business friends. Among them, I met Mr. Murata. He is a junior from my high school club (not a direct junior) and he is now running a company, AI Travel as a CEO. His service is a booking system for flight ticket, hotels for a business trip. If you are interested, please contact him.
Summary
Most of the companies that presented at this conference were born as 100% SaaS native company. So I think there are a lot if a difference between our company and them. And I could confirm it becomes common to use the terms “Negative Churn Rate”, “ARR” that we used to use in our company.
I could learn so many things from this conference, including several topics about marketing, sales team building, assessment, education, how to grow as a SaaS startup companies. I think it was worth for paying 6,500 yen.
I hope next year we can make a presentation at the conference. We will do our best.
Reflection, memo
This time I was listening to the talks while taking notes on PC, but without power supply, the battery couldn’t sustain. Therefore, latter parts of the conference I had to take handwritten notes which were too difficult for me to do so.This is why there are lesser contents about the latter part of the conference mentioned in this article. (It’s just an excuse.) I have to consider this problem for the next time.
I had to take about 1 week after the conference to finish the blog. I hope I had prepared in advance so that it could be finished a bit more quickly.
This time, I had to prepare LT, so I participated without preliminary research. I should study the services created by the speakers a little bit more and wished I would be able to ask questions if possible.
39th Monthly Technical Session (MTS) was held on October 20th, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.
The moderator of the 39th MTS was Jonas-san.
The first topic was "How to use CMC Webhook" by Arakawa-san.
Customers Mail Cloud (CMC) is a cloud-based email infrastructure that is scalable, reliable and easy to implement.
To distribute mails massively and securely, CMC provides various features such as SMTP / API integration, mail distribution for mobile, DKIM / TLS encryption, delivery report, error analysis, webhook integration and so on.
This time Arakawa-san introduced CMC webhook integration for Bounce Email Handling.
He emphasized the advantage of webhook API and showed us a demonstration with Zapier and Slack. With this integration, we can instantly know email statuses.
The second topic was "A Real-time Environmental Monitoring and Analysis For a Simplified Smart Agriculture System" by Denis-san who is one of guest speakers.
Currently, he studies at Tokyo University of Agriculture and his study is monitoring Tomato growth with wireless sensor efficiently.
Growing Degree Days (GDD) is very important to control quality of farm products.
GDD are typically used to monitor crop development, the assumption being that development is limited once the temperatures exceed a certain threshold.
Since it is not enough to have only a wireless sensor dashboard, he implemented sensor data analytics system using pandas and numpy to combine cumulative GDD into one plot with Bokeh.
Now the farmer can see daily activity of Tomato and think how to control its quality with his implementation.
The third topic was "Go Concurrency in 10 minutes" by Shihan-san.
Go has built-in concurrency system based on CSP to emphasis on “Do not communicate by sharing memory; instead, share memory by communicating.”, which is a slogan in Go.
This time, he introduced the basic for non gophers.
He explained several go keywords such as Goroutines, Channels, Select with live demo.
Lastly, he gave us a link to learn more details of concurrency in Go.
The fourth topic was "Integrating backends, frontends and designers into one workflow" by Daniel-san who is UI/UX Developer and another guest speaker.
To explain importance of UI/UX, he picked up a Japanese web site that has images for titles in the beginning of his talk.
He, then, explained why this can happen through the relationship between designers, UI developers and backend developers.
To integrate backends, frontends and designers into one workflow, he suggested to define Style Guide / Patterns Guide in the team.
As a further solution, he additionally suggested to create and maintain components that define patterns in the code to clearly define UI behaviours.
The fifth topic was "The Truth of XaaS" by Kenny-san.
XaaS is anything or everything as a service (SaaS, PaaS, IaaS).
A truth of XaaS is that the customers are more powerful than ever before.
It caused two trends, new cloud economy and new consumption economy, which are creating huge impact to the Tech industry.
He also gave us an idea of the different levels of user adoption.
He explained how to improve user adoption from a product perspective.
Monitoring real-time customer insights is the way to improve user adoption and it can provide us a chance of giving proactive feedback to the customers.
The sixth topic was "Small talk on Smalltalk" by Stefan-san. He is one of our Global Internship Program (GIP) participants.
He started to introduce Smalltalk from the history of object oriented programming (OOP) citing a quote by Dr. Alan Curtic Kay.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
In Smalltalk, everything is an object and each object can send messages to another object.
He explained how an object works in smalltalk and introduced other features that Smalltalk provides.
At the end, he demonstrated how Smalltalk actually works with interactive IDE Pharo that allows us to see the detail of individual object.
The seventh topic was "Go Serverless" by Stephen-san. He is also one of our GIP participants.
He explained what serverless is, good points of AWS lambda and some difficulties dealing with AWS Lambda.
For the help of the difficulties, he introduced frameworks such as serverless, Zappa and Apex.
Through his experiments of these frameworks, he concluded serverless framework is the most comprehensive. It allows us to manage other aws resources.
According to his experience, the problem is that the framework does not explain minimum IAM Role permissions. So it’s still hard to implement and manage the entire system.
The eighth topic was “GraphQL: A query language for your API” by Elvan-san. He is also one of our GIP participants.
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
While typical REST APIs require loading from multiple URLs, GraphQL allows us get many resources in a single request.
In the talk, he overviewed GraphQL’s concepts and its architecture.
He also explained how to write GraphQL with example codes to build schemas, setup code resolvers and run queries.
Hi! My name is Stephen and as a GIP Intern I worked in the DevOps team at HDE. My primary work during my internship involved using AWS Lambda functions. AWS Lambda are based upon the idea of ‘Serverless’ architecture. This means you don’t need to have an active server listening to requests, and you don’t to worry about maintaining any server. Lambda functions also make it very easy to scale to a large amount of users without worrying about changing code. While Lambda functions provide amazing features, deploying and managing them is very difficult. This is especially true when there is a 3rd party library in your code. This requires a difficult zip packaging process, which has to be done every time you change your code.
To make this process simpler, I investigated tools to automate the deployment and management of Lambda functions. I tried many different 3rd party frameworks, but the most comprehensive and full featured framework was the Serverless Framework. With just a few commands, you can have your lambda function deployed to AWS. With Serverless Framework, the complicated zip packaging process is no longer needed. The Serverless Framework provides detailed documentation for setup, configuration, and 3rd party plugins. It allows easy management of AWS infrastructure, and has an extensive 3rd party community. For example, updating Lambda code is as simple as running:
$ sls deploy
Managing infrastructure with Serverless Framework is as simple as writing 1 or 2 lines. Included with every Serverless application is a yml file. YML files are a popular format for continuous integration services such as Travis CI and Circle CI, and its just as easy to use with Serverless. With the Serverless Framework, you can add and manage infrastructure associated with AWS Lambda functions such as SNS triggers, API Gateway, and S3 buckets. As an example, you can add an SNS trigger to your Lambda function by writing the following in your YML file:
After running the command sls deploy again, Serverless Framework will handle attaching this SNS trigger to your Lambda function automatically. This means you no longer have to navigate to the AWS console and manually add and create an SNS trigger. And then if you would like to remove this SNS trigger, it is as simple as removing that one line of code in the YML file. If you decide that you need to add API gateway to your Lambda function, Serverless makes that process very effortless. Just add the following code to your YML file:
Then again, run: sls deploy. Serverless Framework will attach API Gateway to your Lambda function and display the URL associated with the API gateway. When you are done with the Lambda functions, it is very easy to remove your Lambda functions and the associated infrastructure, just run this command:
$ sls remove
After this command is run, you will see that the Lambda functions are now gone from AWS, and any SNS or API Gateway infrastructure is removed as well. I hope this brief introduction to the Serverless Framework encourages you start moving your application to Serverless architecture. If you would like a more in-depth look at Serverless Framework, please check out there website. Also, I wrote many instructions to deploy and manage Serverless applications. So please, check out my Gist!
Here at HDE, we started with a homemade indexing algorithm to create indices of data that would be searched by users of our service. But after several years of providing the service, we realized that the performance of this algorithm, and the system that came with it, was not built for the sheer scale of our growing userbase. We especially noticed this with some users whose data came in the scale of terabytes per day and demanded peak performance, which is what prompted us to finally look for an alternative in indexing and searching emails, and that's how we met Elasticsearch.