Kỹ năng cần có để thành công

GS John Vu10/04/2024 12:00
Kỹ năng cần có để thành công

Tốt nghiệp Khoa học máy tính và làm việc như một người phát triển phần mềm, nhưng phần lớn thời gian em chỉ viết mã. Tuy nhiên, sau khi một người bạn giới thiệu cho em về blog của thầy, em bắt đầu tự hỏi em cần cái gì để thành công?

Một sinh viên viết cho tôi: “Em tốt nghiệp trong Khoa học máy tính và làm việc như một người phát triển phần mềm, nhưng phần lớn thời gian em chỉ viết mã. Em dành bốn năm trong đại học để học lập trình Java và em có thể phát triển websites và làm việc với Microsoft Excel. Tuy nhiên, sau khi một người bạn giới thiệu cho em về blog của thầy, em bắt đầu tự hỏi liệu giáo dục của em có là thích hợp hay không? Em cần cái gì để thành công? Xin thầy lời khuyên.”

Đáp: Viết mã là kĩ năng nền tảng mà mọi công nhân phần mềm phải có.  Tuy nhiên, có những kĩ năng khác mà em cũng cần có để thành công trong nghề nghiệp như kĩ năng mềm, và kĩ năng học cả đời. Nếu em chỉ biết cách viết mã trong Java và dùng một số công cụ Microsoft, em chỉ ở vị trí “mức vào nghề”. Để thăng tiến trong nghề phần mềm, em cần phát triển các kĩ năng phụ.

Trước hết, em cần hiểu toàn thể vòng đời phát triển phần mềm như được dẫn lái theo kế hoạch và Agile, không chỉ viết mã. (Câu hỏi của tôi là tại sao dành bốn năm chỉ để viết mã mà không làm cái gì đó khác?)  Vòng đời phần mềm là qui trình mà người phát triển dùng để cài đặt khái niệm phần mềm vào trong sản phẩm cuối cùng. Phần lớn công việc được tiến hành trong tổ, do đó, em phải học kĩ năng làm việc tổ.

Mọi công việc phần mềm đều bắt đầu với những người phát triển hiểu yêu cầu của khách hàng và làm tài liệu chúng trong các ứng dụng phần mềm. Để làm điều đó em cần phỏng vấn khách hàng về nhu cầu của họ, do đó, em cần có kĩ năng trao đổi tốt. Nếu khách hàng là người nước ngoài, em cần có kĩ năng ngoại ngữ tốt (như, tiếng Anh). Là thành viên của tổ, em cũng cần thảo luận với các thành viên khác trong tổ về các yêu cầu chức năng và ước lượng công việc sẽ mất bao lâu, và nó sẽ tốn bao nhiêu. Sẽ có các ý kiến khác nhau giữa các thành viên tổ trên các chủ đề này và cách làm việc hiệu quả yêu cầu kĩ năng lắng nghe và thương lượng.

Một khi yêu cầu phần mềm được hoàn chỉnh bước tiếp là tạo ra kiến trúc hệ thống hay thiết kế tổng thể về cách phần mềm sẽ được gắn lại với nhau. Hoạt động này thường được người kiến trúc sư phần mềm hay người lãnh đạo tổ lãnh đạo, người chịu trách nhiệm về khía cạnh kĩ thuật của dự án. Cho dù em có thể không có nhiều kinh nghiệm, em vẫn nên tham gia vào hoạt động này để học cách phần mềm sẽ vận hành. Trong hoạt động này, mọi chức năng của sản phẩm sẽ được xem xét tới, từ màn hình người dùng sẽ thấy sau khi họ bấm nút đặc biệt, cách phần mềm về sau có thể được nâng cấp và được cải tiến.

Để tiến lên vị trí người lãnh đạo tổ, em phải học về kiến trúc phần mềm và qui trình thiết kế bằng việc lắng nghe và học cách người khác làm nó. Bước tiếp để tiến lên trong nghề nghiệp của em từ người phát triển phần mềm là vị trí lãnh đạo tổ cho nên đây nên là khu vực em cần học và giỏi về nó.

Sau khi các pha kiến trúc và thiết kế được thực hiện, em sẽ bắt đầu viết mã để xây dựng sản phẩm phần mềm thực tại. Trong thời gian này, mã của em sẽ tương tác với các mã khác cho nên em phải chắc rằng em thường xuyên giám sát và kiểm thử để đảm bảo các cấu phần khác nhau làm việc cùng nhau. Em cũng phải chắc rằng mã của em đáp ứng cho nhu cầu của khách hàng bằng việc kiểm thử mọi chức năng một cách cẩn thận.

Sau khi pha viết mã được thực hiện, mọi cấu phần phần mềm sẽ được tích hợp và trắc nghiệm trong pha kiểm thử. Trong pha này, các vấn đề được nhận diện qua những kiểm thử nào đó, như kiểm thử chức năng, kiểm thử tích hợp, kiểm thử hệ thống v.v. để chắc sản phẩm cuối làm việc tốt. Có nhiều điều cần học trong pha kiểm thử vì em sẽ tương tác với các thành viên khác trong tổ và duy trì mối quan hệ tốt với họ. Dễ dàng tranh cãi và đổ trách nhiệm lên ai đó khi mọi sự không làm việc tốt nhưng em cần duy trì bình tĩnh và áp dụng kĩ năng làm việc tổ để đảm bảo sự hài hoà của tổ cùng làm việc hướng tới mục đích của dự án.

Khi dự án phần mềm phức tạp hơn, người phát triển thường chia việc chuyển giao dự án thành nhiều việc đưa ra tăng dần và đưa ra phần mềm cho một số giới hạn người dùng, và coi việc dùng của họ như một phần của kiểm thử sản phẩm thuộc vào kiểm thử Beta. Để nhận phản hồi từ những người dùng này, em cần kĩ năng lắng nghe để hiểu vấn đề của họ và cải tiến cách phần mềm beta vận hành. Trong công nghiệp, danh tiếng của người phát triển dựa trên khả năng của họ làm việc tốt với người dùng, khách hàng cũng như chất lượng của sản phẩm phần mềm.  Bằng việc biết những điểm mạnh và điểm yếu của em và thường xuyên học để cải tiến kĩ năng của em, em có thể tiến bộ trong nghề nghiệp.

English version

The needed skills

A student wrote to me: “I graduate in Computer Science and work as a software developer, but most of the time I only write code. I spent four years in college learning Java programming and I can develop websites and works with Microsoft Excel. However, after a friend introduce me to your blog, I begin to wonder whether my education is adequate or not? What do I need to succeed? Please advise.”

Answer: Coding is the fundamental skills that every software workers must have.  However, there are other skills that you also need to succeed in a software career such as soft-skills, and lifelong learning skills. If you only know how to code in Java and using some Microsoft tools, you are only at the “entry level” position. To advance in your software career, you need to develop additional skills.

First, you need to understand the entire software development lifecycle such as Plan-driven and Agile, not just write code. (My question is why spent four years just to write code but not something else?)  The software lifecycle is the process that developers use to implement software concept into a finished product. Most works are done in a team, therefore, you must learn teamwork skills.

All software works begin with developers understanding the customer’s requirements and document them in the software specifications. To do that you need to interview customers about their needs, therefore, you need to have strong communication skills. If customers are foreigners, you need to have good foreign language skills (i.e.,English). As a member of the team, you also need to discuss with other team members about the functional requirements and estimate how long the work will take, and how much it will cost. There will be different opinions among team members on these subjects and how to work effectively require listening and negotiation skills.

Once the software requirements are completed, the next step is to create the system architecture or the overall design for how the software will be put together. This activity is often led by a software architect or the team leaders,  who are responsible for the technical aspect of the project. Even you may not have a lot of experience, you should participate in this activity to learn how the software will function. During this activity, every function of a product will be considered, from the screen a user will see after they click a particular button, to how the software could later be upgraded and improved. To advance to team leader position, you must learn about software architect and design process by listening and learn how others are doing it. The next step to advance in your career from a software developer is the team leader position so this should be the area that you need to learn and be good at it.

After the architecture and design phases are done, you will start to write code to build the actual software product. During this time, your code will interact with others so you have to make sure that you constantly monitoring and testing to ensure different components work together. You also make sure that your code meets the customers’ requirements by testing all functions carefully.

After the coding phase is done, all software components will be integrated and verified in the testing phase. During this phase, issues are identified through certain tests, such as functioning test, integrated test, system test etc. to make sure the final product is working well. There is a lot to learn during the test phase as you will interact with other team members and maintain a good relationship with them. It is easy to argue and to blame somebody when things do not work well but you need to stay calm and apply your teamwork skills to ensure the harmony of the team working toward the project’s goals.

When a software project is more complex, developers often break the project delivery into several increment releases  and release software to a limited number of users, and treating their use as part of the product testing of Beta testing. To get feedback from these users, you need listening skills to understand their issues and refine the way the beta software functions. In the industry, the reputation of  developers is based on their ability to work well with users, customers, as well as the quality of the software products.  By knowing your strengths and weaknesses and constantly learning to improve your skills, you can advance in your career.

 


Gửi bình luận
(0) Bình luận
1

Phần mềm di động

Phát triển ứng dụng di động là qui trình qua đó phần mềm được phát triển cho điện thoại di động hay thiết bị cầm tay tương tự.
2

Nhu cầu cấp bách

Tuần trước, tôi đã viết về vài “khu vực nóng” trong thị trường công nghệ và tôi tin nền di động sẽ là một trong chúng trong vài năm tới.
3

Kinh nghiệm của kỹ sư phần mềm

“Em đã làm năm việc trong ba năm. Chẳng có gì để tự hào nhưng hồi tưởng lại, em đã học được bài học tốt và đó là lí do tại sao em quay lại thăm thầy.”
4

Lời khuyên từ bạn bè

Năm ngoái, một sinh viên năm thứ nhất nói với tôi trong ngày đầu tiên lên lớp: “Thầy nói cứ như là bố mẹ em nói, học, học và học nữa. Cuộc sống KHÔNG chỉ là học tập và là sinh viên đại học, em KHÔNG cần những lời khuyên có vẻ như của bố mẹ thế.”
5

Khu vực nào sẽ nóng

Tuần trước, một sinh viên năm thứ nhất ở Trung Quốc hỏi tôi: “Công nghệ thông tin là lĩnh vực lớn với nhiều miền đặc biệt. Em nên tập trung vào miền nào để khi em tốt nghiệp trong bốn năm nữa kể từ bây giờ, em sẽ có khả năng có việc làm tốt? Nếu em muốn làm việc ở Mĩ hay châu Âu tôi cần làm gì khác nữa?”

Học Khoa học máy tính

Mọi người bảo rằng Khoa học máy tính (CS) là khó, học sinh học nó thường bỏ. Họ khuyên em đừng chọn CS ở đại học.

Tính toán đám mây

Bạn tôi gợi ý rằng tôi dùng dịch vụ tính toán mây cho công ty của tôi nhưng tôi không biết nó là gì.

Thất nghiệp khắp thế giới

Năm nay (2013) là năm mà thất nghiệp trong những người tốt nghiệp đại học đã đạt tới mức trầm trọng với trên 75 triệu người tốt nghiệp đại học không có việc làm.

Cung cấp nhân lực cho công ty, giải pháp đơn giản cho vấn đề phức tạp?

Trong khi các công ti quá bận rộn không làm việc được với đại học. Đại học cũng cho rằng họ KHÔNG biết công ti cần gì cho nên họ không thể cung cấp nhân sự phù hợp được. Làm sao chúng ta giải quyết vấn đề này?”

Người kiểm thử và người phát triển phần mềm

Người phát triển phần mềm đã thay đổi thiết kế và mã mà không nói cho người kiểm thử biết, nên kịch đoạn kiểm thử của người kiểm thử không làm việc.

Làm việc ở nước ngoài

Tôi đã nhận được nhiều emails từ những người tốt nghiệp đại học hỏi về cơ hội làm việc ở Mĩ cho các công ti như Microsoft, Google, Apple hay Facebook v.v.

Nghề nghiệp và việc làm

Một sinh viên năm thứ nhất viết cho tôi: “Em đã đọc blog của thầy về lập kế hoạch nghề nghiệp nhưng em vẫn không biết em muốn làm gì hay em nên chọn học lĩnh vực nào? Xin thầy giúp đỡ.”

Tổng quan về trinh sát doanh nghiệp

Trinh sát doanh nghiệp – Business Intelligence (BI) là một trong những lĩnh vực công nghệ thông tin (CNTT) tăng trưởng nhanh nhất ngày nay.

Bài học từ khoán ngoài

Blog GS John VU - GS John Vu - 01/06/2026 12:00
Khi tôi ở Trung Quốc tháng trước, tôi thấy điều gì đó mà tôi chưa bao giờ trông chờ: Việc đóng cửa một số nơi chế tạo ở Thượng Hải và Shenzheng.

Zalo ra mắt tính năng phụ đề cuộc gọi video

Kỹ năng - Nhật Hạ - 01/06/2026 11:00
Zalo vừa tung ra một tính năng AI mới vô cùng hữu ích giúp người dùng chuyển lời nói thành chữ theo thời gian thực ngay trên màn hình.

12 triệu người nghe Võ Hà Linh nói về điều hối hận nhất tuổi 34

Phong cách sống - Nguyễn Phượng - 01/06/2026 09:00
"Stress thì mua matcha latte, socola đá xay mà uống cho mát ruột chứ đi xăm gì cho cực", Võ Hà Linh nói.

Làm chủ AI - 90.000 giờ lao động và cỗ máy vô hình: Giữ lại phẩm giá trong đời đi làm

Từ sách - Phim - Quang Anh - 01/06/2026 08:00
Sau giai đoạn hào hứng ban đầu với AI tạo sinh, nhiều người bắt đầu nhìn thấy một mặt khác của nó. Công việc không hẳn nhẹ đi. Áp lực cũng chưa chắc giảm xuống. Có khi, mọi thứ còn trở nên dày hơn.

Thị trường việc làm ngày nay

Blog GS John VU - GS John Vu - 31/05/2026 12:00
Theo tin tức mới nhất, phần lớn các công ti đều tin tưởng về phục hồi kinh tế và bắt đầu thuê người.

Giờ tôi mới phát hiện Google Maps có tính năng chỉ đường hay đến vậy

Kỹ năng - Quốc Vinh - 31/05/2026 11:00
Google Maps không chỉ là xem bản đồ mà có vô vàn các tính năng hữu ích giúp bạn tiết kiệm được thời gian.

Cú điện thoại theo hướng dẫn của ChatGPT và sự nghiệp đổ sập của huyền thoại bóng chày Nhật Bản

Suy ngẫm - Đồng An - 31/05/2026 10:00
Một cuộc cãi vã trong bữa tối, một cú nhấc cổ áo, một câu hỏi gõ vội cho ChatGPT - và 25 năm sự nghiệp của Shinnosuke Abe, huyền thoại đội Yomiuri Giants, kết thúc trong nước mắt giữa buổi họp báo từ chức. Cô con gái 18 tuổi, người đã vô tình kích hoạt chuỗi sự kiện đó, sau này thú nhận: "Người sốc nhất khi cảnh sát đến chính là tôi."

Trào lưu Birdwatching khiến giới trẻ Trung Quốc dõi theo, kéo cả các thương hiệu lớn vào cuộc

Phong cách sống - Yên Yên - 31/05/2026 09:00
Từ một trào lưu 820 triệu lượt xem trên Xiaohongshu, birdwatching (ngắm chim) đang đặt ra câu hỏi thực sự cho các thương hiệu: Làm sao tiếp cận một thế hệ chủ động thoát khỏi vòng lặp nội dung?

“Sách xa hoa” trở thành cơn sốt mới: Khi độc giả chi hàng nghìn USD để săn các ấn bản đặc biệt

Từ sách - Phim - TĐ - 31/05/2026 08:00
Những cuốn sách với cạnh in màu, bìa dập nổi, minh họa độc quyền và thiết kế cầu kỳ đang tạo nên một cơn sốt mới trong cộng đồng yêu sách toàn cầu. Từ một thị trường ngách dành cho người sưu tầm, các “special edition” (ấn bản đặc biệt) giờ đây đã trở thành xu hướng bùng nổ, đặc biệt trong dòng sách romance và fantasy.

Một số sự kiện về cách tiếp cận Agile

Blog GS John VU - GS John Vu - 30/05/2026 12:00
Một sinh viên hỏi tôi: “Nếu Agile là cách tiếp cận tốt để phát triển phần mềm thì tại sao chúng ta phải học cách tiếp cận khác?”

Anthropic ra mắt "trợ lý AI ngành luật", thu hút hơn 20.000 người đăng ký

Kỹ năng - Lại Dịu - 30/05/2026 11:00
Anthropic đang biến Claude thành “trợ lý pháp lý AI” có thể kết nối trực tiếp với các phần mềm luật chuyên dụng, làm nóng thêm cuộc đua AI trong ngành pháp lý.

“Thần kinh doanh” Kazuo Inamori: Nếu không tài năng, cần biết 1 con đường “lợi hại” này để làm giàu

Suy ngẫm - Kim Linh - 30/05/2026 10:00
Theo tỷ phú Nhật Bản Inamori Kazuo, muốn trở thành một người giàu có và thành công cần có sự kiên nhẫn phi thường trong công việc.

Từ chiếc máy tính cũ, nam sinh Bách khoa thắng lớn với “Tiệm phở anh Hai”

Truyền cảm hứng - Mỹ Hà - 30/05/2026 09:00
Từ chiếc máy tính cũ và những dự án trò chơi âm thầm suốt nhiều năm, nam sinh Đại học Bách khoa Hà Nội tạo nên “cơn sốt” với “Tiệm phở anh Hai”, đồng thời thắng lớn hai giải thưởng.

Làm chủ ai -  Sách dành cho người muốn tìm hiểu về trí tuệ nhân tạo

Từ sách - Phim - Thu An - 30/05/2026 08:00
Kể từ khi ChatGPT ra mắt, dường như ngày nào chúng ta cũng nghe nhắc đến AI và cách nó làm thay đổi thế giới xung quanh. Vậy rốt cuộc những công cụ này hoạt động ra sao? Và một người bình thường có thể sử dụng AI như thế nào? Quyển sách này sẽ giúp bạn trả lời những câu hỏi đó.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS