Công nghệ

5 Điều ước gì tôi được biết sớm hơn khi mới bắt đầu nghề phát triển phần mềm

"Tôi bắt đầu vào nghề phát triển phần mềm khoảng 15 năm về trước. Nhưng chỉ trong khoảng 5 năm gần đây, tôi mới thực sự bắt đầu nhận thấy có một sự phát triển vượt trội trong nghề nghiệp lập trình viên của mình. Sau đây là một số điều mà tôi ước gì mình biết được khi mới chân ướt chân ráo bước vào nghề phát triển phần mềm; những điều này sẽ giúp cho tôi thành công nhiều hơn hoặc sớm hơn, nếu tôi có được những kiến thức đó" - trích lời Blogger Simple Programmer

1. Không có một “phương pháp đúng” trong phát triển phần mềm

Tôi đã tốn một lượng thời gian rất lớn, cả trong việc học và tranh luận ở giai đoạn đầu trong nghề nghiệp của mình; tôi đã sai lầm trong việc tin rằng có một “phương pháp hoàn toàn đúng” trong nhiều mặt của phát triển phần mềm.

Một số điều trước đây tôi cứ nghĩ rằng nó là đúng trong phát triển phần mềm, nhưng sau này tôi lại nhận ra nó là sai lầm.

Nghề lập trình viên.

Nếu biết trước những điều này thì tôi đã thành công sớm hơn trong nghề phát triển phầm mềm

Nhưng một điều quan trọng hơn, tôi nhận ra rằng có rất ít thứ rạch ròi trắng đen. Hầu hết mọi quyết định khi viết code và phát triển phần mềm thì chủ yếu dựa trên những hoàn cảnh hiện tại.

Như tôi đã nói trước đây về sự sùng bái về công nghệ có thể gây hại cho lập trình viên phần mềm, nhưng chủ đề này còn đi xa hơn là việc chỉ nói về công nghệ.

Chúng ta phải công nhận một điều rằng không có một thực tiễn nào là tốt nhất trong vũ trụ. Thậm chí trong những chủ đề có sự tranh luận rất cao như là có nên hay không sử dụng Unit Test, hoặc sử dụng phương pháp agile hay waterfall trong phát triển phần mềm là tốt nhất, thì cũng không có một câu trả lời nào luôn luôn đúng trong những trường hợp này.

Trong nghề nghiệp của mình, tôi đã tốn rất nhiều thời gian để tìm ra một “phương pháp đúng nhất” để rồi chẳng dẫn mình đi đến đâu cả; thay vì đó đáng lẽ tôi nên chọn lấy phương pháp “thực dụng” (thực tiễn), mà điều này sẽ mang tôi đi được xa hơn.

2. Đọc một cuốn sách từ đầu đến cuối thì không phải là cách tốt nhất để học

Trước đây, khi tôi muốn nâng cao kiến thức của mình về lĩnh vực lập trình và những công nghệ khác, tôi đã dùng rất nhiều thời gian để đọc các cuốn sách kỹ thuật về một công nghệ riêng biệt từ đầu đến cuối.

Nên đọc sách nào và đọc phần nào của sách rất quan trọng.

Việc đọc sách từ đầu đến cuối không phải là cách học hay

Không có gì sai trong việc đọc các cuốn sách cả, nhưng thường thì việc lựa chọn cuốn sách nào để đọc và phần nào của cuốn sách đó nên đọc là rất quan trọng.

Một ví dụ, tôi nhớ rằng trước đây mình đã đọc một cuốn sách rất dày về hướng dẫn lập trình Visual C++ (Nếu tôi nhớ không nhầm thì nó là một phiên bản trước đây của cuốn sách này). Dù sao, cuốn sách đó là một cuốn khá hay và chứa rất nhiều thông tin, nhưng việc đọc từ đầu đến cuối cuốn sách đó không phải là phương pháp tốt nhất để học về Visual C++.

Tôi đã học và ghi nhớ được rất nhiều bằng cách đọc lướt một lượt qua các chương của cuốn sách để nắm được nội dung chính, rồi liệt kê ra những phần đã biết về Visual C++ và những phần nào là quan trọng nhất để học trước tiên.

Tôi cũng đã gặt hái được khá nhiều thành công bằng cách ngồi xuống và thực sự thực hành từ những bước cơ bản nhất bằng cách xây dựng một ứng dụng thực tế, hơn là việc chỉ ngồi đọc và lướt qua những ví dụ có nói đến trong sách. Bạn sẽ không thực sự học được một công nghệ cho tới khi bạn giải quyết những vấn đề thực tế cùng với nó.

3. Học quá chuyên sâu vào một công nghệ đặc thù thì chỉ tổ tốn thời gian

Tôi không chỉ tốn nhiều thời gian vào việc đọc các cuốn sách từ đầu đến cuối, mà còn thường chọn nhầm những cuốn sách tồi để đọc nữa.

Tôi đã phạm phải một sai lầm khi tin tưởng rằng việc học một công nghệ đặc thù một cách chuyên sâu sẽ là cách tốt nhất để phát triển nghề nghiệp của mình.

Tôi đã dành rất nhiều thời gian để đọc những cuốn sách về một công nghệ xác định như là ASP.NET hoặc Hibernate, thay vì nên đọc những cuốn sách kiểu như “Code Complete”, “Clean Code”, và “Agile Principles, Patterns And Practices in C#”. (Tất cả những cuốn sách này, nếu bạn chưa đọc chúng thì tôi khuyên bạn nên dành thời gian để đọc.)

Trong khi điều quan trọng là biết về công nghệ bạn đang sử dụng, nhưng điều không quan trọng là trở thành một chuyên gia hoàn toàn vào một công nghệ nhất định. Không có nhiều ích lợi gì khi biết chính xác các hàm API sẽ được gọi như thế nào, khi mà bạn có thể dễ dàng tìm thấy nó khi bạn cần đến.

Có quá nhiều công nghệ mà tôi đã dành rất nhiều thời gian để nghiên cứu sâu, đến tận cùng bản chất của nó, và cuối cùng tôi nhận ra đã làm khó chính mình. Hầu hết việc nghiên cứu về một công nghệ xác định đến tận cùng đều là một sự lãng phí thời gian to lớn.

Tôi nhận ra điều quan trọng là phải trở thành chuyên gia tại bất kỳ ngôn ngữ lập trình nào mà tôi đã sử dụng ở thời điểm đó, bởi vì để tinh thông trong một ngôn ngữ lập trình riêng biệt thường sẽ cần rất nhiều thời gian và công sức; tôi dứt khoát rằng mình vẫn sẽ dành nhiều thời gian để học sâu hơn về các ngôn ngữ C++, C# và Java, nhưng có lẽ tôi sẽ dành ít thời gian hơn trong việc nghiên cứu các vấn đề phức tạp của C++, những thứ mà không có lợi nhiều cho tôi lúc này.

4. Cộng đồng là vô cùng quan trọng trong nghề nghiệp phát triển phần mềm

Thời gian đầu mới vào nghề, tôi đã phạm phải một sai lầm là không thực sự vươn ra ngoài cộng đồng để nhờ sự giúp đỡ và cũng như giúp đỡ những người khác.

Cộng đồng đóng một vai trò quan trọng trong việc phát triển nghề lập trình viên.

Kết nối cộng đồng lập trình viên là vô cùng quan trọng

Tôi đã luôn luôn rất tốt trong việc giúp đỡ các đồng nghiệp của mình và trở nên quảng giao trong rất nhiều công việc mà tôi đảm nhiệm, nhưng tôi chưa bao giờ thực sự vươn ra ngoài công ty của mình.

Tôi đã dành phần lớn thời gian để cố gắng đầu tư vào nghề nghiệp của mình tại một công ty riêng biệt, mà đáng lẽ ra tôi nên dành nhiều thời gian hơn để đầu tư vào các cộng đồng phát triển phần mềm mà tôi hứng thú tham gia.

Tôi đã dành rất nhiều thời gian để tạo ra các buổi giới thiệu về công nghệ trong nội bộ công ty hoặc những bài thực hành tốt nhất có thể; mà đáng lẽ tôi nên dùng thời gian để tạo ra những nội dung và tài liệu để phục vụ cộng đồng, điều đó cũng sẽ khiến tôi được đánh giá cao trong cộng việc của mình.

Tôi cũng phạm phải một sai lầm của việc không nghĩ rằng mình có nhiều thứ có giá trị để đóng góp chia sẻ cho cộng đồng.

Tôi đã nói chuyện với khá nhiều lập trình viên mới vào nghề hiện nay và đôi khi tôi nghĩ rằng họ có nhiều đóng góp thiết thực tới cộng đồng nhiều hơn thế hệ lập trình viên chúng tôi, những người mà đã ở trong lĩnh vực này trong một khoảng thời gian dài; bởi vì họ hiểu tốt hơn những vấn đề những lập trình viên mới vào nghề khác đang phải vật lộn để giải quyết.

Nếu thời gian có quay trở lại và được làm lại một lần nữa, thì tôi sẽ chắc chắn tham gia nhiều hơn vào các buổi hội thảo và các nhóm lập trình viên sớm hơn trong nghề nghiệp của mình. Tôi sẽ bắt đầu viết blog sớm hơn và sẽ sử dụng nhiều thời gian trong việc học của mình để tạo ra những dự án và tài nguyên có khả năng giúp đỡ những người khác hơn là chỉ ngồi đọc sách.

5. Luôn luôn có một dự án phụ

Có lẽ điều thay đổi lớn nhất mà tôi đã làm và đã có ảnh hưởng rất lớn đến nghề nghiệp của tôi đó là tôi dứt khoát không còn xem TV và không còn chơi các trò game như Everquest, World of Warcraft nữa; những thứ mà tôi từng rất khoái chơi từ lúc thiếu niên, thay vì đó tôi tập trung làm việc trên những dự án phụ.

Tôi đã tốn rất nhiều thời gian trong cuộc đời để làm những điều mà tôi cảm thấy thích thú, nhưng chúng lại không hề tạo ra một lợi ích lâu dài cho cuộc đời tôi.

Khoảng 3-4 năm về trước, tôi đã hoàn toàn chấm dứt việc xem TV và bây giờ thì lâu lâu tôi mới xem một bộ phim. Xem TV và các bộ phim chỉ tổ tốn thời gian của bạn, và bạn nên làm điều gì đó có ích hơn. Điều tương tự cũng hầu như đúng với các trò chơi điện tử (games), nhưng ít ra thì các trò chơi video games cũng khiến bạn hoạt động tương tác gì đó chứ không phải chỉ ngồi lì một chỗ nhận những thông tin vô bổ một cách thụ động.

Tôi luôn luôn yêu thích chơi các trò chơi điện tử và tôi không nghĩ rằng mình sẽ nghỉ chơi hoàn toàn, nhưng tôi ước gì mình đã dành nhiều thời gian của việc chơi game và xem TV để làm việc trên những dự án của riêng mình.

Buồn thay, dự án thực tế đầu tiên của riêng mình là sản phẩm tôi thực sự làm khoảng 3 năm về trước, khi đó tôi bắt đầu tạo cho mình một ứng dụng Android đầu tiên.

Trong khi bạn đang làm việc cho một ai đó, điều quan trọng là phải dành thời gian làm việc cho chính mình nữa, nếu không bạn sẽ đang đi xây dựng đế chế cho một ai đó trong khi lại bỏ quên cả bản thân mình.

 

Nếu Quý khách hàng có nhu cầu xây dựng cổng thông tin xin vui lòng liên hệ theo thông tin dưới đây, để Văn Hóa Việt có thể tư vấn cho Quý khách rõ hơn về hiệu quả của cổng thông tin điện tử, qua đó Quý khách hàng có thể chọn được các giải pháp phù hợp cho mình.

Trân trọng!

Mr. Hưng: ☏ Hotline: 0911.05.44.88  - ✉ Email: hunghq@vhv.vn

Ms. Hiền: ☏ Hotline: 0125.72.33.055  - ✉ Email: hienlt@vhv.vn

Hoặc liên hệ:

CÔNG TY CỔ PHẦN TRUYỀN THÔNG VĂN HÓA VIỆT

Website: webportal.vn

✉ Email: Contact@vhv.vn

☏: 024 22 11 1997 - 024 22 11 1996

Địa chỉ: P. 604, Tầng 6, 15-17 Ngọc Khánh, Ba Đình, Hà Nội


Nguồn: https://vinacode.net/2014/05/21/nghe-phat-trien-phan-mem/#more-2993
Bài viết liên quan
Công ty cổ phần truyền thông Văn hóa việt

Bản quyền © 2017 Webportal. Giữ toàn quyền.

Webportal.vn là một sản phẩm của Công ty Cổ phần Truyền thông Văn Hóa Việt, nhà cung cấp hàng đầu về lĩnh vực giải pháp phần mềm.

Địa chỉ: 604ĐN2, 15-17 Ngọc Khánh, Ba Đình, Hà Nội - Điện thoại: 04 2211 1997

Tạo web dùng thử

Copyright © 2017 Webportal.vn. All rights reserved.