Bài viết được sự cho phép bởi tác giả Vũ Thành Nam Đây là bài viết tiếp tục chặng đường trở thành SA của mình mà mình có đề cập đến trong bài viết “Software Architect – Con đường chẳng hề dễ dàng“. Đúng là một con đường chẳng hề dễ dàng. Bài viết này mình đã tổng hợp được những kỹ năng cụ thể cần phải đạt được khi dấn thân vào con đường đầy chông gai này, có thể sau này mình có vững tâm rẽ theo con đường này hay không thì bài viết này mình cũng xin chia sẻ những kỹ năng này tại đây để các bạn cũng có thể nắm được như mình tại thời điểm hiện tại. Cùng đi tiếp nghiệp Architect sẽ gồm 3 level cơ bản sau: Application Level: Đây là level thấp nhất, nó tập trung vào một ứng dụng riêng lẻ, thiết kế kiến trúc chi tiết nhưng ở mức thấp, sẽ phải làm việc chủ yếu với [...]
Read more →Bài viết được sự cho phép bởi tác giả Vũ Thành Nam Bài viết sau đây chỉ ra những kỹ năng mà mình cần hướng tới để có thể tiếp tục trên con đường trở thành một Software Architect (SA) của bản thân mình, có thể nó đúng, có thể nó sai, có thể rằng một ngày nào đó mình dừng chân ở một vị trí nào đó khác với vị trí này, nhưng mình vẫn muốn viết lại để có thể lưu lại và chia sẻ những giai đoạn mà mình lựa chọn nó. Sau này đọc lại chắc sẽ vui lắm đây! Đầu tiên phải nói là với vị trí này thì mình nhận ra được rằng phong cách việc mỗi người mỗi vẻ, chẳng ai giống ai trong quá trình quan sát các anh chị đi trước, và cũng đã từng làm việc cùng với rất nhiều các anh SA. Giống như việc một kỹ sư thiết kế, không nói đến việc những tiêu [...]
Read more →Khi xây dựng một hệ thống lớn dành cho các tổ chức, công ty thì việc thiết kế, phát triển và quản lý được một giải pháp kiến trúc để vận hành là một công việc đòi hỏi những kỹ năng chuyên môn cao. Vì thế mà vị trí Solution Architect – Kiến trúc sư giải pháp thường được đảm nhiệm bởi các kỹ sư có nhiều năm kinh nghiệm cùng với những hiểu biết sâu sắc về các công nghệ liên quan. Bài viết hôm nay chúng ta cùng nhau tìm hiểu về Solution Architect là gì và những kỹ năng cần có của một Solution Architect nhé. Solution Architect là gì? Khi một tổ chức, công ty hay doanh nghiệp đối mặt với nhu cầu chuyển đổi các quy trình và hệ thống để có thể đáp ứng được các yêu cầu kinh doanh mới; họ sẽ cần tìm ra được một danh sách các hoạt động cần phải làm theo trình tự từ [...]
Read more →Solution Architect là một vị trí rất quan trọng trong các tổ chức, công ty phần mềm hay phát triển sản phẩm, đóng vai trò quyết định đến sự thành công của một dự án hay một sản phẩm. Vị trí Solution Architect thường đòi hỏi kinh nghiệm làm việc ở trong ngành từ trên 5 năm cùng với những kiến thức chuyên sâu liên quan đến kiến trúc hệ thống và các nguyên tắc thiết kế. Hôm nay chúng ta cùng nhau điểm qua những câu hỏi phỏng vấn mà nhà tuyển dụng thường hỏi cho vị trí Solution Architect nhé. Solution Architect là gì? Solution Architect (SA) hay kiến trúc sư giải pháp phần mềm là người có vai trò đưa ra giải pháp, tính năng của sản phẩm phục vụ và đáp ứng theo yêu cầu của khách hàng. Đối với một sản phẩm phần mềm luôn có những yêu cầu về mặt chức năng (functional) và phi chức [...]
Read more →Software Architect, chức vụ chỉ nghe thôi đã thấy to, vậy phỏng vấn Software Architect có gì đặc biệt? Những câu hỏi và nội dung kiến thức nào thường được đề cập khi phỏng vấn Software Architect? Trách nhiệm của Solution Architect là làm sao đặt business logic vào không bể nha anh em. Là một người chịu trách nhiệm lớn cho sự thành công hay thất bại của dự án phần mềm. SA là công việc stress. Nhưng trách nhiệm lớn đồng nghĩa với lương cao. Tất nhiên lượng kiến thức nằm trong đầu cũng thuộc dạng khủng khiếp. Thử lướt xem mấy câu hỏi phỏng vấn SA thì có gì nào? Rồi, bắt đầu thôi anh em! Dạo qua vài ba câu định nghĩa chưa có gì khó. Phần sau sẽ là những câu hỏi khó hơn. 1. Software Architect là gì? Câu hỏi đầu tiên phỏng vấn Software Architect chưa đi ngay vào các khái niệm kiến thức mà đi và [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Solution Architect hay còn được gọi là Kiến trúc sư Giải pháp là một job title trong các công ty software. Bài viết này nhằm cung cấp cho các bạn đang là software engineer một lộ trình để có thể up skill của mình lên vai trò mới là Solution Architect. Lưu ý bài viết chỉ mang tính chất tham khảo từ kinh nghiệm cá nhân của mình. Trước tiên, định nghĩa về Solution Architect Có rất nhiều role về Architect trong một doanh nghiệp bao gồm: Enterprise architects, Domain architects, Solution architects, Data architects, Technical architects, Security architects, Infrastructure architects, Application architects hoặc thậm chí là Cloud Architect như AWS Architect hoặc Azure architects, … Bài viết này không nhằm mục đích là giải thích từng role architect ở trên, mà tập trung vào Solution architects. Có thể hiểu Solution Architect là người chịu trách nhiệm xây dựng giải pháp cho một bài toán hoặc yêu cầu cụ thể từ phía khách hàng. [...]
Read more →Bài viết được sự cho phép của tác giả Kiên Nguyễn Reverse Array là bài toán phổ biến mà bất cứ kĩ sư phần mềm nào cũng cần phải hiểu rõ và áp dụng thành thục. Mở rộng ra cho cả string và các bài toán khác. Cùng tìm hiểu một số lời giải cơ bản cho Array ngay thôi nào! [irp posts="9791" name="5 điều NÊN và KHÔNG NÊN khi review tăng lương mà lập trình viên nào cũng nên biết!"] [irp posts="2344" name="Code Review Done Right – Đừng để chỉ Chúa mới hiểu code của bạn!"] 1. Reverse Array với ESTCV Approach Làm việc với Array tất nhiên phải chú ý tới complexity (độ phức tạp). Arrays provide O(1) lookup by index (Tìm kiếm theo index trên Array luôn có độ phức tạp nhỏ nhất O(1) Ngoài đảo ngược Array, cũng có một bài toán khác khá hay liên quan tới Array là duplicate item trong array. Given an array of numbers, replace each even number with two of the same number. e.g, [1,2,5,6,8] -& [...]
Read more →Bài viết được sự cho phép của tác giả Kiên Nguyễn Nearest Neighbors Search (Tìm kiếm người hàng xóm gần nhất trong khu dân cư) là bài toán phổ biến được nhiều người biết tới. Vấn đề đặt ra trong bài toán này cũng là vấn đề mà các hãng gọi xe lớn như Grab, Uber, GoJerk đã giải quyết. Đặt xe ở vị trí A, tìm tài xế gần nhất trong phạm vi 3km hoặc mở rộng hơn nếu không có tài xế. [irp posts="35456" name="Cài đặt Elasticsearch trên CentOS"] [irp posts="33552" name="Function-Score trong Elasticsearch"] Giải quyết tốt bài toán này cho ta phương án hoàn hảo để thiết kế các hệ thống lớn như đặt xe với Uber hay Lift. Phát triển các ứng dụng hẹn hò dựa theo vị trí như Tinder, … 1. Về Nearest Neighbors Search Nearest Neighbors Search is the optimization problem of finding the point in a given set that is closest (or most similar) to a given point. Closeness is typically expressed in terms of a dissimilarity function: the less similar the objects, the larger the function values. Nearest Neighbors [...]
Read more →Bài viết được sự cho phép của tác giả Tino Phạm Một developer trẻ nói với Chú của mình về việc cậu ta muốn trở thành một Software Architecture trong tương lai. Sau đây là cuộc nói chuyện giữa hai chú cháu. Con muốn sau này trở thành một Software Architecture (kiến trúc sư phần mềm). Con có định hướng cho mục tiêu nghề nghiệp vậy là tốt lắm đó. [irp posts="6630" name="10 Công cụ Go-To Tech dành riêng cho các Software Developer"] [irp posts="19795" name="Biến Git và GitHub trở thành công cụ đắc lực cho Software Engineer"] Con muốn được dẫn đầu một nhóm và đưa ra các quyết định quan trọng như chọn loại Database nào, Framework nào, Web API thế nào và dùng những công nghệ nào cho dự án. Khá đó chứ. Nhưng nghe có vẻ như con không phải muốn trở thành Software Architecture nữa. Tất nhiên là con muốn chứ. Con muốn trở thành một người quyết định tất cả những thứ quan trọng. Chú biết [...]
Read more →Bài viết được sự cho phép của tác giả Tino Phạm Là dân IT hẳn mọi người không còn xa lạ với cụm từ Software Architect (SA) – ở đây mình tạm dịch là kiến trúc sư phần mềm. Tuy nhiên không phải ai cũng hiểu được vai trò, trách nhiệm, công việc thực sự và con đường sự nghiệp của một SA. Đây là những câu hỏi mà mình đã từng đặt ra khi bước vào những nấc thang đầu tiên của vị trí này. Mình tự đi tìm lời giải đáp cho bản thân. [irp posts="6630" name="10 Công cụ Go-To Tech dành riêng cho các Software Developer"] [irp posts="4373" name="Các nền tảng tuyển dụng tốt nhất dành cho Software Engineer l Cập nhật năm 2017"] Phân loại kiến trúc sư phần mềm Thật ra có nhiều cách để phân loại kiến trúc sư phần mềm. Tuy nhiên, ở đây mình sử dụng cách phân loại của Microsoft. Đây cũng là một cá [...]
Read more →Bài viết được sự cho phép của tác giả Tino Phạm Đây là hai vai trò thường xuất hiện trong cơ cấu của các doanh nghiệp làm công nghệ lớn. Các doanh nghiệp sẽ có bảng mô tả công việc không giống nhau cho cùng một vị trí, kể cả Solution Architect và Software Architect, ở một góc nhìn tổng thể từ các doanh nghiệp thì cải hai vai trò này có một số điểm khác biệt lớn. [irp posts="31721" name="Giới thiệu về Clean Architecture – Phần 1"] [irp posts="17365" name="Mẫu bảng công việc Solution Architect mức lương hấp dẫn"] Solution Architect thường tham gia cùng với đội kinh doanh (giai đoạn dự án chưa được hình thành) để nắm được các vấn đề kinh doanh của khách hàng, hoặc các cơ hội kinh doanh và đề xuất các giải pháp thiết kế hệ thống để loại bỏ các ràng buộc trong hoạt động kinh doanh. Software Architect được hình thành với mục đích biến giải pháp kiến trúc đề xuấ [...]
Read more →Big data là gì? - Thực chất Big data có phải chỉ là câu chuyện của data? Trong mục chuyên gia nói kỳ này, cùng TopDev tìm hiểu về khái niệm Big data đã quá phổ biến trong làng công nghệ, và những công việc xung quanh một data scientist. Về khách mời Phạm Hoàng Việt Người trả lời phỏng vấn là anh Phạm Hoàng Việt - CTO/CIO tại Datamart Solutions: Founder của Datamart Solutions - một startup đã đoạt giải Quán quân startup Việt 2018 với giải pháp bán hàng đa kênh tự động PowerSell Dành khoảng thời gian dài làm việc tại các tổ chức, trường đại học lớn tại Châu Âu. Sau đó trở về Việt Nam và làm việc tại Lazada ở vị trí Data Scientist. Việc làm tuyển Data Analytics nhiều ngành hấp dẫn Anh có thể giới thiệu sơ về bản thân và công việc hằng ngày của mình tại Datamart Solutions được không? Xin chào, mình là Việt, đồng [...]
Read more →Với những trang thương mại điện tử lớn, có những ngày lượt truy cập lên tới hàng triệu mỗi giây. Vậy cách giải quyết của những kiến trúc sư - architect trong những tình huống trên là gì? Cùng trò chuyện cùng anh Trần Phong Phú - Solution Architect đến từ Sendo để học hỏi kinh nghiệm của anh khi đưa ra được cái nhìn tổng quát để có những giải pháp cho từng vấn đề của hệ thống. Xem thêm Solution Architect là gì? Vai trò của họ trong vận hành hệ thống? Vài nét về khách mời Trần Phong Phú Về công ty Sendo: Là một công ty công nghệ do chính đội ngũ kỹ sư con người Việt Nam xây dựng nên. Vai trò và sứ mệnh của Sendo được đóng gói rất đơn giản, dùng thương mại điện tử đại diện cho quốc gia. Đảm nhận vai trò Solution Architect, công việc của anh xoay quanh: Đóng góp vào sự phát triển tố [...]
Read more →Để trở thành Solution Architect thì nên bắt đầu từ đâu? Đâu là những hiểu lầm và suy nghĩ sai về nghề Solution Architect? Làm sao để tiến xa hơn với vị trí Solution Architect? Hãy cùng trò chuyện và gặp gỡ “thủ lĩnh” Solution Architect tại TIKI - anh Lê Minh Nghĩa, sẽ chia sẻ tất cả những kinh nghiệm và góc nhìn lâu năm trong nghề mà bất cứ Architect nào cũng quan tâm. Solution Architect là gì? Theo anh một Solution Architect có vai trò như thế nào ở một công ty Thương mại điện tử (TMĐT)? Anh có thể giới thiệu một cách khái quát về công việc của mình ở thời điểm hiện tại? Mình gia nhập team cách đây 3 năm từ hồi cuối 2016 với vai trò là Solution Architect, hiện nay mình đang là Senior Technical Architect tại TIKI. Đối với mình, công việc Architect khá thú vị, và điều mà mình thích nhất đó là trải nghiệm - mình có thể nhìn thấy toàn bộ hệ thống phát triển như thế [...]
Read more →Solution Architect là người đưa ra kiến trúc để xây dựng phần mềm đáp ứng được các yêu cầu về functional và non-functional của phần mềm đó. Ngoài ra, trong nhiều dự án thì Solution Architect cũng phải tham gia vào cả giai đoạn phân tích nghiệp vụ cùng với Business Analyst. Hy vọng, Mẫu bảng mô tả công việc Solution Architect này sẽ giúp các bộ phận nhân sự dễ dàng hơn cho việc tuyển dụng những vị trí này. Mẫu bảng công việc Solution Architect YÊU CẦU CÔNG VIỆC Có kinh nghiệm cao với ít nhất một ngôn ngữ lập trình Hiểu biết nhiều framework, biết cách áp dụng các framework đó để giải quyết các bài toán cụ thể. Cần có tư duy thiết kế theo Pattern, áp dụng các Pattern sẵn có vào solution để tăng chất lượng và độ tin cậy. Kỹ năng viết tài liệu một cách khoa học, logic, rõ ràng và dễ hiểu Kỹ năng tư duy logic và thuậ [...]
Read more →