Không nên lập trình sau một vài năm bắt đầu sự nghiệp. Đây có phải là một lời khuyên công bằng? [đóng cửa]


65

Tôi là một nhà phát triển ít kinh nghiệm có khoảng 5 năm kinh nghiệm về PHP và có phần ít hơn về Java, C # và hiện đang cố gắng học một số Python. Kể từ khi bắt đầu sự nghiệp là một lập trình viên, tôi đã được các lập trình viên nói với tôi rằng lập trình viên phù hợp với một vài năm đầu của sự nghiệp (hầu hết trong số họ mất 5 năm) và người ta phải thay đổi hướng đi sau đó nó Lý do họ trình bày bao gồm đau đầu và áp lực liên quan đến lập trình. Họ cũng nói rằng các lập trình viên ít giao tiếp xã hội và thường không thích dành thời gian cho gia đình, v.v. và đặc biệt là "Ôi thôi, bạn không thể lập trình cả đời!"

Tôi hơi bối rối ở đây và cần phải hỏi người khác về nó. Nếu tôi rời khỏi lập trình thì tôi phải làm gì?! Tôi đoán việc giảng dạy có thể là một lựa chọn tốt trong trường hợp này, nhưng trước tiên nó sẽ đòi hỏi phải có bằng tiến sĩ. Cũng có thể đáng chú ý là ở nước tôi (Pakistan), cuộc sống của một lập trình viên không được tốt lắm, thông thường họ phải dành thêm 2-3 giờ trong văn phòng để hoàn thành các nhiệm vụ lập trình khẩn cấp. Tôi có cảm giác rằng tình hình cũng hơi giống ở các quốc gia và khu vực khác.

Bạn có nghĩ rằng đó là lời khuyên công bằng để thay đổi nghề nghiệp từ lập trình sang một thứ khác sau khi dành 5 năm trong lĩnh vực này?

CẬP NHẬT


Ôi chà ... Tôi chưa bao giờ biết mọi người có thể có hơn 40 năm kinh nghiệm trong lĩnh vực này. Tôi vừa vui mừng vừa ngạc nhiên khi thấy mọi người làm việc đó từ năm 1971 ... Điều đó có nghĩa là 15 năm trước khi tôi sinh ra! Thật tuyệt khi có thể nói chuyện với những người có kinh nghiệm như vậy, chúng tôi không có cơ hội như vậy ở Pakistan.
Cảm ơn một lần nữa cho tất cả sự giúp đỡ và chia sẻ. Đó là một kinh nghiệm tốt đẹp nhận được suy nghĩ của bạn về điều này.


13
Nhóm lập trình viên của bạn rất giỏi trong việc khái quát hóa và có vẻ như họ cần những công việc ít căng thẳng hơn.
Steven Evers

54
Nếu tất cả mọi người dừng lập trình chỉ sau 5 năm, thì ai sẽ đảm nhận các dự án lập trình đòi hỏi 10 hoặc 20 năm chuyên môn để giải quyết?
GrandmasterB

17
Phải mất mười năm cống hiến hàng ngày để đạt được thành thạo một môn học. Làm thế nào bạn mong đợi để đạt được điều đó nếu bạn bỏ dở giữa chừng?
Frank Crook

7
Không phải là một chút như nói "Bạn không thể là một kiến ​​trúc sư trong suốt cuộc đời của bạn" hay "bạn không thể làm răng cả đời" ?
tylerl

6
Loại câu hỏi ngược lại: Những lập trình viên nào thích có ông chủ: một lập trình viên cũ, hoặc một người nào đó có nền tảng khác?
GEdgar

Câu trả lời:


61

Tôi không nghĩ rằng đây là một câu hỏi có thể được đưa ra một câu trả lời luôn luôn đúng, ngoại trừ có lẽ đối với câu "Nó phụ thuộc".

Lời khuyên đơn giản nhất là: nếu lập trình là điều bạn thích làm nhất, đừng dừng lại trừ khi điều đó thay đổi.

Có nhiều yếu tố khác cần được xem xét, chẳng hạn như thị trường việc làm, cơ hội thăng tiến, vị trí và tất nhiên là tiền lương, nhưng điều quan trọng nhất với bất kỳ quyết định nghề nghiệp nào là câu hỏi "Điều này có làm tôi hạnh phúc không?"


1
Tôi nghĩ rằng nó làm cho tôi hạnh phúc (lý do chính để học một ngôn ngữ khác). Có thể mất một mảng tóc do suy nghĩ quá nhiều, uống quá nhiều caffeine và trở nên kém hòa đồng là những điều tôi sợ có lẽ ... Tôi đã thấy những người khác gặp phải hầu hết những vấn đề này!
Yasir

23
Đó là một thái độ rất Mỹ; toàn bộ cuộc sống, tự do và theo đuổi điều hạnh phúc. Tại sao hạnh phúc là yếu tố quan trọng nhất trong quyết định nghề nghiệp? Tại sao không, như một sự thay thế, sự lựa chọn làm giảm đau khổ nhất ? (hay còn gọi là chủ nghĩa thực dụng) Hay sự lựa chọn phù hợp nhất với các điều răn của Thiên Chúa ? (Bất kỳ số lượng tôn giáo) Hoặc sự lựa chọn tạo ra giá trị nhất trên thế giới? Tại sao hạnh phúc của bạn là một tiên nghiệm là điều quan trọng nhất? Tôi thực sự không hiểu tại sao rất nhiều người có niềm tin rằng hạnh phúc của riêng họ bằng cách nào đó quan trọng hơn tất cả mọi thứ.
Eric Lippert

8
@Steven: Ồ, hãy để tôi làm rõ: Tôi hoàn toàn ở trên tàu "điều làm tôi hạnh phúc là tuyệt vời" ở đây. Công việc của tôi làm cho tôi hạnh phúc. Điều tôi thắc mắc là tuyên bố rằng "hạnh phúc" của con người là yếu tố quan trọng nhất trong mọi quyết định, sự nghiệp hay cách khác. Ví dụ, tốt hơn là có một công việc khiến bạn kém hạnh phúc hơn nếu điều đó có nghĩa là con bạn có thể đi học tốt hơn? Tôi biết rất nhiều người ưu tiên giáo dục con cái hơn hạnh phúc của chính họ khi đưa ra lựa chọn nghề nghiệp.
Eric Lippert

4
@Eric: Tôi hoàn toàn ủng hộ quan điểm của bạn về điều này. Tuy nhiên, đối với tôi, hạnh phúc nhất có nguồn gốc từ thực vật có giá trị, những điều có lợi cho người khác, và điều đó giảm bớt đau đớn. Vì vậy, tôi không có nghĩa là ủng hộ sự ích kỷ hay hạnh phúc để loại trừ người khác. Tuy nhiên, tôi tin rằng đối với hầu hết, họ sẽ là người làm việc hiệu quả nhất cả trong và ngoài nơi làm việc khi sự nghiệp của họ là điều họ tự hào và từ đó họ tìm thấy động lực. Nói cách khác, mọi người làm việc tốt hơn khi làm công việc của họ làm cho họ hạnh phúc.
asfallows

5
@Eric: nếu xem qua giáo dục trẻ em của bạn làm cho bạn hạnh phúc thì hãy đi cho nó. Hạnh phúc cá nhân không phải là yếu tố duy nhất trong chức năng hạnh phúc.
Nói dối Ryan

100

Chúng tôi có một số lập trình viên nơi tôi làm việc ở độ tuổi 50 đã lập trình được hơn 20 năm. Nếu đó là những gì bạn muốn làm, đừng để ai nói với bạn rằng nó chỉ phù hợp với giới trẻ.


14
+1: Lập trình chuyên nghiệp từ năm 1978. Một vài lần nghỉ làm quản lý, nhưng đó là những thời gian ngắn và thiếu sáng suốt.
S.Lott

3
+1: Tôi tham gia từ năm 1973 và lần duy nhất tôi không thực sự thích bản thân mình là khi tôi phải "chơi ông chủ" với công ty phần mềm của riêng mình. May mắn thay, tôi vẫn phải đập đầu và ném bút vào bảng trắng cùng với nhân viên của mình, vì vậy nó không quá tệ.
Peter Rowell

18
+1 Chỉ 20, nhưng tôi đã không đến trường để học làm quản lý, kế toán hoặc nhân viên bán hàng.
Michael K

9
Tôi 64 tuổi và đã lập trình được hơn 40 năm. Tôi tự làm chủ và không có ý định nghỉ hưu - Tôi thích mã hóa quá nhiều. Tôi đã có một vài cơ hội để đi sâu hơn vào vai trò quản lý và luôn từ chối chúng. Tôi thường có ba hoặc 4 dự án đang diễn ra cùng một lúc.
tcrosley

11
Chúa ơi! Có rất nhiều Old Farts® được treo ở đây! Làm cho tôi nghĩ về một câu trích dẫn tôi đã lấy từ đâu đó: Máy tính có mùi mới, geek có mùi cũ.
Peter Rowell

34

Tôi đã bị trượt mã trong 21 năm nay, vì vậy tôi nghĩ rằng tôi đủ điều kiện để nhận xét về điều này.

Trước hết, có một số lượng người không hề nhỏ bắt đầu làm lập trình viên hoàn toàn có ý định chuyển sang vị trí quản lý sau một vài năm. Họ không viết mã vì họ thích viết mã, họ viết mã vì họ thấy đó là một bước cần thiết dọc theo con đường đến mục tiêu thực sự của họ. Tôi nghi ngờ đây là những người đang bảo bạn rời khỏi đường đua mã hóa nhanh nhất có thể.

Sau đó, có những người như tôi thích lập trình vì lợi ích của chính họ và kỹ năng của mọi người, chúng ta sẽ nói, chưa đủ cho vị trí quản lý (tôi đã thử, một lần, và đó là một thảm họa cho mọi người liên quan).

Có thể tiếp tục theo dõi kỹ thuật và nâng cao về lương và trách nhiệm. Và có rất nhiều vị trí cho những người lớn tuổi là tốt. Tôi 46 tuổi và tất cả, trừ một trong những người khác trong đội của tôi đều lớn tuổi hơn tôi.

Trong khi tôi đã biết một vài lập trình viên lớn tuổi rơi vào khuôn mẫu của MIT, tôi cảm thấy tự tin nói rằng điều đó không đúng nói chung. Tôi và hầu hết các lập trình viên mà tôi biết rằng ở độ tuổi của tôi đều có gia đình, hãy dành thời gian nghỉ ngơi mà chúng tôi cần, và nói chung là có cuộc sống bình thường. Chúng tôi không phải là động vật tiệc tùng, nhưng chúng tôi cũng không phải là nhà sư.

Vâng, có rất nhiều công việc lập trình xấu ngoài kia. Tuy nhiên, có một nỗ lực thực sự về phía ngành công nghiệp để cân bằng cuộc sống công việc và cá nhân, và nhiều công ty phần mềm đang làm những gì có thể để tránh các kịch bản chết chóc. Luôn luôn có những cuộc chạy nước rút (hiện tại tôi đang ở giữa, đây chỉ là bản chất của công việc kinh doanh), nhưng các cuộc đua marathon đang ngày càng ít đi.


15
Tôi không nghĩ rằng có một con số không tầm thường có ý định đi vào quản lý. Tôi nghĩ chính xác hơn khi nói rằng có một đa số áp đảo những người phát hiện ra rằng họ không giỏi về điều đó. Vì vậy, họ chuyển sang quản lý nhận ra rằng sự nghiệp lập trình của họ sẽ khá hạn chế.
Dunk

Thật hào hứng khi thấy câu trả lời của những người có kinh nghiệm. Tôi đến từ Ấn Độ và chúng tôi không thấy ai có kinh nghiệm như bạn xung quanh chúng tôi. Nó cho sức mạnh để ở trên dòng mà chúng tôi đã chọn.
Manoj Attal

@ Dunk: Đó là Nguyên tắc Peter: người bất tài được thăng cấp lên QUA mức độ bất tài của họ.
quick_now

4
@quickly - Nguyên tắc Peter áp dụng cho các nhà phát triển và quản lý và mọi tầng lớp xã hội. Tôi biết một số nhà quản lý mà tôi đã làm việc với tư cách là lập trình viên nhận ra rằng họ cần 50-60 giờ làm việc hàng tuần để hoàn thành ít hơn nhiều so với các nhà phát triển giỏi có thể làm trong một tuần 40 giờ thông thường. Họ đủ thông minh để nhận ra rằng một con đường sự nghiệp liên quan khác (tức là quản lý) là lựa chọn tốt nhất. Những người không nhận ra điều này cuối cùng có xu hướng bị sa thải vì khả năng của họ khi các nhà phát triển không biện minh cho mức lương cao hơn họ nhận được sau vài năm kinh nghiệm.
Dunk

2
@quickly - Họ là những người quản lý tốt hơn các nhà phát triển ít nhất là đánh giá bởi thực tế họ vẫn được tuyển dụng làm người quản lý. Một vài người bạn của tôi đã xuất sắc trở thành những người quản lý mà tôi phải thực hiện khá thường xuyên với tư cách là nhà phát triển. Tôi đã cố gắng quản lý trong một vài năm và tôi chưa bao giờ đau khổ như vậy. Tôi sợ hãi đi làm. Vì vậy, tôi trở lại để làm những gì tôi thích, nhưng đóng vai trò là người lãnh đạo kỹ thuật (vị trí được tạo ra chỉ dành cho tôi) trong các dự án. Điều đó có nghĩa là tôi phải chịu trách nhiệm cho tất cả các công nghệ phần mềm bao gồm cả nhiệm vụ của mọi người nhưng không phải là quản lý, quan hệ khách hàng, ngân sách, v.v ... Tôi hoàn toàn thích nó.
Dunk

25

Nghe có vẻ như lời khuyên của công ty lớn cổ điển vẫn đang bị ném đi sau nhiều thập kỷ.

Về cơ bản, một trong những vấn đề với sự phát triển nghề nghiệp là rất nhiều công ty không được thiết lập để cung cấp một sự nghiệp (trái ngược với công việc) cho các nhà phát triển. Trong rất nhiều ngành nghề khác, bạn có xu hướng từ từ chuyển qua các lớp trách nhiệm quản lý bổ sung hoặc các chuyên ngành đòi hỏi kinh nghiệm và chứng chỉ bổ sung để đạt được nếu bạn muốn giữ vai trò không quản lý. Tuy nhiên, phần quan trọng là có một sự phát triển nghề nghiệp đã biết trong các lĩnh vực đó, như "Tôi sẽ làm đối tác một ngày nào đó" hoặc "Tôi sẽ mở thực hành của riêng mình".

Vì một số lý do, rất nhiều công ty dường như đã chấp nhận suy nghĩ rằng "mã hóa" 1 chỉ là thứ bạn có được nhóm gõ để làm theo các thông số kỹ thuật chi tiết mà kiến ​​trúc sư phần mềm đưa ra. Vì nó được coi là một nghề nghiệp thấp, bạn không có được sự phát triển nghề nghiệp như một người viết phần mềm để kiếm sống trừ khi về cơ bản bạn không còn là một người thực hành và chuyển lên tầng quản lý.

Điều tôi cảm thấy bối rối là IBM đã nhận thấy vào những năm 1970 rằng việc không đưa ra một con đường sự nghiệp không quản lý đã khiến họ có một loạt các nhà quản lý tệ hại từng là những nhà phát triển cực kỳ giỏi. Điều đó đã được biết đến trong ngành trong một thời gian dài, nhưng bản ghi nhớ hoặc đã không được đưa vào phòng nhân sự hoặc về cơ bản mọi người không quan tâm đủ về vấn đề này.

Bây giờ, tôi đã làm phát triển phần mềm chuyên nghiệp từ cuối những năm 1980 / đầu những năm 1990, và tôi vẫn chủ yếu lập trình để kiếm sống. Vâng, tôi đã "làm thời gian" trong việc quản lý ở các giai đoạn khác nhau trong sự nghiệp của mình, nhưng tôi thấy tôi hạnh phúc hơn khi tạo ra phần mềm (và có thể quản lý một chút ở bên cạnh) hơn là trèo lên những gì mà sự nghiệp 'chính thức' phải làm thì, là, bị, ở.

Có những công ty ngoài kia nhận ra giá trị mà các kỹ sư phần mềm có kinh nghiệm có thể mang đến cho bàn. Bí quyết là tìm ra chúng nếu bạn muốn có một sự nghiệp lâu dài trong phát triển phần mềm. Tôi không nghĩ việc mọi người thoát khỏi 'mã hóa' sau 4-5 năm là một ý tưởng thực sự tốt trừ khi chúng ta muốn liên tục lặp lại những sai lầm trong quá khứ vì không có ký ức về họ.

1 Tôi đang sử dụng cả hai như một cách viết tắt để phát triển phần mềm và để cho thấy nghề nghiệp thường được xem bởi những người không liên quan đến nó - để trích dẫn PHB "nếu tôi không thể hiểu nó thì phải dễ dàng".


14

Không, tôi nghĩ đó là lời khuyên tệ hại. Bao lâu những người đưa ra lời khuyên này đã được lập trình? Đó sẽ là một trong những câu trả lời của tôi. Tôi đã làm việc ở Mỹ và Canada với tư cách là một nhà phát triển và thực sự không thấy vấn đề gì khi làm điều này cả đời nếu tôi chọn đó là con đường sự nghiệp của mình. Tôi đã là một nhà phát triển từ năm 1998 vì vậy tôi đã có hơn 5 năm trong lĩnh vực này và vẫn làm những gì tôi làm. Có thể có nhiều sự chuyển đổi khác nhau từ nơi này sang nơi khác hoặc tìm ra loại tiến trình nào họ muốn có, ví dụ như trở thành người quản lý, nhà phân tích hoặc kiến ​​trúc sư.

IMO, các lập trình viên có thể khá xã hội mặc dù điều quan trọng là chúng ta đang kiểm tra loại nhóm nào ở đây. Một bộ sưu tập người hâm mộ "Star Trek" cũng là lập trình viên có thể có bữa tiệc mà tôi tưởng tượng mặc dù những người khác có thể nghĩ đó là khập khiễng.


Lý do để hỏi về kinh nghiệm là nó có thể giúp cung cấp bối cảnh cho lời khuyên của họ. Mọi người đều có những thành kiến ​​không nên quên ở đây. Mọi người nên có thể làm theo đam mê của họ và đối với một số người lập trình là niềm đam mê của họ. Tôi đã thấy các nhà phát triển rất hào hứng với việc phát triển phần mềm đến mức nó khá dễ lây lan. Một số người có thể phát triển sang các lĩnh vực khác và những người khác vẫn có thể phát triển trong nhiều thập kỷ. Những gì làm việc cho một người có thể không làm việc cho người khác.


Bạn biết đấy, người tôi nghe thấy điều này nhiều nhất là một người đã lập trình hơn 40 năm. Vì vậy, ... xem những gì bạn giả định.
Alex Feinman

Tôi thực sự hy vọng các lập trình viên sẽ xã hội hơn và phá vỡ định kiến ​​của những người không xã hội. Các cố vấn bao gồm chủ yếu là có kinh nghiệm tiết kiệm như của riêng tôi và họ dường như đang cố gắng thực tế để thay đổi tàu sân bay của họ.
Yasir

3
@Muhammad: Đó là "sự nghiệp", không phải "người vận chuyển".
Cuộc đua nhẹ nhàng với Monica

10

Thông thường khi mọi người đưa ra lời khuyên kiểu này ("Đừng mãi là một con khỉ mã!"), Họ không có nghĩa là bạn nên theo đuổi thứ gì đó không liên quan đến lập trình, mà hãy dành cho vị trí quản lý nơi bạn dành nhiều thời gian hơn cho việc lập kế hoạch phát triển và quản lý đội hơn thực tế mã hóa. Điều này là tốt, và nhiều người cuối cùng sẽ thích sự thay thế này, nhưng nhiều lập trình viên hoàn toàn ghét những trách nhiệm loại "business-y" này. Nếu bạn thích viết mã, vẫn còn chỗ cho sự tiến bộ, và các lập trình viên cao cấp trong nhiều tổ chức không quá xa phía sau các nhà quản lý của họ về tiền lương và lợi ích. Dù bằng cách nào, khi bạn có được nhiều kinh nghiệm hơn, bạn sẽ được cung cấp các cơ hội và cơ hội để thăng tiến, có thể ở cả hai phía của quang phổ. Nắm bắt từng cơ hội trong từng trường hợp và quyết định xem bạn có muốn đảm nhận vai trò cụ thể đó không. Bạn đã không làm cho nó có vẻ như bạn ghét lập trình nói chung, nhưng nhiều hơn là bạn sợ những gì người khác đang nói với bạn về cách mọi thứ đang diễn ra.Đừng nghe họ . Họ không phải là bạn, và nếu bạn thích mã hóa, thì hãy tiếp tục viết mã. Có rất nhiều lập trình viên trên Lập trình viên SE yêu thích những gì họ làm hàng ngày và đã làm nó trong nhiều năm.


8

Tôi chỉ nêu lên tất cả các câu trả lời có một số biến thể của "cứ tiếp tục làm nếu bạn thích nó", bởi vì tôi nghĩ rằng đây cuối cùng là câu trả lời đúng - nhưng sau đó tôi nghĩ về quan điểm thay thế trong một phút, để xem liệu tôi có thể đưa ra một Advocate Devil tốt chống lại tùy chọn "tiếp tục lập trình" ....

Tôi nghĩ rằng ý tưởng "di chuyển lên và xuống" của lập trình thực sự không quá độc đáo đối với lập trình. Thay vào đó, đó là lời khuyên tiến bộ nghề nghiệp chung cho rất nhiều ngành nghề kỹ thuật - về cơ bản, bất kỳ điều gì có xu hướng tự giới hạn và nói chung đủ để không ai thực sự trở thành một bậc thầy về nó. Lập trình, tuy nhiên, có thể loại rơi vào giữa. Có những tranh luận cả cho và chống theo nghĩa này.

Hãy để tôi giải thích bằng cách so sánh làm bác sĩ phẫu thuật so với làm kế toán:

Một bác sĩ phẫu thuật tim, nếu cô ấy trở nên nổi tiếng thế giới và vĩ đại trong lĩnh vực của mình, có thể có một sự nghiệp rất tốt và hiệu quả chỉ đơn giản là một bác sĩ phẫu thuật tim. Cô ấy có thể đưa ra một quy trình mới đặc biệt nhằm cách mạng hóa phẫu thuật tim và tim mạch, và tiếp tục cứu sống những ca phẫu thuật này. Tóm lại, sự nghiệp ít nhiều bắt đầu và dừng lại ở việc thực sự làm công việc kỹ thuật mà bạn làm tốt nhất . Khác với việc giảng bài hoặc viết về thủ tục mới mà cô nghĩ ra - sự nghiệp vẫn giống nhau - kỹ thuật.

Mặt khác, một kế toán viên có lẽ chỉ muốn làm "công việc kế toán" cổ điển, cấp thấp như khai thuế cá nhân chỉ trong những năm đầu của sự nghiệp. Tôi cũng không nghĩ rằng kế toán có thể chỉ đơn giản muốn trở thành những con khỉ khai thuế cho toàn bộ sự nghiệp của họ. Họ thà đi lên và quản lý, hoặc bắt đầu các công ty riêng của họ. Ở bất cứ giá nào, nhiều khả năng là một sự chuyển đổi nghề nghiệp "tự nhiên" đối với nhiều kế toán viên không nằm trong công việc "kỹ thuật" cơ bản, tiêu chuẩn và "lên" thành một thứ gì đó mang tính quản lý và chiến lược hơn.

Vấn đề là, nếu bạn nghĩ về hai nghề nghiệp này: đối với một người thì không sao, cứ làm điều tương tự cho cuộc sống. Đối với người khác, nó trông không rõ ràng. Tôi nghĩ đây là chìa khóa - đây là lý do tại sao mọi người đưa ra lời khuyên này. Họ có một ý tưởng trong đầu rằng trở thành một lập trình viên là một vai trò kỹ sư cấp thấp và rằng bạn không thực sự tham vọng với nghề nghiệp của mình nếu bạn cứ làm công việc mã khỉ suốt đời. Đối với rất nhiều người, ý tưởng này có lẽ được sinh ra từ sự thiếu hiểu biết. Đối với những người khác, có lẽ họ chỉ muốn uy tín của việc chuyển lên một hệ thống phân cấp quản lý.

Trong mọi trường hợp, tôi nghĩ rằng đây là nguồn gốc cơ bản của hiện tượng này. Mọi người có xu hướng nghĩ về nhiều ngành nghề kỹ thuật là giới hạn tự nhiên. Khi mọi người già đi, họ vẫn không nên làm công việc kỹ thuật nặng nề, mà nên chuyển lên và quản lý hoặc một cái gì đó "cấp cao hơn" nói chung như điều hành doanh nghiệp của riêng họ.


3
Tôi chỉ có thể bắt đầu coi mình là một bác sĩ phẫu thuật mã.
CoderDennis

7

Hoặc bạn đam mê lập trình, trong trường hợp đó, không có lý do gì để ngừng làm việc đó, mãi mãi.

Hoặc bạn không, trong trường hợp đầu tiên bạn không nên làm điều đó.

Nếu, tại một thời điểm nào đó, niềm đam mê dành chỗ cho những thứ khác, điều đó tốt, và khi nó xảy ra, bằng mọi cách, hãy tìm một cái gì đó khác để làm, nhưng trong lúc đó, hãy tận hưởng!


5

Nếu bạn đã kết hôn và / hoặc có con, rất có thể bạn sẽ rời khỏi chương trình sau một vài năm. Diễu hành tử thần là tiêu chuẩn trong ngành này, không phải là ngoại lệ, và nhiều người phối ngẫu / con cái không thích có bố / mẹ xa nhà quá nhiều. Đây là lý do mà rất nhiều nhà phát triển rời khỏi lập trình trước 30 tuổi.

thông thường họ phải dành thêm 2-3 giờ trong văn phòng để hoàn thành các nhiệm vụ lập trình khẩn cấp. Tôi có cảm giác rằng tình hình cũng hơi giống ở các quốc gia và khu vực khác.

Vâng, kiểu quản lý này rất phổ biến - mặc dù nó đã được ghi nhận rõ ràng trong 150 năm qua rằng chế độ giòn là cách tồi tệ nhất có thể để hoàn thành công việc . Ở Mỹ, theo đạo luật Liên bang, tất cả các lập trình viên đều được "miễn trừ", điều đó có nghĩa là trong trường hợp không có hợp đồng liên minh thì ngược lại, chúng tôi không được tăng ca.

29 USC § 213 a (17) bất kỳ nhân viên nào là nhà phân tích hệ thống máy tính, lập trình viên máy tính, kỹ sư phần mềm hoặc công nhân có kỹ năng tương tự khác ...

http://codes.lp.findlaw.com/uscode/29/8/213

Lời khuyên của tôi là luôn luôn có một số "Kế hoạch B" - một việc bạn sẽ làm khi bạn muốn ra ngoài, hoặc bị đẩy ra ngoài. Đối với một số người, điều đó liên quan đến việc chuyển sang quản lý / mặt tối. Đôi khi, họ làm điều này bởi vì họ không, sẽ không hoặc không thể theo kịp những thay đổi trong công nghệ. Đôi khi họ làm điều này bởi vì họ muốn giải quyết vấn đề quá lớn cho một người để giải quyết.

Nếu bạn đến từ một nền văn hóa nơi chứng chỉ quá khứ của bạn mới là vấn đề, và một khi bạn đã "tham gia" một khóa học về một chủ đề thì bạn không bao giờ phải học lại nó (tôi gọi đây là lý thuyết giáo dục về vắc-xin ), thì bạn sẽ thấy rằng sau một vài năm những gì bạn học được không hữu ích; Đối với quan điểm văn hóa này, bạn sẽ phải rời bỏ nghề trừ khi "sự xấu hổ" không ngừng học hỏi không phải là điều làm phiền bạn. Thành thật mà nói, thường là các nhà quản lý người Mỹ đã đi đến một trường kinh doanh có địa vị rất cao chịu đựng điều này, nhưng tôi đã bắt gặp những người bị xúc phạm bằng cách phải học lại những gì họ đã mất nhiều năm trước đó.


5
Diễu hành tử thần có thể là chuẩn mực trong lĩnh vực lập trình của bạn, nhưng có rất nhiều nơi mà sự cân bằng giữa công việc và cuộc sống được coi trọng.
justkt

"Diễu hành tử thần là tiêu chuẩn trong ngành này" - không phải ở Mỹ, theo money.usnews.com/money/careers/articles/2010/12/06/ Thẻ - dường như chỉ có 15% làm việc trong 50 giờ một tuần. Đó hầu như không phải là một cuộc tuần hành chết chóc và chỉ có 15% ngành công nghiệp làm điều đó ít nhất (dữ liệu là từ năm 2008), có nghĩa là 85% làm việc dưới 50 giờ mỗi tuần. Tò mò - bạn có dữ liệu cho "rất nhiều" nhà phát triển rời khỏi chương trình trước 30 tuổi không? Đây không phải là những gì tôi đã thấy, và bạn đã khơi gợi trí tò mò của tôi. Cảm ơn bạn!
Ethel Evans

2
Bạn sẽ chỉ được yêu cầu đưa thêm thời gian nếu bạn để họ yêu cầu bạn làm thêm thời gian. Bao nhiêu thời gian cần thiết phải luôn luôn được yêu cầu tại một cuộc phỏng vấn việc làm và bất kỳ câu trả lời nào ngoài hiếm khi sẽ dẫn đến một lời cảm ơn lớn khi lời mời làm việc đến. Làm nhiều công việc hơn những người khác trong 40 giờ của bạn và những người duy nhất sẽ quan tâm rằng bạn không đặt thêm giờ là những người không đủ năng lực phải mất 50-60 giờ để hoàn thành công việc của họ.
Dunk

2
Tôi đã lập trình chuyên nghiệp được 15 năm. Tôi đã là một người chồng trong 4 năm qua và là một người cha trong 3 năm qua. Tôi là một lập trình viên giỏi hơn tôi 4 năm trước và không có ý định chuyển sang một nghề nghiệp khác.
CoderDennis

3
Tôi rời bỏ nghề đầu bếp để trở thành lập trình viên vì lý do lối sống. Đêm muộn trong văn phòng để đáp ứng thời hạn là không có gì so với làm việc mỗi đêm, mỗi cuối tuần và mỗi kỳ nghỉ lễ sau đó thức dậy sớm để làm lại từ đầu.
Christopher

5

lập trình phù hợp với một vài năm đầu của hãng (hầu hết trong số họ mất 5 năm) và người ta phải thay đổi hướng đi sau nó. Lý do họ trình bày là đau đầu và áp lực liên quan đến lập trình. Họ cũng nói rằng các lập trình viên ít hòa đồng hơn và thường không thích dành thời gian cho gia đình, v.v. và đặc biệt "Ôi thôi, bạn không thể lập trình trong toàn bộ cuộc sống của mình!"

Tôi chưa bao giờ nghe điều đó, và tất cả nghe có vẻ vô lý.

Nếu bạn là một lập trình viên và bạn thích nó, cứ tiếp tục ... hoàn toàn không có lý do gì để tự ý bỏ việc và buộc bản thân phải vật lộn để tìm một nghề nghiệp khác để thay thế nó.


5

Rất nhiều người ở Pakistan và Ấn Độ dường như chuyển sang các ngành CNTT khác sau một vài năm. Với các công ty Ấn Độ tôi làm việc với họ có chính sách chỉ tuyển dụng lập trình viên; tất cả các nhà phân tích kinh doanh, kiến ​​trúc sư, quản lý dự án, quản trị viên cơ sở dữ liệu và các chuyên gia khác ban đầu đều bắt đầu như một lập trình viên. Điều này gợi nhớ đến nhiều cửa hàng xử lý dữ liệu của công ty ở Mỹ cho đến giữa những năm 1980. Vì vậy, trong loại hình tổ chức đó, vâng, đó là tiêu chuẩn dự kiến ​​để "tiến lên" nếu không nó sẽ xuất hiện bạn không thành công lắm. Chúng tôi đang cố gắng thay đổi suy nghĩ này bởi vì trong nhóm của chúng tôi, chúng tôi coi các nhà phát triển có kinh nghiệm cao là cực kỳ có lợi cho các dự án. Năm năm là khoảng thời gian vừa đủ để có được công việc thực sự tốt trong lĩnh vực này.

Dù sao, tôi sẽ không để người khác nói cho bạn biết bạn nên làm gì - mặc dù nếu bạn làm việc trong một tổ chức như tôi đã mô tả, bạn có thể cần xem xét khả năng tồn tại lâu dài của nghề nghiệp trong lập trình nếu điều đó không được mong đợi hoặc tôn trọng bạn là.


Tôi ước được ở trong công ty của bạn sau đó :)
Yasir

Thật. Năm năm là không có gì .
Cuộc đua nhẹ nhàng với Monica

3

Tôi đã làm việc như một nhà phát triển trong khoảng một thập kỷ, vì vậy giống như nhiều người khác đã đăng ở đây, tôi có một chút kinh nghiệm thích hợp cho câu hỏi này. Khoảng 5 năm tôi thực sự thấy mối quan tâm của mình trong lĩnh vực này bắt đầu suy yếu dần. Tôi là một trong những nhà phát triển cao cấp trong công ty của tôi và đã ở đó khá lâu. Cảm giác như chúng tôi luôn làm những điều cũ kỹ ngay cả khi chuyển từ Visual Basic 6 sang C #, và tôi càng ngày càng không quan tâm, dành quá nhiều thời gian để duyệt các trang web, v.v.

Công ty mà tôi làm việc không có ai chú ý đến những gì đang diễn ra trong cộng đồng phát triển bên ngoài văn phòng của chúng tôi. Các khái niệm như TDD và phần còn lại của các thực tiễn XP đã trở thành xu hướng chủ đạo, các mẫu thiết kế, RẮN , tái cấu trúc và tương tự đang đạt được tầm quan trọng, .NET CLR giới thiệu niềm vui của thuốc generic, nhưng chúng tôi không biết điều đó. Tôi sẽ tự do thừa nhận rằng tôi là một phần của vấn đề, tôi đã không nhìn vào những gì người khác đang làm, nhưng không ai khác trong công ty, bao gồm các loại kiến ​​trúc sư phần mềm.

Sau khi trôi nổi theo cách nửa vời này trong một vài năm và tại một vài công ty khác có phong cách tương tự, tôi thấy mình đang tìm một công việc mới và thấy vô số điều khoản không có ý nghĩa gì với tôi. Tại thời điểm này, tôi nhận ra rằng tôi có rất nhiều điều để học và vì vậy hãy tập trung vào việc tăng tốc. Khám phá thế giới blog, đăng ký các podcast như .NET Rocks, tham dự một vài cuộc họp nhóm người dùng và các hoạt động khác như vậy đã giúp tôi tăng tốc với các hoạt động tốt nhất trong ngành. Khi làm như vậy, tôi bắt đầu lấy lại sự quan tâm của mình đối với việc phát triển phần mềm. Việc trực tiếp thử nghiệm một số mã mới với khung TDD, tái cấu trúc để đưa ra giải pháp sạch hơn, v.v. làm cho toàn bộ trải nghiệm trở nên thú vị hơn nhiều, và đẩy tôi vào tìm kiếm một công việc mà những kỹ năng như vậy sẽ được mong muốn. Bây giờ, lần đầu tiên sau nhiều năm, tôi yêu công việc của mình. Một cái gì đó mà tôi chưa bao giờ nghĩ rằng tôi đã nói một vài năm trước đây.

Vấn đề, sau tất cả sự bực bội của tôi, là cố gắng giữ liên lạc với những gì đang diễn ra bên ngoài công ty của bạn, bên ngoài đất nước của bạn ngay cả khi một số vấn đề của bạn có thể khá cụ thể về văn hóa. Nếu bạn có thể tìm thấy sự quan tâm, hứng thú và động lực trong những gì đang xảy ra, bạn có thể đưa một số điều đó trở lại với thói quen hàng ngày của bạn và làm cho cuộc sống công việc của bạn trở nên thú vị hơn (và có thể khiến bạn trở thành một nhà phát triển hiệu quả và tốt hơn so với các đồng nghiệp của bạn, hoặc thậm chí giúp kéo chúng cùng với bạn). Nếu bạn không cảm thấy bất kỳ sự nhiệt tình nào cho chủ đề này, thì có lẽ cuộc sống mã hóa không dành cho bạn.


2

Trong sự nghiệp là một lập trình viên, bạn (hy vọng) sẽ chuyển từ vị trí "khỉ mã" cấp cơ bản sang lập trình viên cao cấp khi bạn làm quen hoàn toàn với ngôn ngữ đã chọn và sử dụng các mẫu thiết kế, thêm các kỹ năng phân tích / thiết kế vào trở thành một nhà phân tích phần mềm, thu thập một số kỹ năng và yêu cầu của mọi người và trở thành một nhà phân tích kinh doanh, sau đó hòa mình vào một số kiến ​​trúc phần cứng và trở thành một nhà phân tích hệ thống, lúc đó bạn sẽ đưa ra sáu con số và có nhu cầu rất cao. Hoặc, từ Senior, bạn có thể tiếp tục phân cấp giám sát để lãnh đạo nhóm và sau đó là người quản lý dự án.

... nhưng, bạn sẽ LUÔN "lập trình". Bạn sẽ LUÔN có một tình huống mà cá nhân bạn sẽ cần phải ngồi xuống và viết một số mã. Chỉ khi bạn tiến xa hơn là một phần của nhóm phần mềm, để giám sát một nhóm phần mềm và xử lý tiền và hậu cần của dự án, bạn sẽ ngừng thực hiện nó hàng ngày và, có lẽ, ngừng tự gọi mình là "lập trình viên".


+! - Vì là người đầu tiên phân biệt giữa việc chỉ là một con khỉ mã (nơi nào đó bạn không muốn ở lại lâu vì lương của bạn rất hạn chế) và trở thành một nhà phát triển, đó là điều bạn có thể tạo dựng sự nghiệp cả đời và có được một mức lương tốt.
Dunk

@Dunk, tôi đến trễ câu hỏi này (và bình luận của bạn), nhưng tôi muốn nói thêm rằng cách tốt nhất mà tôi biết để đứng ngoài đấu trường mã khỉ là chỉ đơn giản là làm việc cho một công ty nhỏ. Đã làm gần như không có gì ngoài khởi nghiệp cả đời tôi, tôi có thể nói với bạn rằng ở những nơi như vậy thường có rất ít chỗ để hạn chế nhãn. Bản chất do_or_die của các công ty khởi nghiệp thường rất năng nổ và không ai nói "Tôi là nhà phát triển và bạn là một lập trình viên". Hoặc ít nhất nếu họ làm như vậy, họ có thể không tồn tại rất lâu.
tgm1024

@ tgm1024-Là một lập trình viên và phát triển nhiều kỹ năng có thể đạt được cho dù bạn làm việc ở quy mô nào. Cá nhân, tôi nghĩ rằng làm việc tại một công ty lớn hơn sẽ có cơ hội học các kỹ năng cơ bản của 'âm thanh' hơn vì họ có xu hướng đã phát triển các phương pháp thực tiễn, đã thử và có phương pháp, phù hợp với mọi quy mô dự án. Mặt trái của việc biết các kỹ thuật phát triển chắc chắn là các cuộc đụng độ xảy ra khi chạy vào một trong những người 'chỉ cần hoàn thành công việc'. Họ không biết đủ để hiểu cách tiếp cận 'chỉ cần hoàn thành công việc' của họ ...
Dunk

... sẽ mất 5 lần lâu hơn so với làm đúng. Không bao giờ có đủ thời gian để làm điều đó ngay lần đầu tiên nhưng có nhiều thời gian để quay lại và làm đi làm lại nhiều lần. Đó là phương châm của họ, hoặc ít nhất đó là những gì nên được dán trên sơ yếu lý lịch của họ.
Dunk

2

Lập trình không khác gì so với mọi thứ khác trong cuộc sống: một số thứ bạn sẽ làm mãi mãi, trong khi những thứ khác thì phù du hơn. Chương trình miễn là bạn thích lập trình. Một ngày nào đó bạn có thể cảm thấy no, như sau một bữa ăn ngon, và tự nhiên chuyển sang một thứ khác thu hút bạn. Nhưng cho đến lúc đó tôi sẽ không lo lắng về nó quá nhiều. Bằng chứng là những câu trả lời khác, không có gì lạ khi tận hưởng sự nghiệp lập trình trong nhiều thập kỷ. :-)


2

Có rất nhiều người chỉ bước vào một nghề lập trình nhìn vào lĩnh vực CNTT đang bùng nổ. Họ không thực sự quan tâm đến lập trình, nhưng họ làm việc đó chỉ để kiếm sống. Những người như vậy chán ngấy công việc của họ sau một thời gian và có thể cho bạn lời khuyên như vậy.

Tôi đã lập trình trong một thời gian dài. Tôi bắt đầu tự lập trình khi còn đi học, và tôi vẫn đang làm nó và sẽ tiếp tục làm nó mãi mãi. Bây giờ tôi đang học tại trường Đại học và đôi khi tôi ngồi viết cả ngày không phải để hoàn thành bài tập hay kiếm tiền, nhưng vì tôi yêu nó. Tôi không cảm thấy mình thiếu thứ gì.

Câu trả lời rất đơn giản - nếu bạn thích thì hãy làm, nếu bạn không thích thì đừng làm. Nếu bạn thích loại công cụ quản lý hơn lập trình thì không có hại gì khi chuyển sang quản lý sau 5 năm kinh nghiệm lập trình.

Có thể mất một mảng tóc do suy nghĩ quá nhiều, uống quá nhiều caffeine và trở nên kém hòa đồng là những điều tôi sợ có lẽ

Bạn có thể thấy rằng một số lập trình viên không phải là rất xã hội. Nhưng điều đó đến với họ một cách tự nhiên. Họ dành nhiều thời gian cho những thứ táo bạo và vì vậy kỹ năng xã hội của họ hơi kém phát triển. (Google "vấn đề của người thông minh" để biết thêm.) Nếu hiện tại bạn là người xã hội, tôi không nghĩ bạn sẽ trở nên ít xã hội hơn trong tương lai vì lập trình. Điều duy nhất là thời gian bạn dành cho công việc. Nếu bạn nghĩ rằng bạn đang dành cả ngày tại văn phòng thì có vấn đề. Vì tính chất của công việc lập trình, đôi khi bạn có thể phải ngồi thêm giờ. Nhưng nếu điều này xảy ra rất thường xuyên tại nơi làm việc hiện tại của bạn, bạn có thể thử chuyển sang một công việc khác.


1

Không biết về tình hình ở Pakistan, nhưng ở nước tôi nghề này rất tệ, và được trả lương cao hơn. Tôi sẽ lập trình chắc chắn cả đời và học các ngôn ngữ mới, vì đó là thứ tôi thực sự thích. Câu hỏi là nếu tôi sẽ phải thay đổi sang một công việc khác, và chỉ viết mã như một sở thích. Hoặc có thể tôi sẽ chạy trốn khỏi đất nước mình, người biết ... Nhưng lập trình là để có sức mạnh làm những việc mà người khác phải trả tiền.


1

Chỉ cần một suy nghĩ khác, không có gì sai khi bạn tiến lên nấc thang công ty trong khi viết mã trong thời gian rảnh rỗi. Tôi thấy tiền mã hóa là một bản phát hành hay từ các cuộc họp phân tích và đặc tả kinh doanh tẻ nhạt đi kèm với việc trở thành trưởng nhóm dịch vụ công nghệ. Tôi thực sự đã kết thúc với chủ đề này khi tìm kiếm một cái gì đó trên Stack Overflow về Ruby on Rails, thứ mà tôi đang có một thời gian học tập tuyệt vời.

Ngoài ra, bằng cách giữ vững tinh thần về mặt kỹ thuật, bạn sẽ tiếp tục phát triển các kỹ năng kỹ thuật mạnh mẽ sẽ giúp ích cho công việc. Các lập trình viên có xu hướng tôn trọng tốt hơn đối với một người quản lý có thể nói chuyện và đi bộ. Tôi có cảm giác rằng người nói với bạn lời khuyên này không thuộc loại này.


0

Những gì bạn bè của bạn nói về lập trình viên cũng có thể áp dụng như nhau cho bất kỳ ai tham gia sâu vào bất kỳ lĩnh vực thử thách nào.

Vì vậy, câu hỏi của bạn thực sự là: "Tôi có muốn có một sự nghiệp đòi hỏi sự cống hiến cao độ để các lĩnh vực khác trong cuộc sống của tôi có thể bị tổn hại đôi chút hay tôi muốn làm điều gì đó mà tôi có thể quên hoàn toàn khi tôi nghỉ việc đêm và quay lại vào sáng hôm sau? "

Bạn phải biết rõ bản thân mình để trả lời câu hỏi này và câu trả lời có thể thay đổi theo thời gian.

IMO, miễn là bạn cảm thấy hài lòng và được thử thách với tư cách là một lập trình viên, hãy tham gia - đừng lo lắng về điều đó trừ khi bạn thấy mình khao khát thay đổi (hoặc bạn không thể tìm được việc ...) - nếu và khi đó đến, nó sẽ đến

HTH


0

Cha tôi đã làm việc như một lập trình viên trong 24 năm qua. Anh ấy chỉ nói với tôi một điều: "Quá nhiều thứ đều tốt chẳng vì gì cả". Nhưng nó không phù hợp để lập trình.


1
Ông tôi là một kỹ sư cơ khí trong suốt sự nghiệp của mình và ông nói với tôi, "khi mọi người trở nên có kinh nghiệm hơn, họ càng ngày càng học ít hơn, cho đến khi họ biết mọi thứ về mọi thứ". Tôi nghĩ lập trình là phản đề cho điều đó; bạn chỉ đơn giản là không thể lập trình mà không có kiến ​​thức về lĩnh vực hoặc doanh nghiệp mà bạn đang viết chương trình.
KeithS

@KeithS. Tôi không thể không cảm thấy đây là sự khác biệt thực sự giữa các lập trình viên giỏi và nghèo. Đó không phải là chất lượng của mã họ sản xuất. Đó là liệu những gì họ sản xuất có thực sự giải quyết được vấn đề của khách hàng hay không.
ZweiBlumen

0

Lập trình thực sự là một lĩnh vực khó khăn và có rất ít phần thưởng khi bạn so sánh nó với các ngành nghề khác, đặc biệt là ở Pakistan. Khi tôi ở Pakistan, tôi đã nghe nói về những lập trình viên trẻ tài năng được trả lương cao (không phải BTW tuyệt vời) nhưng họ phải lấy rất nhiều dầu từ họ. Cá nhân tôi không muốn lập trình trong một thời gian dài. Nhưng sau đó tôi sẽ làm một cái gì đó :) Và lập trình rất thú vị.

Bạn nhận được rất nhiều kinh nghiệm khi bạn già đi trong hồ sơ của bạn. Tôi nghe điều đó và tôi nghĩ đó không phải là sự thật. Tất nhiên, nếu bạn ở trong trạng thái tâm trí mà bạn không thể tập trung hoặc mất hứng thú, bạn không thể thực sự lập trình. Vì vậy, cuộc sống xã hội của bạn, đặc biệt là các vấn đề và lợi ích, có thể ảnh hưởng lớn đến các kỹ năng của bạn trong lĩnh vực này.

Cá nhân tôi sẽ chuyển một cách từ lập trình và đi đến dịch vụ công cộng nhưng sau đó lập trình cũng rất vui. Và bạn phải có một chút điên rồ để trở thành một lập trình viên.


0

Theo kinh nghiệm của tôi, có hai loại chuyên gia ở các vị trí CNTT cao cấp.

  • Quản lí IT
  • Kỹ thuật viên cao cấp

Tất cả phụ thuộc vào nơi bạn muốn phân nhánh. Nếu bạn thấy trước việc viết mã cho đến khi nghỉ hưu, thì bạn muốn tùy chọn thứ hai. Nhưng nếu bạn muốn trở thành trưởng nhóm và quản lý mọi người thay vì mã, thì trước đây sẽ là lựa chọn tốt nhất.

Không có câu trả lời đúng. Rất nhiều người trong chúng ta ở đây thực sự thích viết mã và lập trình, giải quyết các vấn đề nghiệt ngã. Nhưng cũng có rất nhiều người thích khía cạnh "bức tranh lớn hơn", như quản lý con người / dự án.

Đây không chỉ là khía cạnh phát triển của CNTT. Bạn thấy điều này "ngã ba chuyên nghiệp trên đường" trong các khía cạnh khác như mạng, quản trị cơ sở dữ liệu, quản trị hệ thống, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.