The other day I was on the phone with home,
chatting about work things.
I talked a bit more than usual.
Even though my parents couldn’t understand,
they listened happily.
I’ve always been a rough egoist,
sometimes excessively going my own way.
A rare chance to reflect,
so I’ll take this chance to write something
and record my current work life.
Zaihui
Around last October,
the HR PP at Baixing.com found my GitHub,
asked for my resume,
and invited me to interview at Baixing.
Because my college roommate Zhou Cheng previously worked at Baixing,
I went to ask him how Baixing was in various aspects.
He gave me a rough rundown of Baixing in his eyes,
then asked if I was job-hunting?
Why not send him a resume too?
Have him refer me internally?
I asked him where he’s working now,
he said at Zaihui, a startup.
My first impression was that the name Zaihui didn’t sound impressive.
So I searched online,
and besides funding news and the official site,
I couldn’t find any meaningful info,
not even posts complaining about the interview.
I went to Zhihu and searched Zaihui,
no questions or answers came up,
only two people came up:
one was co-founder Zhao Yang,
the other was Zhou Cheng -_-…
At the time I always had a feeling that Zaihui wasn’t legit.
But Zhou Cheng seemed pretty happy now,
shouldn’t be a pyramid scheme?
(After all, I’ve heard lots of stories about people being dragged into pyramid schemes by acquaintances.)
Turned out, after a round of interviews and decisions,
I still joined this pyramid scheme called Zaihui :)
(this sentence is obviously a joke)
My company①, that is, Zaihui, makes SaaS systems.
Uh, actually I don’t really get this term either. So based on the current situation,
we mainly do membership system solutions for the restaurant industry.
Let me give an example.
Over the weekend my girlfriend and I planned to go out for a nice meal.
On Dianping we saw there’s an internet-famous restaurant in Shanghai called Secret Love Peach Blossom Spring,
so we decided to eat there.
After finishing the meal and paying,
the server prompted that scanning the QR code to become a WeChat member of Peach Blossom Spring lets us enjoy a discount of 5 off 100.
So happily I scanned the QR code on the table,
then followed Peach Blossom Spring’s official account,
and after that paid within the official account using WeChat Pay.
A week later,
one day Peach Blossom Spring’s official account suddenly sent me a coupon saying “Peach Blossom Spring is always by your side, 10% off your next visit”.
However wealthy me didn’t want to make a trip for 10% off, unmoved.
Zaihui’s membership system then learned that small discounts couldn’t move this customer.
Another two weeks later, I suddenly received a coupon with a bigger discount of 20% off…
Because that restaurant had nice flavor and atmosphere,
I eventually went back for another meal :)
That’s right, in the paragraph above, all the bold words
except Dianping are our company’s business~
What Dianping does more of is acquiring new customers, driving traffic.
What our company does more of is retention, maintaining membership relationships.
For example, our company has a classic customer case.
The merchant is called Linglong Bao Banquet.
The store is in some corner near the Ele.me company…
Previously the traffic was average, no profit,
the boss had even thought about closing the store.
But after using our product,
the effect was outstanding!
Maybe various discounts attracted the Ele.me programmers…
Later when Ele.me people came to interview at our place,
they happily said:
“Hey I know Zaihui, I’ve used your product…”
Process and Result
Just like the line evil gang bosses use to scold their underlings:
“Idiot, our cause is just!” —
many times the experience is unique and varies from person to person.
I really like my current job.
One reason is the process of doing things is very agile.
Yes, that’s the Agility,
each point of agility adds 1 to attack speed②. :)
A few months ago I wrote a bug.
It was for a WeChat interface.
The documentation specified the interface must return the seven lowercase letters “success”.
But sometimes WeChat would send us error messages not mentioned in the docs,
and I naturally replied with “fail”…
So,
code written on day one,
new version released that night,
the next day all our official accounts errored out and stopped working……
This is agile…
(Of course we fixed it after researching for a bit.)
We also have a merchant called Yushuwan / Huji Lan③.
They had a requirement
that ordering a set meal would come with a free Didi coffee,
but to reconcile accounts,
this coffee’s price on the POS machine was one cent.
So a situation appeared where, when customers paid in the official account,
because the system gave them two free Didi coffees,
they ended up having to pay 100.02 yuan, which was annoying…
After learning about this in the morning,
we quickly discussed and researched,
decided and wrote a piece of code to specially handle the 0.01 yuan case,
then released another version,
so customers paying in the afternoon didn’t have to pay those extra cents anymore.
This is also agile…
Besides the agile process,
another great thing is the transparent results.
That is, everything we do
gets reflected very quickly and clearly.
A while back when we were doing Growing Hack,
we formed a Normandy Squad④.
Their mission was to go to the stores and eat and drink on company expense to observe how customers use our product.
Then the bosses would complain to them
about how the POS machine is hard to use,
the payment flow is too complicated,
customers don’t want to join membership,
the POS machine is hard to use, and so on.
At times like these the squad members could only bitterly smile and take the heat for everyone…
Another surprising thing
is when I came for the interview,
frontend daddy Tongji great-master Jingge⑤ during the interview
pulled out his big laptop,
connected to the database,
did a direct SELECT COUNT,
and directly showed me how many user records, how many merchant records were in our database…
I was stunned, you can even play with the production environment like this, feels fun…
Since both process and results are pleasant,
plus writing code is inherently fun,
my daily routine is basically:
happily writing code,
happily releasing versions,
happily eating meals,
nervously fixing bugs,
happily releasing versions…
Backend Engineer
The current company is Zaihui, the tech team is fewer than 20 people, everyone is strong, I feel like I’m the weakest one inside :)
Just as I said in my personal intro, our tech team has fewer than 20 people ;)
Currently the division of labor is:
- 1 doing CEO (used to count as 1 tech, now maybe 0.5 tech)
- 2 Windows engineers (we need to Hack other people’s POS machines)
- 2 Android engineers (we need to write our own merchant-side App)
- 6 backend engineers
- All the rest are frontend engineers…
I’m one of the six backends.
The main responsibilities of backend are:
- Implement business APIs. For example, in the payment flow above, the pretty payment page seen in the official account is the frontend’s part; entering password to pay and then deducting money to merchant is the backend’s part.
- Manage databases. For example, the previously reported Hearthstone data loss, a hotel’s check-in record leak — these are all backend’s faults…
- Manage servers. For example, why is this damn webpage so slow is usually also the backend’s fault…
The language we usually use is Python.
This is a very simple language.
Even my HR girlfriend can learn it quickly
(Though compared to writing Python, she’s obviously more interested in watching Qipa Shuo…)
Though it seems I spend most of my time on Chrome…

In summary, these are my work.
I hope personal struggle can keep up with the march of history.
All is well.
① My company (我司): just shorthand for “my company”. Apparently Huawei used this word first, then it spread. Not a very formal word.
② Agility and attack speed: a meme from games. Many games divide characters into strength, agility, intelligence. Agility in games is usually a stat.
③ Yushuwan and Huji Lan: this restaurant makes Singaporean food, pretty tasty. Huji Lan (orchid) is Singapore’s national flower. The restaurant was originally called Yushuwan, then changed back to Huji Lan, more distinctive.
④ Normandy Squad: named after the Normandy landings. Our company has a style for naming things, e.g. Yangchen Yangxiao, Shenfu, SoftArticle, OnePiece, etc.
internal jargon…⑤ Frontend daddy: internal mutual-worship culture is prevalent. Analogous to how when toasting two people will compete to lower their cup and prostrate themselves on the floor, we also call each other XX-daddy, XX-boss, XX-master…