How to make agile work as a developer? (Pt. 2)

Previously in Pt. 1, we have discussed why developers in Hong Kong or Taiwan think scrum is not working for them and one of the tactics on how to start the discussion with other stakeholders on the day to day activities of you and your team. Let’s discuss more about tactics we are using in GOGOVAN.

Read More

How to make agile work as a developer? (Pt. 1)

Today I came across a very thought provoking post about why scrum / agile doesn’t work in most of the company in Taiwan1. In essence, the author make a point that as a senior developer of the team, beside of coding features and improving infrastructure, he has to deal with many non-development duties such as mentoring junior developers and attending business meetings as developer representative. Doing these duties don’t count in the sprint and most of the time he had to work overtime and make up for the misses. This triggers a lot of comments, I am also in. I asked about how we should solve this problem and the author replied with one of the post he had written some times later.2

Read More

好似好耐冇寫野

近排香港啲統治者好似short左咁連自己母語都唔敢認。唔知幾時我地會怕到連自己母語都敢講唔敢寫。我個人好衰,越唔俾做越唔make sense 嘅規則越會去打破。咁我幾中意寫野,寫野可以令我飛黎飛去嘅思想理順一下。一路寫一路可以諗清楚自己想講咩,想講一個點嘅故仔或者令人明白一個點嘅concept。

Read More

1 function to call when setInterval has failed you

From time to time, we have to check if something is finished, or a particular script has been loaded successfully in the browser, we would make use of the setInterval() function in the vanilla Javascript. This function can be traced all the way back when Javascript first came out. We should be all familiar, but seldom use the function due to the advancement of Javascript libraries and framework. The function is useful, but it has 1 problem. The problem is that in a low latency requirement, this function cannot meet the demand of periodically to run, as soon as possible. Even if you call like this,

Read More

Why Machine learning tools need GPU to shine — a deeper look from software perspective

 In our previous article, we have discovered GPU programming in the most unexpected place - an API of a SaaS product. It is the JQL of Mixpanel. And in this article we will explore further about the relationship of GPU programming and machine learning or deep learning. They are the most trendy terms in the tech world nowadays. So what is the connection between machine learning / deep learning tools and GPU programming? I guess every software developers will immediately scream “parallelization” and call it a day. But why is that so? Why is parallelization has anything to do with machine learning and GPU programming?

Read More

Reducer in Mixpanel API is weird, but genius

Mixpanel had been a crucial tool in my previous 2 startup jobs. We have to compile a lot of different views for our team to make decision based on the Mixpanel data. They can be very different and flexible. This flexibility is the key to mixpanel’s success. To leverage this, they need a very comprehensive query language for developers/marketers to perform complex queries on the data.

Read More

Get Things Done has a new mission

Starting from February, Get Things Done will become a platform for product developers and data analysts to write about their learnings on those topics. Topics may include “how to better develop an X product in Y language” or “How to start competing in Kaggle?”. To start out, I will post a long article monthly on a topic of choice.

Read More

新年新氣象

2016對於很多人是一個變動的一年。很感恩,我在這一年得到的很多。年頭上班的公司雖然正式關門,幸有在MPayme時的上司聯絡,合作完成了一個項目,以解燃眉之急。舊老闆也把他的員工我推薦到投資者和朋友之間。初時面試並不順利,一次被拒絕的原因,到今天仍未釋懷。因為在幹了近五年工程師,被回絕的原因是「不夠senior」。我深刻反思了這個答案,十分感謝我的戰友們。回想我的職涯上,的確對大型系統後端經驗不足。終於輾轉之下,得到舊金山的一間初創公司面試,成功得到了一個機會,到舊金山和矽谷闖了一下。初時仍然有點猶豫,幸得家人和女友支持,才能下定決心,闖蕩江湖。

Read More