The Basic of Production

  • The basic requirements of production: to build and deliver products in response to the demands of the customer at a scheduled delivery time, at an acceptable quality level, and at the lowest possible cost.
  • production flow: limiting step. We plan our flow around the most critical step.
  • Three fundamental types of production operations: process, assembly, and test.
  • trade-offs between various factors: manpower, capacity, and inventory, reduce the understanding to a quantifiable set of relationships.
  • Adding Value: all production flows have a basic characteristic: the material becomes more valuable as it moves through the process.
  • Common rule: detect and fix any problem … at the lowest-value stage possible.

from High Output Management by Andrew S.Grove

Tuyển dụng FPT.AI

Ban Công nghệ Tập đoàn FPT đang xây dựng platform về trí tuệ nhân tạo (AI) và xử lý ngôn ngữ tự nhiên (Natural Language Processing). Qua platform này, các nhà phát triển (developers) và startups trong FPT  nói riêng và ngoài cộng đồng nói chung sẽ dễ dàng áp dụng những kết quả công nghệ mới nhất trong lĩnh vực AI và NLP vào ứng dụng của mình.  Chúng tôi mong muốn tìm người nhiệt huyết và đam mê công nghệ cùng tham gia và chung tay xây dựng hệ thống. Hiện tại, chúng tôi đang có nhu cầu tuyển dụng những vị trí sau:

JavaScript Engineer

Tìm JavaScript Engineer có kinh nghiệm với những yêu cầu sau:

  • Am hiểu sâu về các công nghệ front-end: ngôn ngữ JavaScript, HTML5 và CSS3.
  • Quen thuộc với các ngôn ngữ server-side như PHP, Ruby, và Python.
  • Có kinh nghiệm phát triển ứng dụng web trên nền các framework hiện đại như React và AngularJS.
  • Có niềm đam mê tạo ra các giao diện tiện dụng cho người dùng.
  • Có khả năng phát triển sản phẩm nhanh từ ý tưởng.

System Developer

Tìm System Developer có kinh nghiệm với những yêu cầu như sau:

  • Có kinh nghiệm về software architect.
  • Thông thạo các ngôn ngữ hệ thống: Java, Scala, Python, Go. Có khả năng tự học ngôn ngữ lập trình mới.
  • Am hiểu và có kinh nghiệm sử dụng các hệ thống cloud computing (AWS), distributed architecture, container, etc.
  • Có kinh nghiệm về design pattern, thích viết code đẹp, thích open source.

Research Engineer (AI, Machine Learning)

Dự án FPT.Ai tìm người có kinh nghiệm về machine learning, artificial intelligence, và software engineering tham gia dự án:

  • Phát triển các thuật toán và giải pháp cho các bài toán xử lý ngôn ngữ (NLP) sử dụng state-of-the-art machine learning và neural network. (tự code giải thuật của mình)
  • Có khả năng phát triển và triển khai các giải thuật sử dụng môi trường kiến trúc hiện đại: cloud computing, distributed architecture, container, etc.
  • Có khả năng tự nghiên cứu để đưa ra giải pháp cho các bài toán do thực tiễn kinh doanh đề ra.
  •  Có bằng Master chuyên ngành Computer Science hoặc tương đương. (Thích giải quyết bài toán khó)
  • Thông thao các ngôn ngữ lập trình hệ thống: Java, Scala, Python, etc. Có khả năng tự học ngôn ngữ mới.

Các yêu cầu chung

Tất cả các vị trí ở Ban Công nghệ FPT đều cần những tố chất sau.

  • Khả năng giao tiếp. Tương tác vào phối hợp công việc với đồng nghiệp là kỹ năng thiết yếu của kỹ sư công nghệ. Chúng tôi tin rằng kỹ năng này không không chỉ cần ở FPT mà bạn cần nó ở bất cứ đâu.
  • Tự chủ động và có trách nhiệm. Bạn cần tự chủ động trong công việc và có tinh thần trách nhiệm cao hoàn thành công việc.
  • Tinh thần tìm tòi và học hỏi. Công nghệ thay đổi liên tục từng ngày, khả năng cập nhật kiến thức và thích ứng theo yêu cầu mời rất quan trọng trong môi trường làm việc hiện đại.

Thủ tục Đăng ký

Nếu bạn thấy thích thú với cơ hội trên, xin gửi email về địa chỉ anhtt55@fpt.com.vn kèm theo resume.

Phát triển sản phẩm theo chiến lược ‘mobile-first’

Tính chất quan trọng của nền tảng mobile đã làm xuất hiện một chiến lược phát triển sản phẩm mới, trong đó, người ta đảo lộn quy trình sản xuất hiện tại và bắt đầu thiết kế, phát triển phiên bản mobile đầu tiên, trước khi tiếp tục phát triển cho các nền tảng khác.

Trong thời đại mobile, smartphone là phương tiện đầu tiên khi mọi người muốn tìm hiểu một thông tin gì đó. Ví dụ: Thời tiết ngày mai mưa hay nắng? Món hàng này mua ở đâu thì rẻ nhất? Tình trạng dự án ra sao rồi? Smartphone đã trở thành vật bất ly thân với rất nhiều người, và người ta dù ở vai trò là người tiêu dùng, hay là nhân viên của một công ty, đều kỳ vọng tìm được thông tin họ muốn qua chiếc điện thoại của mình. Tuy vậy, với rất nhiều sản phẩm/dịch vụ online (digital products/services) thì phiên bản mobile lại luôn được thiết kế và thực hiện sau khi phiên bản web đã hoàn thành.

Chính vì tính chất quan trọng của nền tảng mobile, gần đây xuất hiện một chiến lược phát triển sản phẩm mới gọi là “mobile-first”. Tức là, chúng ta đảo lộn lại quy trình sản xuất hiện tại và bắt đầu thiết kế và phát triển phiên bản mobile đầu tiên, sau đó mới tiếp tục phát triển cho các nền tảng khác như desktop.

Các công ty nên phát triển những ứng dụng/dịch vụ của mình theo chiến lược “mobile-first” này vì mấy lý do. Thứ nhất là nền tảng mobile đang phát triển rất bùng nổ. Nếu một doanh nghiệp không có chiến lược cho nền tảng này, đồng nghĩa với việc doanh nghiệp đó không có chiến lược tăng trưởng. Thứ hai là, áp dụng quy trình “mobile-first” khi phát triển sản phẩm/dịch vụ sẽ cho ra sản phẩm chất lượng tốt hơn. Cuối cùng, mobile là nền tảng ưu việt hơn hẳn nền tảng web.

Mobile đã trở thành nền tảng công nghệ lớn nhất mọi thời đại

Công nghệ phát triển rất nhanh và liên tục thay đổi, cứ 10 năm một chúng ta lại chuyển đổi sang một nền tảng mới. Ở thập niên 60 của thế kỷ trước, chúng ta dùng nền tảng công nghệ máy chủ (mainframe), sang thập niên 70 là thời đại của minicomputers, thập niên 90 là thời đại của máy tính cá nhân (PC), thập niên 2000 là thời đại Internet (trên desktop), và hiện nay là thời của mobile (hay nói chính xác hơn là mobile Internet).

Với mỗi chu kỳ công nghệ mới, trung bình sẽ tạo ra số lượng thiết bị gấp 10 lần nền tảng cũ. Ước tính, chúng ta sẽ có hơn 10 tỷ (10B+) thiết bị (mobile) được kết nối Internet. Mobile đã trở thành nền tảng công nghệ lớn nhất trong lịch sử loài người.


Phát triển phiên bản mobile trước tiên sẽ giúp tạo ra sản phẩm tốt hơn
Điều này được phản ánh qua thực tế, doanh thu (revenue) đến từ kênh di động (mobile channel) đã trở thành nguồn thu chính của các hãng công nghệ hàng đầu. Facebook trong báo cáo tài chính quý 1/2015 thông báo rằng, 70% của doanh thu 3,54 tỷ USD đến từ mobile. Google cũng thông báo số lượng tìm kiếm trên mobile giờ đã vượt qua web. Việc không đầu tư đúng mức cho nền tảng mobile sẽ dẫn đến việc doanh nghiệp bị tụt hậu. Ví dụ điển hình nhất là Microsoft, theo dữ liệu của International Data Corporation (IDC), Windows Phone giờ chỉ chiếm 2,8% trong tổng số đơn vị sản xuất của quý 4/2014.

Thiết bị di động với hạn chế là kích thước màn hình nhỏ tạo ra động lực cho đội ngũ phát triển sản phẩm tập trung vào nhưng dữ liệu (data) và chức năng (functions/actions) quan trọng nhất. Khi diện tích bề mặt nhỏ, thì lượng thông tin có thể trình bày trên màn hình cùng một thời điểm sẽ bị giới hạn. Bởi vậy, thông tin (trên thiết bị di động) phải được trình bày tuần tự (sequentially). Điều này khác với giao diện desktop thông thường, khi các lựa chọn khác nhau thường được bày ra hết trên diện tích màn hình rộng rãi.

Với công nghệ màn hình hiện tại, mật độ điểm ảnh được tăng lên đáng kể, điều này sẽ giúp cải thiện chất lượng hiển thị hình ảnh là chính. Về diện tích vật lý của màn hình tuy có tăng nhưng sẽ không đáng kể; và đối với thiết bị di động chúng ta luôn gặp giới hạn về số lượng thông tin có thể trình bày vào cùng một màn hình.

Lấy ví dụ từ trang nghe nhạc trực tuyến ở Việt Nam để minh họa, dưới đây là sự khác biệt giữa giao diện mobile và giao diện desktop web của Zing MP3.

Giao diện trên desktop

Giao diện trên desktop web.

Giao diện trên mobile.

Giao diện trên mobile.

Phiên bản di động tâp trung vào một tác vụ chính (chơi nhạc), trong khi đó phiên bản web có rất nhiều tính năng khác nhau được hiện ra cùng một màn hình. Điều đó không có hàm ý là phiên bản web được thiết kế tồi, mà bài học ở đây là thiết kế trên di động ép ta phải tập trung vào những nội dung và tác vụ cơ bản nhất. Khi chúng ta xây dựng và thiết kế một ứng dụng hoặc dịch vụ trên nền di động trước, điều đó sẽ giúp ta cho ra sản phẩm tốt hơn.

Smartphone là nền tảng Internet ưu việt

Mọi người thường hay nghĩ phiên bản di động có giới hạn so với phiên bảng desktop web, và trên desktop web mới có đầy đủ tính năng. Tuy vậy, nhìn nhận một cách khác thì dùng Internet trên di động ưu việt hơn hẳn trên nền desktop web. Trên PC, Internet đồng nghĩa với trình duyệt (browser), chuột và bàn phím; trên mobile, mô hình tương tác phong phú hơn nhiều: iBeacons, push notifications, Touch ID, cameras, customer keyboards…. Smartphone cũng có nhiều thông tin dữ liệu về bạn hơn hẳn nền tảng web: Smartphone biết được bạn của người dùng là ai (contacts), người dùng đang đi bộ hay chạy, ảnh của người dùng, vị trí của người dùng (GPS)…

Chính vì những sự ưu việt đó, nên tảng mobile tạo ra những ứng dụng mà web không thể có. Ví dụ, Yelp, dịch vụ review online, đưa ra ứng dụng Yelp Monocle: “Ứng dụng sử dụng thông tin từ smartphone GPS và la bàn (compass) để hiển thị thông tin Augmented Reality về các quán ăn, nhà hàng rất trực quan”.

Chính vì nền tảng di động đã trở thành điện toán lớn nhất trong lịch sử loài người, smartphone đã trở thành vật bất ly thân gắn liền với đại đa số mọi người, ngoài ra việc phát triển ứng dụng trên mobile trước cũng giúp cho ra sản phẩm tốt hơn, thậm chí nền tảng mobile còn giúp đưa ra những ứng dụng mà nền tảng web không thể có; do vậy các doanh nghiệp cần phải thay đổi tư duy về mobile và áp dụng chiến lược phát triển “mobile first”. Điều này không chỉ còn là lý thuyết mà đã được các tập đoàn lớn áp dụng thành công cho cả các sản phẩm đại chúng (consumer-facing products) và cả các ứng dụng cho doanh nghiệp (business applications).

Bài được đăng trên báo Chungta.

On Opa programming language

HTML is a first-class citizen in Opa: it is a predefined data type with special support that allows it to be entered using its usual syntax.

If you are a web framework, then support HTML as a first-class citizen is useful and advantageous. In this case, Opa achieves that by inventing a new programming language. Is there other ways? Right off the top of my head, I would think of Tcl might be an candidate.

 

On soul

“Nobody can live without a soul, and once you start thinking that there is no soul, your life starts losing all meaning. The soul is your very integrating concept; without it you are cut away from existence and eternal life”
— Osho. “Bodhidharma: The Greatest Zen Master.”

Ego and Love

The ego is always motivated. Only if there is some purpose to be served will the ego come. But love is motiveless. Love is its own reward – Osho

Mobile First Strategy

TechCrunch has reported that “In China, more people now access the internet from a mobile device than a PC”; as people now (both from developing and developed countries) access Internet more from a mobile device, new products/services need to take Mobile First strategy seriously. It does not mean you have to limit your products/services on mobile only; but it is very hard to do well at both mobile and web at the beginning (the experimental phrase).

About teams

I can tell you what you need, for what it’s worth:

You need one person who’s good at solving problems, someone who has ideas, because problems always come up.

You need one person who’s good at human relations, who can keep the group functioning together.

You need one person who’s kind of a functionary, who’ll implement and get things done.

And you need a leader type who will push for results.

via http://dekorte.com/blog/blog.cgi?do=item&id=5061