banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Những thảo luận khác Suy nghĩ bản thân về nghề lập trình  XML
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 16/01/2013 22:09:23 (+0700) | #1 | 272743
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]
Bài này mình viết chỉ để chia sẻ suy nghĩ cá nhân. Đặt ở phân mục "Những thảo luận khác" chắc là hợp lý.

Hầy, chả biết nói sao. Mình đi làm nghề lập trình cũng được hơn 1 năm rồi nhưng sao chẳng lên trình gì cả, mình chẳng nghĩ ra được solution nào cả. Giải pháp thì cứ lên mạng tìm thôi, có cái thư viện gì hay hay thì đem về xài, đọc manual cẩn thận thì cũng làm nó chạy được. May mắn thì thế, nhỡ mà nó dở chứng ra thì bó tay luôn. Thư viện cũng là mã nguồn mở đấy nhưng mở ra xem thì chả hiểu mô tê gì. Ví dụ có một dự án cách đây hơn tháng, mình cũng có tham gia làm một cái crawler. Sếp cho có 1 tuần phải xong. Mình lại lọ mọ dành cả ngày tìm xem thế giới người ta dùng cái thư viện nào để tạo crawler không. Đọc xong xuôi thì thấy crawler4j được ca ngợi là đơn giản dễ xài, code cũng open source. Mình đem về dùng cũng thích lắm nhưng sau thấy nó có vấn đề là crawler chạy xong một lượt thì mình không làm cho nó chạy lại được. Dịch vụ crawler phải khởi chạy bằng cơm thì ai chấp nhận được. Loay hoay gần tuần đọc code sửa nọ kia, hỏi tác giả cũng bó tay. Cuối cùng dự án close vì mình chịu. May mà nó nhỏ nên mình không bị sao hết.

Dùng đồ có sẵn cũng ko xong, sáng tạo ra giải pháp thì cũng không biết như thế nào. Không biết các bạn thế nào, chứ khi mình tự hỏi bản thân xem có giải pháp gì sáng tạo không thì chẳng có câu trả lời gì hết smilie Kiểu này chắc chỉ có step by step thì mình làm ngon. Cứ trì vài ngày đọc kỹ làm đủ bước là xong nhưng thấy chán thế, mình cứ như là máy cài đặt ấy.

Còn chuyện này nữa. Lập trình thì cũng chỉ là công cụ để vi tính hoá một cái business process nào đó thôi. Làm lập trình mình chỉ thích vọc mấy kỹ thuật, mấy thư viện, framework thôi, mấy cái business process đọc chán chết à. Công việc chính và cũng khó với mình là mỗi ngày viết câu query từ DB. Số liệu thì nhiều khủng khiếp luôn. Các bạn có thấy nghề lập trình thú vị ở điểm nào không? Kể ra cho mình mở rộng tầm mắt với smilie
[Up] [Print Copy]
  [Article]   Suy nghĩ bản thân về nghề lập trình 17/01/2013 19:13:26 (+0700) | #2 | 272776
[Avatar]
flyl9134
Member

[Minus]    0    [Plus]
Joined: 05/09/2012 01:19:04
Messages: 17
Location: The mirror....
Offline
[Profile] [PM]
Tôi nghĩ bạn nên đọc bài viết này: http://diendan.congdongcviet.com/showthread.php?t=900
The quieter you become, the more you are able to hear.
[Up] [Print Copy]
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 18/01/2013 07:47:57 (+0700) | #3 | 272787
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Theo kinh nghiệm và rút tỉa của bản thân, tớ thấy có hai dạng lập trình:
- Thợ lập trình.
- Người sáng tạo lập trình.

Thợ lập trình thích hợp cho dạng người sai đâu đánh đó. Có nghĩa là có ai đó chỉ đạo làm cái gì thì làm chính xác theo cái ấy theo khuôn mẫu định sẵn và không quan tâm đến toàn cảnh.

Người sáng tạo lập trình là người nắm rõ toàn cảnh, hiểu rõ nhu cầu, đòi hỏi, trở ngại, hạn chế..v.v... để sử dụng khả năng lập trình của mình mang lại giải pháp và kết quả tốt nhất.

Cả hai dạng trên đều có thể tìm thấy sự thú vị nếu xác định rõ việc mình làm mang lại kết quả gì, thậm chí mang lại kết quả nhỏ nhất trong một công đoạn nhỏ nhất. Nếu nhìn lập trình ở mức phiến diện như dạng công việc "vọc thư viện, vọc framework" mà không thấy được kết quả vọc ấy được áp dụng vào một business process hay thậm chí để giải quyết một hạn chế, một trở ngại nhỏ nào đó thì có lẽ không nên theo đuổi nghề này.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Article]   Suy nghĩ bản thân về nghề lập trình 19/01/2013 18:03:51 (+0700) | #4 | 272839
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]

flyl9134 wrote:
Tôi nghĩ bạn nên đọc bài viết này: http://diendan.congdongcviet.com/showthread.php?t=900 


Hi flyl9134, tớ đọc bài viết bạn đưa từ hồi còn là sinh viên rồi. Những điểm không thú vị của lập trình mà người viết bài đó nêu ra chẳng đúng với mình gì cả.

Thu nhập lập trình không phải là thứ quyết định năng suất của mình. Sếp có tăng cho mình thêm chun chút thì mình cũng thích đấy smilie nhưng điều đấy cũng không thúc đẩy được mình đâu. May mà sếp mình không biết chứ không thì tèo mình mất smilie

Lập trình công nhận là cực. Không biết các công ty khác thế nào chứ chỗ mình làm cực thường xuyên. Cái này mình cũng thấy bình thường. Nó là tính chất công việc mà.

Lập trình chẳng giúp gì được cho gia đình. Ờm cũng tương đối đúng thôi. Trước kia mình cũng nghĩ vậy nhưng bây giờ khác rồi. Hầu hết dân lập trình không chỉ biết mỗi là code. Họ cũng biết chun chút về mạng, cấu hình nên đôi khi vẫn giúp được gia đình những lúc: mắc mạng, chết mạng, cấu hình...

Lập trình ít được giao tiếp. Tác giả miêu tả đoạn này chả đúng tẹo nào. Ít nhất với những gì mình thấy thì như thế. Mình cũng đi làm lập trình mà có thấy tù túng đâu. Đồng nghiệp ngồi đầy xung quanh đấy, thích thì cứ giao tiếp chứ ai cấm. Sau khi hết giờ thì thoải mái đi đâu thì đi, gặp ai thì gặp có sao đâu.

Mình cũng chưa bao giờ băn khoăn về đẳng cấp này nọ. Ôm laptop để làm việc chứ có phải để khoe khoang, chơi trội đâu mà xét đến đẳng cấp.

conmale wrote:
Theo kinh nghiệm và rút tỉa của bản thân, tớ thấy có hai dạng lập trình:
- Thợ lập trình.
- Người sáng tạo lập trình.

Thợ lập trình thích hợp cho dạng người sai đâu đánh đó. Có nghĩa là có ai đó chỉ đạo làm cái gì thì làm chính xác theo cái ấy theo khuôn mẫu định sẵn và không quan tâm đến toàn cảnh.

Người sáng tạo lập trình là người nắm rõ toàn cảnh, hiểu rõ nhu cầu, đòi hỏi, trở ngại, hạn chế..v.v... để sử dụng khả năng lập trình của mình mang lại giải pháp và kết quả tốt nhất.

Cả hai dạng trên đều có thể tìm thấy sự thú vị nếu xác định rõ việc mình làm mang lại kết quả gì, thậm chí mang lại kết quả nhỏ nhất trong một công đoạn nhỏ nhất. Nếu nhìn lập trình ở mức phiến diện như dạng công việc "vọc thư viện, vọc framework" mà không thấy được kết quả vọc ấy được áp dụng vào một business process hay thậm chí để giải quyết một hạn chế, một trở ngại nhỏ nào đó thì có lẽ không nên theo đuổi nghề này. 


Nhìn rộng ra thì em thấy lập trình phải bắt đầu từ business process, requirement rồi đi đến solution, design(high rồi low, em thấy mọi người hay pass qua bước low vì thời gian), code, test, release, training, maintain. Nhưng mà đọc requirement em thấy chán lắm ý dù biết rõ requirement, business process quan trọng lắm chứ, không biết thì không thiết kế được db, không biết thì không viết được query lấy data từ db, không biết thì không vẽ được layout, ui flow trên frontend, logic chương trình khi nào lưu, khi nào lấy, khi nào hiển thị, tương tác với hệ thống ngoài thế nào cũng bắt đầu từ requirement và business process. Biết là một chuyện nhưng cái chuyện thích và muốn đọc thì lại khác. Cố ép mình đọc cho xong thôi, đọc rồi lại quên anh à. Chán thế cơ smilie

Có lẽ đi làm quản trị hệ thống thì nó đỡ dính đến đống requiment, business này. Em được cài cắm, vọc vạch, tích hợp, nếu có code thì requirement cũng không nhiều, rắc rối như bên lập trình được.
[Up] [Print Copy]
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 19/01/2013 20:39:49 (+0700) | #5 | 272844
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]
Bạn có thắc mắc là đã có nghiên cứu rồi. Nhưng có vẻ doanh nghiệp của bạn còn thiếu vài vị trí (mình nghĩ có thể bạn sẽ nhìn thấy là ai).
Nếu nói một cách lãng mạng, lập trình hoặc là thợ viết văn, hoặc là anh chàng thơ. Nếu bạn làm theo "requirement" thì đó là thợ viết văn. Còn nếu tự viết theo cái mình nghĩ là hay, thả hồn theo tư duy và khám phá, là đúng thì là chàng thơ, đơn giản vậy thôi.

Hihi, còn nếu tư duy sản phẩm lập trình (phần mềm) là một ngôi nhà, thì sẽ có các vai trò build lên ngôi nhà đó: ông thiết kế nhà (có khi là người cóc biết đặt một viên gạch cho nó vừa vặn - trong lập trình thì đây là kiến trúc sư phần mềm), ông chủ thầu (người quản lý dự án kiêm nhận yêu cầu từ chủ đầu tư), các ông thợ xây thô (khung và dữ liệu chương trình), thợ hoàn thiện (giao diện, tương tác), bên tư vấn giám sát (tester).
Trong các ông thợ xây nhà, có ông thợ xây biểu diễn được việc tung gạch lên gõ cộp cộp là ăn vào mạch vữa ngay, có ông lại chỉ biết đặt gạch cho đúng ... đường chỉ căng. Còn ông thợ hoàn thiện thì biết cách căn, láng, trát sao cho tường phẳng chiếu đèn không gợn tối.
Các ông đều đến đích nhưng nhanh chậm và đẹp đẽ, yêu cầu khéo léo khác nhau. Thợ lập trình cũng thế, các vị trí đòi hỏi khéo léo thường là module khó hoặc nền móng cho module khác, còn làm đúng requirement là đặt gạch đúng đường chỉ thôi. Hấp dẫn nhất là ông kiến trúc sư bởi ông này hiểu mọi thứ, vẽ vời và có thể là người tiền đề "căng chỉ" cho các ông khác xây.
Team này khó thiếu được một ai. Để một mình ông thợ xây thô hay hoàn thiện xây nhà thì căn nhà sẽ là dập khuôn từ một mẫu thiết kế có sẵn nào đó (bất kể nó có phù hợp hoàn cảnh hay không và tại sao nó hợp), còn để cho một mình ông thiết kế làm nhà thì nhà toàn bản vẽ giấy vì ai làm công việc xây dựng trực tiếp đây?

Bạn chọn vị trí nào? thỏa mãn với việc mình làm, chuyên tâm và chăm chỉ sẽ khiến mình code + dùng framework nhanh nhất, đó là giá trị bạn đã tạo ra đấy. Bạn cần team.
[Up] [Print Copy]
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 19/01/2013 23:14:05 (+0700) | #6 | 272851
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Tôi cũng từng là coder, giờ thì làm ... business man smilie

Cơ bản khi bồ vẫn còn đang loay hoay trong việc cố gắng thạo các công cụ lập trình (ngôn ngữ, thư viện, framework...) bồ vẫn chỉ là 1 thợ lập trình chứ chưa thành người chuyên gia sẽ đưa ra giải pháp cho một bài toán kinh tế.

Một kỹ sư giỏi ở thời đại này phải thoát ra khỏi tư tưởng của người chỉ biết lập trình, mà nên trở thành người có tư duy đưa ra giải pháp không chỉ để giải quyết một vấn đề mà phải ở mức độ giải quyết được cả một loạt bài toán thực thế

Để rõ hơn cho ý trên ( rất khó trình bày ) tôi lấy một ví dụ như sau:

Thỉnh thoảng tôi thường được một số nhóm các bạn có ý tưởng kinh doanh làm startup một sản phẩm công nghệ nào đó đến tìm và hỏi các câu hỏi dạng như
"Ý tưởng abc vầy với những chức năng như vầy như vầy nhằm giúp người dùng đạt được những điều như vầy như vầy thì có thực hiện được không ?"

Khi đó tôi thường dành thời gian suy nghĩ xem ý tưởng đó để hiện thực cần có những công nghệ xyz nào để phát triển, kết hợp với kiến thức thực tế về business tôi góp ý với nhóm bạn trên là nếu thực hiện thì họ sẽ gặp những khó khăn gì ( về mặt business, marketing, hiện thực ý tưởng ) rồi qua đó thảo luận với họ hướng đi khác phù hợp hơn cũng như đề nghị với họ các giải pháp kỹ thuật, công nghệ cần sử dụng để thực hiện theo hướng đó

Một kỹ sư tốt sẽ cần phải đạt đến mức trên và hơn cả như vậy vì giá trị của anh lúc đó không phải chỉ là một người thợ chỉ biết làm theo chỉ thị hướng dẫn nữa, mà là một chuyên gia có những lời khuyên bổ ích, thực tế
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 23/01/2013 06:28:03 (+0700) | #7 | 272936
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]

myquartz wrote:
Bạn có thắc mắc là đã có nghiên cứu rồi. Nhưng có vẻ doanh nghiệp của bạn còn thiếu vài vị trí (mình nghĩ có thể bạn sẽ nhìn thấy là ai).
Nếu nói một cách lãng mạng, lập trình hoặc là thợ viết văn, hoặc là anh chàng thơ. Nếu bạn làm theo "requirement" thì đó là thợ viết văn. Còn nếu tự viết theo cái mình nghĩ là hay, thả hồn theo tư duy và khám phá, là đúng thì là chàng thơ, đơn giản vậy thôi.

Hihi, còn nếu tư duy sản phẩm lập trình (phần mềm) là một ngôi nhà, thì sẽ có các vai trò build lên ngôi nhà đó: ông thiết kế nhà (có khi là người cóc biết đặt một viên gạch cho nó vừa vặn - trong lập trình thì đây là kiến trúc sư phần mềm), ông chủ thầu (người quản lý dự án kiêm nhận yêu cầu từ chủ đầu tư), các ông thợ xây thô (khung và dữ liệu chương trình), thợ hoàn thiện (giao diện, tương tác), bên tư vấn giám sát (tester).
Trong các ông thợ xây nhà, có ông thợ xây biểu diễn được việc tung gạch lên gõ cộp cộp là ăn vào mạch vữa ngay, có ông lại chỉ biết đặt gạch cho đúng ... đường chỉ căng. Còn ông thợ hoàn thiện thì biết cách căn, láng, trát sao cho tường phẳng chiếu đèn không gợn tối.
Các ông đều đến đích nhưng nhanh chậm và đẹp đẽ, yêu cầu khéo léo khác nhau. Thợ lập trình cũng thế, các vị trí đòi hỏi khéo léo thường là module khó hoặc nền móng cho module khác, còn làm đúng requirement là đặt gạch đúng đường chỉ thôi. Hấp dẫn nhất là ông kiến trúc sư bởi ông này hiểu mọi thứ, vẽ vời và có thể là người tiền đề "căng chỉ" cho các ông khác xây.
Team này khó thiếu được một ai. Để một mình ông thợ xây thô hay hoàn thiện xây nhà thì căn nhà sẽ là dập khuôn từ một mẫu thiết kế có sẵn nào đó (bất kể nó có phù hợp hoàn cảnh hay không và tại sao nó hợp), còn để cho một mình ông thiết kế làm nhà thì nhà toàn bản vẽ giấy vì ai làm công việc xây dựng trực tiếp đây?

Bạn chọn vị trí nào? thỏa mãn với việc mình làm, chuyên tâm và chăm chỉ sẽ khiến mình code + dùng framework nhanh nhất, đó là giá trị bạn đã tạo ra đấy. Bạn cần team. 


Ờm đúng là công ty mình chưa rõ ràng trong tổ chức. Ai mới vào thì làm code. Người có kinh nghiệm hơn thì làm thiết kế db, làm high với low level design, mấy bác này rồi cũng code nốt smilie nhưng nói chung khi code thì cứ dõi trực tiếp vào requirement và db.

Mình thấy đi xây nhà mà không tuân theo requirement của chủ nhà thì không biết nhà đó bán cho ai mua nữa smilie Nếu chỉ có vài người trong team quan tâm đến requirement thì không biết ngôi nhà có build được đúng như ý đồ ban đầu không nữa ?



xnohat wrote:
Tôi cũng từng là coder, giờ thì làm ... business man smilie

Cơ bản khi bồ vẫn còn đang loay hoay trong việc cố gắng thạo các công cụ lập trình (ngôn ngữ, thư viện, framework...) bồ vẫn chỉ là 1 thợ lập trình chứ chưa thành người chuyên gia sẽ đưa ra giải pháp cho một bài toán kinh tế.

Một kỹ sư giỏi ở thời đại này phải thoát ra khỏi tư tưởng của người chỉ biết lập trình, mà nên trở thành người có tư duy đưa ra giải pháp không chỉ để giải quyết một vấn đề mà phải ở mức độ giải quyết được cả một loạt bài toán thực thế

Để rõ hơn cho ý trên ( rất khó trình bày ) tôi lấy một ví dụ như sau:

Thỉnh thoảng tôi thường được một số nhóm các bạn có ý tưởng kinh doanh làm startup một sản phẩm công nghệ nào đó đến tìm và hỏi các câu hỏi dạng như
"Ý tưởng abc vầy với những chức năng như vầy như vầy nhằm giúp người dùng đạt được những điều như vầy như vầy thì có thực hiện được không ?"

Khi đó tôi thường dành thời gian suy nghĩ xem ý tưởng đó để hiện thực cần có những công nghệ xyz nào để phát triển, kết hợp với kiến thức thực tế về business tôi góp ý với nhóm bạn trên là nếu thực hiện thì họ sẽ gặp những khó khăn gì ( về mặt business, marketing, hiện thực ý tưởng ) rồi qua đó thảo luận với họ hướng đi khác phù hợp hơn cũng như đề nghị với họ các giải pháp kỹ thuật, công nghệ cần sử dụng để thực hiện theo hướng đó

Một kỹ sư tốt sẽ cần phải đạt đến mức trên và hơn cả như vậy vì giá trị của anh lúc đó không phải chỉ là một người thợ chỉ biết làm theo chỉ thị hướng dẫn nữa, mà là một chuyên gia có những lời khuyên bổ ích, thực tế 


Mức độ chuyên gia tư vấn như vậy em nghĩ phải là người có nhiều kinh nghiệm trên các lĩnh vực khác nhau. Một lập trình viên giỏi chỉ biết code không thôi thì chưa đủ vì lập trình dùng để giải quyết các vấn đề thực tế cuộc sống. Người lập trình thông hiểu các busiess process thì mới giải quyết vấn đề sâu sát bằng công cụ lập trình được. Với cả để đạt đến tầm chuyên gia tư vấn như anh nói chắc người lập trình viên đó phải đi qua các giai đoạn làm thợ trước rồi. Em nghĩ không làm thợ thì sao làm được thầy. Công việc lập trình hiện giờ em thấy chỉ là khách hàng cho yêu cầu, hoàn thành yêu cầu qua vô số task là xong.

Bàn lan sang chút, với những gì em thấy ngoài thực tế thôi, chắc còn hạn hẹp, mấy bác solution suốt ngày viết vẽ gì trên giấy đấy ạ. Khi có dự án thì toàn lập trình viên tự thảo luận, tự thiết kế. Mấy bác cứng thì khai triển giải pháp theo các yêu cầu của khách hàng, chẳng hiểu cái vị trí solution sinh ra làm gì mà không thấy hỗ trợ cho dự án gì cả smilie
[Up] [Print Copy]
  [Discussion]   Suy nghĩ bản thân về nghề lập trình 23/01/2013 09:35:39 (+0700) | #8 | 272942
vina_man
Member

[Minus]    0    [Plus]
Joined: 09/06/2011 05:35:02
Messages: 14
Offline
[Profile] [PM]
Sử dụng công nghệ nào đó để phát triển phải đi đôi với hiểu biết rõ ràng về công nghệ mình sử dụng .Như vậy có tốt hơn không ? Nếu không nắm rõ về công nghệ mà sử dụng nó thì đó là con dao 2 lưỡi .Không biết như vầy có đúng không ?
http://youtu.be/YltzHTN4sAs
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|