What Makes a Great CTO?

Câu hỏi: What Makes a Great CTO?
Chủ đề: RACI của CTO và CIO khác nhau thế nào?


The CTO will serve as the company spokesperson for the product development/technology organization, demonstrating leadership in the community, with developers, partners and customers. This is often measured by establishing a university relations/recruitment program, and sponsoring or participating in at least two events per year in the developer community.​


Build an excellent organization, with a strong management team committed to developing the skills of your employees. We typically measure effectiveness here by looking at development plans for all of the employees, the retention rate, and the evaluation of the managers and the overall product organization by the rest of the company.


Make sure this organization can rapidly, reliably and repeatedly deliver quality product to market. There are several measures of delivery, including some measure of the quantity of work delivered, the consistency and frequency of release vehicles, and the quality/reliability of the delivered/launched software. Some organizations just look at reliability here, but productivity in the sense of quantity and quality is the real key.


Make sure the company has an architecture necessary to deliver the functionality, scalability and performance it needs to in order to compete and thrive. The measures for architecture will vary based on your business, but in general we look to track and measure headroom/infrastructure work, and measure site outages due to architectural issues.


Make sure that the architecture and senior engineering staff are participating actively, and contributing significantly, throughout product discovery. If your engineers and architects are only being used to write software then you are only getting a fraction of the value from them you should be. We suggest you track the participation of the product development/technology organization in product discovery (both duration and coverage), and the number of innovations that are credited to the engineering/architecture participant. It is also useful, although a little sensitive, to track changes to schedule post-discovery (churn), as you are always trying to reduce churn.

​ref. http://www.svpg.com/what-makes-a-great-cto/


Systems/services monitoring (Facebook, Twitter, Amazon, Zabbix)

Tham khảo:
– Để xây dựng KPI, metrics cho phần monitorings apps
– Xây dựng dashboard
– Xây dựng hệ thống API của hệ thống
– Xây dựng hệ thống API để theo dõi hệ thống (gọi từ ngoài, làm giống Twitter, Facebook, Amazon)
– Cách theo dõi/config với RESTful, JSON based với Zabbix.

– Có phần thương mại theo dõi app tốt, ví dụ như ca.com không?
– Hệ thống có gì cần phải theo dõi, xây dựng/thay đổi APIs của nó ra sao?
– Dùng Zabbix thì theo dõi/thỏa mãn được gì?
+ Server?
+ Network
+ Tải
+ (Web) Service (APIs)

Twitter API Status:
Current Performance and Availability Status for APIs/services https://dev.twitter.com/overview/status
Performance and Availability History https://dev.twitter.com/overview/status

ref. http://www.ca.com/us/default.aspx

Facebook Platform Status
# https://developers.facebook.com/blog/post/557/

"current": {
"health": 1,
"subject": "Facebook Platform is Healthy"
"push": {
"status": "Complete",
"updated": "2015-02-13T01:07:42-08:00",
"id": 54587942

Monitoring with Zabbix APIs: https://www.zabbix.com/documentation/3.0/manual/api
Monitoring External APIs (RESTful, JSON based) with Zabbix: https://www.zabbix.com/documentation/3.0/doku.php?id=manual/config/items/itemtypes/external
Zabbix còn nhiều chức năng thú vị nữa.

Install Vietnamese keyboard IME for Sublime 3 on Ubuntu 14.04

29 cd .config/sublime-text-3/Packages/
32 sudo apt-get install git
33 git clone https://github.com/pirackr/Sublime-Bogo.git
34 cd Sublime-Bogo/
36 git reset –hard
37 git pull origin master
38 cat /etc/os-release
VERSION="14.04.1 LTS, Trusty Tahr"
PRETTY_NAME="Ubuntu 14.04.1 LTS"

“bạn không đau đầu về những người ra đi, bạn đau đầu về những người ở lại”

Giữ được nhân viên hay không, phần lớn do sếp (trực tiếp). Anh có đủ lý thuyết và kinh nghiệm về chuyện đó.

Hơn nữa, người ta nói: "bạn không đau đầu về những người ra đi, bạn đau đầu về những người ở lại". Nghĩa là, đi nhiều không phải là vấn đề, vấn đề là người ở lại có làm được việc không.

"Most people don’t quit their jobs, they quit their managers"

​Tham khảo: https://www.flickr.com/photos/vuhung/12461011705/

Compare DeployGate and TestFlightApp


– Japan’s mixi đang dùng
– Crowd based testing
– free to try: 4 apps, 20 devices, +2 pax
– real-time testing
– Không cần SDK, device ID để test

Dùng thế nào?
– Test thử app của mình trên nhiều, nhiều thiết bị (mà bên phát triển không có)

Ghi chú thêm:
– Với apps, đặc biệt là Android based, bên phát triển không thể có đủ thời gian, công sức, tiền bạc để test trên tất cả, hoặc chí ít là nhiều thiết bị khác nhau
– Số lượng devices rất nhiều: Android 2.x, 3.x, 4.x, 5.x, iOS cũ/mới, của rất nhiều hãng khác nhau
– Người dùng thật trải nghiệm rất khác nhau
– Với dự án không có QA chuyên dụng thì nên dùng những dịch vụ test on-the-fly, crowd based

DeployGate vs. http://testflightapp.com:
– Đều dùng để test
– Nhưng mỗi dịch vụ có cách test khác nhau
– Nên phối hợp cả hai (nếu đủ kinh phí)

Biz plan: $120/month, 100 apps, 30000 devices, +100 pax.

Giới thiệu: