#102 - 5 bài học rút ra từ 20 năm sự nghiệp lập trình.
Những bài viết hay
5 bài học rút ra từ 20 năm sự nghiệp lập trình — daedtech.com
Cuối năm là lúc mọi người nhìn lại bản thân sau 1 năm phát triển. Tuy nhiên Erik Dietrich lại chơi khá lớn khi nhìn nhận lại cả sự nghiệp 20 năm trong nghề của mình. Với khoảng thời gian dài như vậy, chinh chiến qua nhiều vị trí programmer, architect, consultant, author, and technologist, những bài học của Erik cũng rất đa dạng từ khía cạnh kỹ thuật cũng như quản lý và kỹ năng mềm.
Sự cố Table lock của Postgres khi cập nhật một dòng — blog.heroku.com
Một kỹ sư ở Heroku đã gặp phải một vấn đề khi vận hành database Postgres. Một câu lệnh cập nhật một dòng theo UUID về lý thuyết thì chỉ thực hiện một lệnh row lock nhưng thay vào đó lại là một lệnh table lock. Những bước để tìm hiểu nguyên nhân gây ra lệnh table lock đó được tác giả trình bày cụ thể trong bài viết này.
Làm sao để trở thành 1 Technical Lead? — docs.google.com
Technical Lead là một vị trí mà rất nhiều các lập trình viên đặt mục tiêu trên con đường sự nghiệp. Vai trò và những kỹ năng cần thiết của vị trí Technical Lead lại được định nghĩa tùy thuộc vào nhu cầu của mỗi công ty. Một nhóm kỹ sư tại Uber đã cùng nhau đưa ra một tài liệu kim chỉ nam về vai trò, nhiệm vụ, trọng trách của người Technical lead mà họ mong muốn. Bài đọc sẽ giúp bạn đọc hiểu được những điều cần thiết để trở thành Technical lead trên con đường sự nghiệp của mình.
Event Bus Implementation(s) - By Mustafa Turan
Mô hình thiết kế hướng sự kiện (Event-Driven Architecture) ngày càng phổ biến, và dường như là một phần không thể thiếu trong các mô hình SOA hay microservices. Ý tưởng chính của mô hình này là nhận event từ một service (producer) và chuyển nó tới các services khác (subcriber/consumer). Đây chính là công việc của Event Bus. Có nhiều cách để xây dựng Event Bus. Ở bài viết này, tác giả sẽ chia sẻ 4 cách để xây Event Bus cũng như phân tích ưu và nhược điểm của từng cách.
Có thể bạn chưa biết
Trong quá trình tìm việc hoặc ứng tuyển một công việc mới, bạn đã từng rất tập trung vào những yêu cầu của mô tả công việc. Nhận ra mình không thể đáp ứng được 50% của yêu cầu, bạn thất vọng và bỏ qua cơ hội. Tuy nhiên sự thật là đàn anh đàn chị trong nghề có thể chẳng mấy quan tâm đến phần yêu cầu này và thứ khiến bạn bỏ cuộc chính là nỗi sợ bị từ chối.
Bài viết này sẽ giúp bạn hiểu thêm về nỗi sợ, và cách vượt qua nó
Code & Tools
Những công cụ miễn phí cho lập trình viên — github.com
Danh sách các tool & service (bao gồm các loại Iaas, Paas, SaaS) được cung cấp miễn phí
(Very) Basic Shamir's Secret Sharing - Qvault — qvault.io
Ví dụ đơn giản mô tả cách tìm mã bí mật trong phương pháp SSS (Shamir's Secret Sharing) sử dụng tool qvault.io
This week sponsor
KMS Technology
Thành lập năm 2009 với trụ sở chính tại Atlanta (US), KMS Technology cung cấp 3 dịch vụ chính: Gia công phần mềm (Software Outsourcing), đầu tư & phát triển sản phẩm công nghệ (Tech-Startup incubator), tư vấn dịch vụ giải pháp kỹ thuật. Với đội ngũ hơn 1000 nhân viên, KMS hướng đến khách hàng toàn cầu, từ các công ty startup đến các tập đoàn công nghệ lớn. Một số sản phẩm từ KMS đã được tín nhiệm trên thị trường thế giới: QASymphony, Katalon Studio, Kobiton. KMS Technology xây dựng một nơi làm việc năng động sáng tạo, chọn con người làm nền tảng văn hoá, nhiều năm liên tiếp nằm trong danh sách các nơi làm việc tốt nhất tại Việt Nam và Atlanta (Mỹ).
Góc tuyển dụng
Từ nay đến hết tháng 12/2019, các bạn engineer sẽ nhận được 1 tháng lương thưởng khi gia nhập KMS với các vị trí sau: http://bit.ly/KMS-bonus
Quote
"Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet. ”
- Michael A. Jackson