Chào! Tất cả chúng tôi đều tìm đến đây vì chúng tôi thích làm việc trong lĩnh vực CNTT. Nhưng thay vì tìm hiểu chuyên ngành CNTT đầu tiên mà bạn bắt gặp, có lẽ bạn nên xem qua danh sách các lĩnh vực có thể có trong một công ty CNTT? Đây là phần thứ hai trong bài đánh giá ngắn của tôi. Trong phần đầu tiên , chúng tôi đã xem xét các chuyên ngành như Nhà tuyển dụng, Nhân sự, Quản trị hệ thống, DBA, DevOps. Hôm nay chúng ta sẽ xem xét các chuyên môn được coi là “xương sống” của bất kỳ nhóm nào và theo đó là một dự án. Nếu tôi làm sai điều gì đó ở đâu đó, đừng la mắng tôi quá nhiều mà hãy sửa lại cho tôi trong phần nhận xét: Tôi nhìn mọi thứ từ góc độ của một nhà phát triển Java và có thể đơn giản là tôi không biết sắc thái của tất cả các chuyên ngành.
6. PM - Quản lý dự án
Công việc của người quản lý dự án là lập kế hoạch, tổ chức, quản lý các dự án kỹ thuật một cách thành thạo và cải thiện giao tiếp giữa các thành viên trong nhóm để đảm bảo công việc được thực hiện suôn sẻ và hiệu quả nhất có thể. Các chuyên gia này phải biết nhu cầu của khách hàng và mục tiêu họ theo đuổi, đồng thời điều phối hành động của nhân viên nhiều nhất có thể để đưa dự án đi đến kết luận tích cực, hợp lý. Tích cực, vì không phải lúc nào dự án cũng có thể hoàn thành xuất sắc do một số nguyên nhân: ngừng tài trợ, khách hàng không hài lòng với công việc, v.v... Nhiệm vụ chính của Thủ tướng là điều phối một nhóm nhân viên để giải quyết vấn đề kỹ thuật, bởi vì các nhà phát triển không phải lúc nào cũng là những người siêu hòa đồng và không phải. Họ luôn có thể giao tiếp thành thạo với nhau, và điều này, đến lượt nó, chỉ có thể chống lại dự án. Chà, hoặc, chẳng hạn, nhà phát triển đã mắc kẹt ở một điều gì đó: anh ta có thể ngồi rất lâu và không biết cách giải quyết một số vấn đề. Tất cả chúng ta đều không muốn thừa nhận rằng chúng ta không biết hoặc không thể làm điều gì đó, và các nhà phát triển thậm chí còn hơn thế. Đây là nơi PM đến giải cứu , người sẽ giúp bạn tìm một người mà bạn có thể liên hệ để biết thêm thông tin hoặc người đã gặp phải điều gì đó tương tự. Trách nhiệm của Thủ tướng bao gồm:- thiết lập mục tiêu tổng thể của dự án;
- xây dựng kế hoạch để đạt được các mục tiêu này;
- duy trì thời hạn dự án và báo cáo tình trạng hiện tại;
- quản lý nguồn lực dự án (nhân viên và thiết bị kỹ thuật);
- cải thiện sự phối hợp tương tác giữa các thành viên trong nhóm dự án;
- theo dõi hiệu quả của dự án và tuân thủ tiến độ đã hoạch định;
- tiến hành đánh giá rủi ro cho các dự án;
- tổ chức nhiều cuộc họp để thảo luận về mục tiêu, tiến độ hiện tại, những mặt tích cực và tiêu cực của dự án.
- Tiếng Anh trên trung cấp trở lên, vì PM thay mặt nhóm giao tiếp với khách hàng;
- kiến thức kỹ thuật rộng, nhưng không sâu lắm, để có thể hiểu ai làm gì, công việc nói chung diễn ra như thế nào mà không cần đi sâu quá;
- kỹ năng quản lý các dự án và các nhóm tham gia vào chúng;
- kỹ năng giao tiếp tốt, vì công việc của PM chủ yếu bao gồm giao tiếp với các thành viên trong nhóm và quản lý;
- phát triển kỹ năng giao tiếp. Ví dụ: bạn thường cần gửi thư đến email của khách hàng thay mặt cho một nhóm hoặc công ty và sẽ không ai đánh giá cao một bức thư viết sai hoặc có sai sót;
- óc phân tích sẽ hữu ích trong việc giải quyết các vấn đề phát sinh khi thực hiện một dự án;
- kỹ năng quản lý thời gian, việc sử dụng kỹ năng này sẽ cho phép bạn duy trì các dự án đúng tiến độ và ngân sách (xét cho cùng, thời gian = tiền bạc);
- kỹ năng lập kế hoạch nguồn lực và nhiệm vụ.
- người quản lý phân phối ( DM ) là sự tiếp nối trực tiếp của PM -a, đứng ngay trên một nhóm PM và điều phối các dự án của họ ở cấp cao hơn;
- người quản lý chương trình - điều phối một số dự án liên quan đến nhau, nhưng bản thân tôi không thực sự hiểu sự khác biệt với DM;
- giám đốc kỹ thuật ( CTO ) - giám đốc kỹ thuật chịu trách nhiệm phát triển sản phẩm và cải tiến quy trình tạo ra chúng;
- giám đốc điều hành ( CEO ) - giám đốc điều hành;
- quản lý tài khoản ( AM ) - quản lý dịch vụ khách hàng;
- đào tạo lại và chuyển sang chuyên ngành khác))
7. Nhà phát triển giao diện người dùng
Nhà phát triển giao diện người dùng là nhà phát triển chịu trách nhiệm triển khai phần trực quan của ứng dụng mà người dùng nhìn thấy và tương tác trong ứng dụng web. Theo quy định, các chuyên gia này cộng tác với các nhà phát triển Backend , những người chịu trách nhiệm về phần logic (máy chủ) của ứng dụng, phần này tiếp tục phần trực quan của ứng dụng do các nhà phát triển Frontend tạo ra . Các nhà phát triển Frontend, giống như các nhà phát triển phụ trợ, là xương sống cho sự phát triển của bất kỳ dự án nào. Những người ủng hộ dự án. Rốt cuộc, bất kể công việc kinh doanh nào, nó đều dựa trên những người lao động bình thường, có thể nói, chăm chỉ. Vì vậy, các nhà phát triển hành động như những người làm việc chăm chỉ. Theo quy định, có nhiều người trong số họ hơn đại diện của các chuyên ngành khác và họ cần nhất trong bất kỳ dự án nào. Trách nhiệm của Frontend Developer bao gồm:- phát triển chức năng mới và cải tiến chức năng cũ;
- tái cấu trúc mã để cải thiện hiệu suất, đôi khi có thể bị ảnh hưởng nặng nề; khả năng đọc, để các nhà phát triển khác có thể nhanh chóng hiểu mã và logic của nó; khả năng mở rộng, để trong tương lai việc triển khai chức năng mới sẽ dễ dàng hơn bằng cách sử dụng lại các phần của chức năng cũ;
- xem xét (xem lại) mã được gửi đến máy chủ. Ví dụ: một nhà phát triển đã viết mã, một nhà phát triển khác đánh giá nó và có thể trả lại mã đó về mã đầu tiên kèm theo nhận xét về những gì cần sửa;
- giao tiếp với khách hàng và thành viên nhóm - cả nhà phát triển Frontend và Backend ;
- triển khai kỹ thuật bố cục UI/UX đồ họa do nhà thiết kế biên soạn;
- theo dõi hiệu suất ứng dụng;
- sửa lỗi (lỗi).
- Trình độ tiếng Anh - Trung cấp ;
- Hiểu biết về toàn bộ quá trình phát triển web (thiết kế, phát triển và triển khai);
- làm việc với Angular 5+ ;
- kiến thức về JavaScript , TypeScript , RxJS , Sass , webpack ;
- kỹ năng bố cục ( HTML , CSS );
- kỹ năng làm việc với Git ;
- hiểu các mẫu thiết kế;
- kiến thức tốt về Linux .
- tech lead - chuyên gia kỹ thuật (guru) trong lĩnh vực này;
- trưởng nhóm - trưởng nhóm phát triển (chỉ huy hiện trường). Từ đây bạn có thể phát triển thành một vị trí quản lý, ví dụ: CTO ;
- full-stack dev - nhà phát triển sở hữu cả phần backend và frontend , tức là bạn cần học về backend ;
- kiến trúc sư giải pháp - chuyên gia đưa ra quyết định về kiến trúc của thiết bị bên trong và giao diện bên ngoài của sản phẩm;
- tech Consultant - tư vấn kỹ thuật trong một số công nghệ;
- đào tạo lại và chuyển sang chuyên ngành khác.
8.Nhà phát triển phụ trợ
Nhà phát triển phụ trợ - tạo và cải thiện phần máy chủ chịu trách nhiệm về logic nghiệp vụ của ứng dụng, phần này kết nối với phần trực quan (giao diện) của ứng dụng (ví dụ: thông qua API REST ). Sự kết hợp giữa phần máy chủ của ứng dụng ( Backend ) + phần trực quan của ứng dụng ( Frontend ) tạo thành một ứng dụng web mà người dùng cuối tương tác. Các nhà phát triển phụ trợ chịu trách nhiệm tạo, duy trì, kiểm tra và gỡ lỗi toàn bộ phụ trợ. Điều này thường bao gồm logic ứng dụng cốt lõi, tương tác với cơ sở dữ liệu, tương tác với các API khác nhau và các quy trình nội bộ khác. Một chuyên gia trong hồ sơ này, ngoài kiến thức về cú pháp ngôn ngữ và các framework cơ bản, còn phải có kiến thức chung về cơ sở dữ liệu, đặc biệt là các cơ sở dữ liệu quan hệ , có khả năng viết các bài kiểm tra đơn vị và tích hợp cho mã của mình, có kiến thức về người xây dựng ứng dụng. - Maven hoặc Gradle , có thể sử dụng Git - ohm Trách nhiệm của nhà phát triển phụ trợ bao gồm:- phát triển chức năng mới;
- lập trình lại;
- xem xét mã từ các nhà phát triển phụ trợ khác ;
- viết tài liệu để giúp các nhà phát triển phụ trợ mới ,
- những người đến với dự án sẽ nhanh chóng hiểu được logic của ứng dụng;
- sửa lỗi;
- bài kiểm tra viết (đơn vị, bài kiểm tra tích hợp);
- giao tiếp với các thành viên khác trong nhóm.
- Trình độ tiếng Anh - Trung cấp ;
- kiến thức về Java Core - cú pháp của ngôn ngữ Java và một bộ công nghệ cơ bản;
- hiểu biết về toàn bộ quá trình phát triển web;
- kiến thức về ngôn ngữ SQL ;
- kiến thức về cơ sở dữ liệu quan hệ, chẳng hạn như PostgreSQL hoặc MySQL ;
- kỹ năng tương tác với cơ sở dữ liệu thông qua JDBC , Hibernate ;
- kiến thức về Spring framework cơ bản (Spring Core, Spring Data, Spring Web) ;
- kiến thức về Git , Maven ;
- Kỹ năng kiểm tra đơn vị và tích hợp, ví dụ như sử dụng JUnit và Mockito .
- trưởng nhóm công nghệ ;
- trưởng nhóm ;
- nhà phát triển full-stack - bạn cần học frontend ;
- kiến trúc sư giải pháp ;
- tư vấn công nghệ ;
- đào tạo lại và chuyển sang chuyên ngành khác.
9.Hướng dẫn đảm bảo chất lượng
Đảm bảo chất lượng thủ công là một chuyên gia làm việc để đảm bảo chất lượng sản phẩm, với mục tiêu là cải thiện chính quy trình phát triển ứng dụng, phân tích tài liệu và dựa vào đó để xác định các lỗi và điểm không chính xác trong hoạt động của sản phẩm. Thông thường, đảm bảo chất lượng được đề cập trong Sổ tay QA , bao gồm:- tiến hành đánh giá rủi ro;
- phân tích các thông số kỹ thuật và yêu cầu;
- đưa ra ý tưởng cải tiến chất lượng sản phẩm;
- lập kế hoạch kiểm tra;
- phân tích và ghi lại các kết quả thử nghiệm thu được.
- nghiên cứu các yêu cầu, thông số kỹ thuật và tài liệu khác;
- xem và kiểm tra hệ thống cũng như các đặc tính kỹ thuật của nó xem có tuân thủ thông số kỹ thuật hay không (danh sách các yêu cầu);
- phát triển các chiến lược và kế hoạch kiểm tra hiệu quả;
- viết kịch bản kiểm thử (test case), dựa vào đó QA Automation tạo ra các bài kiểm thử tự động;
- thực hiện thủ công các ca kiểm thử, phân tích kết quả;
- trong trường hợp xảy ra lỗi hoặc không nhất quán trong quá trình thử nghiệm, bạn cần lập báo cáo, tạo nhiệm vụ (tạo lỗi) và gửi cho nhà phát triển để cải tiến;
- thử nghiệm hồi quy sản phẩm;
- ghi lại các giai đoạn thử nghiệm;
- liên lạc với các nhóm phát triển về sự không nhất quán về chức năng và lỗi.
- Trình độ tiếng Anh - Trung cấp ;
- hiểu biết tốt về các phương pháp và thực tiễn đảm bảo chất lượng ứng dụng;
- kiến thức về kiểm tra hồi quy;
- khả năng ghi lại lỗi;
- kỹ năng xem xét chi tiết các yêu cầu phần mềm;
- định hướng kỹ thuật cơ bản;
- hiểu JSON , XML ;
- kiến thức cơ bản về SQL ;
- kỹ năng làm việc với các công cụ tổ chức tài liệu kiểm tra, ví dụ - Testrail ;
- sự chú ý đến chi tiết;
- tư duy phê phán.
- QA lead - người đứng đầu QA trong team;
- đào tạo lại và chuyển sang chuyên ngành khác, chẳng hạn như trở thành nhà phát triển frontend hoặc backend .
10. Tự động hóa QA
QA Automation là chuyên gia về chất lượng sản phẩm, người sử dụng nhiều công cụ phần mềm khác nhau để tạo các bài kiểm tra dựa trên các tập lệnh được viết bởi cá nhân hoặc bởi QA Manual . Tự động hóa QA giống như cấp độ tiếp theo sau Hướng dẫn sử dụng QA . Nếu QA Manual thực hiện mọi thứ theo cách thủ công thì QA Automation sẽ sử dụng một số loại ngôn ngữ lập trình để viết các bài kiểm tra nhằm kiểm tra hoạt động chính xác của chức năng ứng dụng. Các thử nghiệm này thường được chạy tự động trong các điều kiện nhất định: khi ứng dụng được xây dựng hoặc vào một thời điểm nào đó hàng ngày, v.v. Thông thường, trách nhiệm của AQA bao gồm :- nghiên cứu các yêu cầu, thông số kỹ thuật và tài liệu khác;
- tạo và thiết lập môi trường thử nghiệm để thực thi các trường hợp và tập lệnh thử nghiệm;
- thiết kế, tạo và thực hiện tự động hóa các trường hợp thử nghiệm (kế hoạch thử nghiệm) bằng Selenium theo các tiêu chuẩn và phương pháp đảm bảo chất lượng đã xác định;
- nghiên cứu thử nghiệm thủ công ứng dụng và đưa ra đề xuất về khả năng tự động hóa;
- duy trì các trường hợp thử nghiệm tự động hóa cập nhật;
- viết tài liệu;
- duy trì mức độ bao phủ kiểm tra cần thiết;
- nếu cần, hãy trợ giúp kiểm tra thủ công. Có thể thực hiện thủ công các trường hợp kiểm thử và tập lệnh cho các sản phẩm đang được phát triển bằng các công cụ quản lý kiểm thử;
- tham gia vào quá trình phát triển, cụ thể là quản lý quá trình kiểm soát chất lượng;
- liên lạc với các nhóm phát triển về sự không nhất quán về chức năng và lỗi.
- Trình độ tiếng Anh - Trung cấp ;
- hiểu biết tốt về các phương pháp và thực tiễn đảm bảo chất lượng;
- kiến thức tuyệt vời về cú pháp của một ngôn ngữ (ví dụ: Java hoặc JavaScript ), vì các bài kiểm tra cần phải được viết bằng thứ gì đó;
- viết bài kiểm tra tự động bằng Selenium ;
- làm quen với CI/CD ;
- khả năng làm việc với Git ;
- sự chú ý đến chi tiết;
- tư duy phê phán.
- Trưởng nhóm QA ;
- đào tạo lại và chuyển sang chuyên ngành khác.
GO TO FULL VERSION