Có phải 4-5 năm là cuộc khủng hoảng giữa cuộc đời của Midem Cuộc sống lập trình?


330

Tôi đã lập trình C # chuyên nghiệp được hơn 4 năm rồi. Trong 4 năm qua, tôi đã làm việc cho một vài công ty nhỏ / vừa, từ các cơ quan quảng cáo web / quảng cáo trực tuyến, các cửa hàng phần mềm cụ thể trong ngành công nghiệp nhỏ cho đến một công ty nhỏ. Tôi chủ yếu làm "ứng dụng kinh doanh" liên quan đến việc sử dụng các ngôn ngữ lập trình cấp cao (rác được thu thập) và kinh nghiệm chung của tôi là tất cả các công việc tôi đã làm có thể chuyên nghiệp hơn. Rất nhiều thứ đã được thực hiện không chính xác (vội vàng) chủ yếu là do yếu tố chi phí mà mọi người luôn muốn một thứ gì đó ngay bây giờ, và với số tiền nhỏ nhất có thể chi tiêu. Tôi tiếp tục nghĩ có lẽ nếu tôi có thể làm việc cho một công ty lớn hơn hoặc một công ty phù hợp hơn với các lập trình viên, hoặc một nơi nào đó ' S có tiền và thời gian để thực sự xây dựng một cái gì đó lâu dài hơn và dễ bảo trì hơn Tôi có thể đã tận hưởng nhiều hơn trong sự nghiệp của mình. Tôi chưa bao giờ có một người cố vấn trực tuyến hướng dẫn tôi trong suốt 4 năm sự nghiệp. Tôi có khá nhiều blog / google / tự dạy lập trình viên ngoài bằng cử nhân CNTT của tôi.

Tôi cũng đã quan sát thấy một vấn đề khác mà hầu hết được gọi là lập trình viên cấp cao của NX trong môi trường làm việc của tôi, thực sự không phải là kỹ năng cao cấp. Họ là những người cấp cao của Edward chỉ vì họ là một lập trình viên lâu năm, nhưng mã họ viết hoặc các quyết định họ đưa ra hoàn toàn là rác rưởi! Họ không muốn học, họ không muốn trở nên tốt hơn họ chỉ muốn được trả tiền và làm những gì họ đã nói để làm điều đó có ý nghĩa và hầu hết chúng ta đều như vậy. Có lẽ đó là lý do tại sao họ đang ở đây. Nhưng tôi không muốn trở thành như họ Tôi muốn trở nên tốt hơn. Tôi đã rơi vào trạng thái tinh thần rằng tôi không còn có ý định trở thành một lập trình viên cho sự nghiệp tương lai của mình. Tôi bắt đầu nghĩ rằng có thể có những điều tốt hơn ngoài kia để làm việc. Càng đọc nhiều blog, càng có nhiều cách thực hành tốt nhất mà tôi đã thử, tôi càng cảm thấy mình đang rời xa khỏi thực tế của tôi. Nhưng tôi không phải là một lập trình viên tuyệt vời nếu không tôi không nghĩ mình đang ở hiện tại. Tôi nghĩ 4-5 năm là một giai đoạn có thể là một bước tiến sự nghiệp khôn ngoan hoặc một bước ra khỏi nơi bạn đang ở.

Tôi chỉ muốn nghe những gì người khác nói về những gì tôi đã đề cập ở trên và liệu bạn đã trải qua tình huống tương tự trong sự nghiệp lập trình trước đây của bạn và cách bạn xử lý nó. Cảm ơn.


73
4- 5, xin lỗi, tôi nghĩ rằng nó đã đọc 45 năm và có thể thúc đẩy một số cuộc thảo luận thú vị. Các em :-) (32 tuổi, vẫn chưa hết khủng hoảng)
Hiệu suất cao Mark

7
Chỉ bởi vì ngày nay thật dễ dàng để giỏi một thứ gì đó, nhưng thường là giỏi một thứ gì đó sẽ không bị cắt giảm nữa, bạn phải cực kỳ giỏi trong những gì bạn làm nhưng trong suốt trải nghiệm của tôi, tôi đã thấy khá nhiều 2 người tối đa những người tuyệt vời ở những gì họ làm.

5
Câu hỏi thú vị, nhưng không có câu trả lời thực sự. Tôi thực sự muốn giới thiệu trạng thái wiki cộng đồng.
David Thornley

3
Một phiếu bầu khác cho cộng đồng-wiki

4
Lập trình cần một thời gian dài để thành thạo và hầu hết mọi người theo đuổi tiền bạc và vinh quang, chơi chính trị công ty. norvig.com/21-days.html Tại đây, tại đây dành cho các lập trình viên cao cấp. Tôi ở phía bên kia của hàng rào, sau hơn 20 năm. Tôi phải thuê những người này và không thường xuyên bạn tìm thấy một người thực sự có thể tự nhận là một lập trình viên cao cấp. Hầu hết những người này hầu như không hoàn thành năm đầu tiên của họ 5 lần, không giống như 5 năm xây dựng và phát triển.

Câu trả lời:


195

Bạn mở một câu hỏi rất thú vị. Tôi hoàn toàn đồng ý với bạn. Tôi đã thực hiện các quan sát tương tự.

Tôi đã lập trình chuyên nghiệp được vài năm rồi và điều tôi nhận thấy là số lượng lập trình viên giỏi ngoài kia, những nhà phát triển tuyệt vời yêu thích công việc của họ và có thể làm điều đó với chất lượng và niềm đam mê gần như bằng không. Tôi chỉ có thể gặp một người có thể dạy tôi một cái gì đó. Hầu hết những gì tôi biết tôi đã tự học, đọc sách và diễn đàn, hỏi trên các diễn đàn và googling cho những suy nghĩ mặc khải.

Sau một thời gian, tôi không hối hận về điều này.

Các tùy chọn để học trong môi trường làm việc thường có thể bị hạn chế. Bạn không bắt đầu mọi thứ. Bạn không hoàn thành chúng. Bạn không thiết kế, không cải tiến, không tái cấu trúc, không nghĩ về kiến ​​trúc, bạn chỉ cần viết mã và hack mọi thứ cùng nhau. Đó là cách hầu hết các cửa hàng làm việc. Không chỉ bạn không học được gì, nhiều khả năng là bạn sẽ học được hầu hết những điều sai lầm về cách KHÔNG phát triển phần mềm. Tôi đã liên tục nhìn thấy những thứ đáng sợ xung quanh tôi, tất cả những thứ chống mẫu mà bạn đã nghe nói. Điều tồi tệ hơn là tôi buộc phải tự làm chúng.

Tôi không biết nó đã xảy ra như thế nào, nhưng tôi đã xoay sở để xây dựng một rào cản đầu vào bằng cách nào đó. Tôi luôn cởi mở, lắng nghe và nếu tôi thấy một số tiềm năng để cải thiện bản thân, tôi nghiên cứu và có thể áp dụng một số kỹ thuật hoặc ý tưởng. Nhưng không có BS nào có thể vượt qua. Tôi đã làm việc trong các dự án tồi tệ trong một thời gian dài, nhưng tôi đã không áp dụng bất kỳ kỹ thuật xấu nào cho bản thân mình.

Tôi đã sớm hiểu rằng nếu bạn muốn thỏa mãn với lập trình, hãy quên công việc và có dự án cá nhân của riêng bạn. Đó là nơi bạn có thể áp dụng tất cả tình yêu, đam mê và kiến ​​thức của mình để làm mọi việc đúng với mức chất lượng cao. Bạn sẽ học được rất nhiều thứ, vô số thứ bạn sẽ không bao giờ được tiếp xúc và thách thức khi hack nhân viên công ty nhàm chán. Tôi chỉ làm công việc của mình để được trả lương và nhận được sự hài lòng với các dự án cá nhân của riêng tôi.

Một điều tôi thực sự không hiểu là làm thế nào tình huống này có thể xảy ra ngày nay. Phát triển phần mềm đã trưởng thành rất nhiều. Nó đã có kinh nghiệm tốt và xấu. Nhiều dự án thành công và rất nhiều dự án thất bại. Có kinh nghiệm với các dự án dài hạn và hiểu được những tác động dài hạn mà một hoặc tổ chức khác sẽ mang lại cho dự án. Có rất nhiều nghiên cứu có sẵn và những cuốn sách hay được viết. "Lập trình viên thực dụng", "Hoàn thành mã", "Tháng huyền thoại", "Thiết kế những vật dụng hàng ngày" và những thứ khác. Tại sao không ai ngoài chúng tôi, các lập trình viên từng đọc chúng? Làm thế nào có thể là ngay cả sau 20 năm làm việc trong CNTT, hầu hết các nhà phát triển và quản lý không bao giờ tìm thấy thời gian để đọc một hoặc cuốn sách phương pháp luận khác. Chúng được viết cho, nhưng hầu như không đọc bởi những người cần thuốc này nhất.

Về quan điểm nghề nghiệp. Điều tôi cũng nhận thấy nói chung trên thị trường việc làm cho nhân viên, đó là các nhà tuyển dụng ngoài kia ngày càng mất hứng thú với chất lượng công việc (hãy tưởng tượng họ đã có nó một lần) đang mua sắm ngày càng nhiều cho các công việc rẻ nhất hiện có. Bạn thấy khó bán kiến ​​thức, kinh nghiệm và hiểu biết về vũ trụ của mình cho bất cứ ai. Đó không phải là nhu cầu. Những gì đang có nhu cầu là các dự án của bạn bị hủy hoại bởi những người đàn em không có kinh nghiệm và mong muốn làm công việc chuyên nghiệp. Những người rẻ tiền được sử dụng và lạm dụng và sau đó ném ra để vòng tiếp theo bắt đầu. Các dự án cũng được thuê ngoài đến đích lương thấp, nơi chúng được thực hiện bởi những người dường như bắt đầu học lập trình chỉ với dự án của bạn. Đó là một điều tôi thực sự không hiểu.

Tôi đang giải trí ngày càng nhiều ý tưởng rằng tôi sẽ bỏ công việc lập trình được tuyển dụng vào một lúc nào đó trong tương lai. Tôi rất muốn làm việc trong khởi nghiệp với dự án của riêng tôi. Nếu không, tôi đang cân nhắc thử làm việc tự do hoặc có thể thay đổi bản chất công việc được trả lương. Rốt cuộc, tôi hầu như không học được gì trong giờ làm việc và tôi không nhận được bất kỳ sự hài lòng nào cả. Tôi có thể làm bất cứ điều gì 9-5 và luôn hài lòng với các dự án cá nhân của riêng tôi. Tôi học được nhiều từ các cộng đồng trực tuyến. Tôi nhận được sự chú ý ở đây, hỗ trợ cho các ý tưởng của mình và đôi khi nhận ra tôi không bao giờ có thể có được với công việc của mình và các đồng nghiệp làm việc. Sẽ thấy nơi tôi sẽ ở trong tương lai.


26
Những gì bạn đã mô tả chính xác là một phần của kinh nghiệm trong quá khứ của tôi. "" "Không chỉ bạn không học được gì, nhiều khả năng là bạn sẽ học hầu hết những điều sai trái về cách KHÔNG phát triển phần mềm." "" 100% đồng ý.

6
Tôi sắp xếp những năm 80 và 90, ngày nay mọi thứ quá dễ dàng và rẻ hơn nhiều nhưng điều còn thiếu là chất lượng và sự tận hưởng cuộc sống.

16
Tôi muốn nâng cao điều này, tôi cũng cảm thấy như vậy trên nhiều điểm nhưng đây thực sự là quá nhiều cam chịu và u ám. Không gian làm việc không thực sự thảm hại. Nếu bạn thực sự tuyệt vời, đừng thỏa hiệp cho một công ty không thực sự tuyệt vời. Tôi sẽ chỉ làm việc cho các công ty mà tôi tin tưởng, và nơi tôi có thể phát triển và nơi tôi có thể phát triển công ty. Chuyên môn của tôi đã mang lại cho tôi sự xa xỉ này trong suốt 20 năm sự nghiệp. Tôi yêu công việc đầu tiên của mình và tôi đã chiến đấu để có được vị trí này, tôi cũng phải chiến đấu để có được công việc thứ hai, nhưng thứ ba là lựa chọn của tôi và tôi đã viết vé cho riêng mình và bây giờ tôi chỉ thuê người trồng trọt.

11
Tôi rất buồn khi thấy rất nhiều người đồng ý với bài viết chán nản, thất vọng này và nó khiến tôi cảm thấy rất may mắn khi làm việc ở nơi tôi làm. Tôi mới chỉ lập trình được khoảng 5 năm, nhưng cho đến nay tôi đã có thể làm việc và học hỏi từ những người khác. Phần lớn đồng nghiệp của tôi đã đam mê ở một mức độ nào đó về công việc của họ. Quản lý của tôi đã khuyến khích học tập trong công việc. Tôi đã luôn thực hành Agile và vì vậy đã thực hiện hàng tấn tái cấu trúc, lập trình cặp và kiến ​​trúc. Tôi không nói bất cứ điều gì để khoe khoang, chỉ để hy vọng cho bạn biết rằng có những công việc ngoài kia nơi công việc mã là thú vị

2
@DumbCoder, tên của bạn dường như mô tả bạn khá tốt. ;)
Arlen Beiler

70

Có một bài đăng của Jeff Atwood trên Coding H khiếp sợ nói rằng điều này được cho là vui vẻ. Và một phần của bản mô tả công việc trở thành nhà phát triển phần mềm đang tận hưởng công việc của bạn. Nếu không nó sẽ trở thành một nghề thực sự nhàm chán và cồng kềnh cho bạn.

Thực tế là bạn liên tục tìm kiếm các cách để cải thiện công việc của mình và bạn tiếp tục được thông báo về những thứ mới và các thực tiễn tốt nhất cho thấy rằng bạn thích công việc của mình trong tự nhiên. Vì vậy, lời khuyên của tôi cho bạn sẽ là bắt đầu tìm kiếm một công việc mới.

Tuy nhiên tôi không nghĩ rằng làm việc cho một công ty lớn sẽ nhất thiết phải cải thiện điều kiện làm việc. Tôi nghĩ môi trường tốt nhất cho các nhà phát triển phần mềm là các công ty vừa và nhỏ, nơi mọi người thích những gì họ đang làm. Điều tốt nhất để làm là tìm kiếm và kiểm tra bất kỳ công ty nào trước khi bạn đưa ra quyết định. Hãy thử và chắc chắn rằng công ty mới là xứng đáng.


17
"một phần của mô tả công việc trở thành nhà phát triển phần mềm đang tận hưởng công việc của bạn. Nếu không, nó sẽ trở thành một nghề thực sự nhàm chán và cồng kềnh đối với bạn." Đội trưởng Rõ ràng để giải cứu!
P Shved

4
Nó có thể là mã hóa kinh dị.com / blog / archives / 000979.html không?
Ikke

3
Như bạn đã đề cập, tôi rất thích viết mã nhưng điều tôi đang phải đối mặt vào lúc này là khoảng cách giữa thế giới lý tưởng của vụng trộm và thế giới thực tế. Ít người hoạt động lý tưởng, hầu hết chúng ta hoạt động ở mức dưới trung bình. Tôi dường như không tìm thấy điểm cân bằng nào. Tôi cũng không tin thay đổi công việc là giải pháp. Nhưng tôi tin khi cơ hội đến nếu tôi chưa sẵn sàng tôi sẽ bỏ lỡ nó.

2
Thực sự không có mối tương quan giữa quy mô công ty với khả năng bạn có thể quản lý một số sáng kiến ​​cải tiến quy trình du kích / cơ sở - nó phụ thuộc vào tính cách (trong trang phục nhỏ hơn) hoặc trọng lượng quy trình hiện có (ở quy mô lớn hơn) Thay đổi môi trường là thế.

2
Tôi đồng ý với phạm vi công ty dành cho các nhà phát triển, các công ty vừa là tốt nhất bởi vì mọi người yêu thích những gì họ đang làm.
Tarik

50

Điều đầu tiên: một cảnh báo lớn: nếu bạn đã phát triển được 10 năm (như tôi có), bạn không thể làm gì khác hơn là phát triển. Vì vậy, nếu bạn muốn làm một cái gì đó khác, một cái gì đó mới, hãy làm nó nhanh chóng nếu không có thể là quá muộn và bạn sẽ không giỏi làm việc khác.

Chỉ để chia sẻ quan điểm của riêng tôi: Tôi là một người tự lái, tự học. Tôi đã học một mình C, C #, Amiga C đang phát triển, Windows, COM, Delphi, PHP, Cinema4D và bây giờ là Blender và Python. Tôi hầu như luôn làm việc một mình . Đây là vấn đề lớn nhất mà tôi gặp phải cho đến nay: các công ty nhỏ cố gắng tồn tại và bạn là một trong những người giữ cho nó tồn tại: nó rất căng thẳng nhưng cũng rất bổ ích: bạn làm việc nhiều hơn, bạn học nhanh hơn và nhiều thứ nhanh chóng, bạn tạo ra sản phẩm nhanh hơn (sự kiện mặc dù bạn thường không thể thực hiện công việc của mình đúng cách). Dù sao: quá nhiều căng thẳng. Trái lại, lớncác công ty sẽ luôn tồn tại nhưng vấn đề là về con người: quá nhiều người. Đó là một khu rừng, nhưng tệ hơn nhiều: không có gì rõ ràng: nếu những người bạn làm việc cảm thấy bạn tốt hơn họ, họ sẽ cố gắng hết sức để không giúp bạn đi lên mà chỉ bắn bạn vì họ sợ sự nghiệp riêng của họ. Đó là cách nó hoạt động ở Pháp (tôi không biết cho các quốc gia khác).

Nói ngắn gọn: hãy thử tìm một công ty cỡ trung bình nơi bạn cảm thấy đó là nơi của bạn . Cho dù bạn đã lập trình bao lâu, cho dù bạn đã làm việc bao lâu, ngày bạn lên xe để đi làm và bạn nghĩ rằng "Tôi rất vui khi đi làm việc của tôi" sẽ là ngày bạn tìm thấy vị trí của bạn .

Đó không phải là câu hỏi 4-5 năm hay gì cả.

Lưu ý: có một sự khác biệt lớn giữa "Tôi rất vui khi đi làm" và "Tôi rất vui khi đi làm vì tôi sẽ làm điều này và điều đó" / hoặc / "Tôi rất vui khi đi đến làm việc vì tôi sẽ học cái này và cái kia ". Nếu bạn nghĩ "bởi vì tôi sẽ làm điều này và rằng" điều này có nghĩa là "điều này và điều đó" sẽ kết thúc vào một ngày và bạn có thể không hạnh phúc sau đó. Đây là 12 năm kinh nghiệm lập trình của tôi. Và tôi là người có thâm niên, tôi được trả lương cao, nhưng tôi nhận ra rằng 20-25 yo mọi người nghĩ nhanh hơn tôi. Họ chỉ không có kinh nghiệm của tôi nên tôi mới thừa nhận tôi có thể giúp họ làm mọi thứ, họ làm nhanh hơn, nhưng tôi giúp họ làm cho họ đúng (điều này gần như không bao giờ xảy ra khi bạn bắt đầu phát triển).

Xin lỗi vì tiếng Anh của tôi không hoàn hảo, đừng ngần ngại sửa bài đăng của tôi để làm cho tiếng Anh đúng.


Tôi đồng ý với quan điểm của bạn. Tôi đã nghe những bình luận tương tự về các công ty lớn.

+1. cũng đang tìm kiếm "Tôi rất vui khi được đi làm vì tôi sẽ học VÀ làm cái này và cái kia"

2
@Arni, tôi không nghĩ làm sushi hoàn toàn giống như thay đổi toàn bộ con đường sự nghiệp của bạn sau mười năm làm nhà phát triển. Hãy thử đến tuổi 35 và quyết định bạn muốn trở thành một luật sư / bác sĩ / nhà báo / kế toán, v.v., bạn sẽ ít nhất 45 tuổi trước khi bạn đạt đến trình độ kỹ năng cơ bản cần thiết.

3
Tôi xin lỗi có lẽ tôi đã không giải thích bản thân mình: Tôi không phải là người bán hàng hay bất cứ công việc nào trong đó "trở thành người nói dối tốt là người bán hàng tốt". Tôi đã có nghĩa là một khi bạn cho thấy bạn đang hoạt động tốt hơn những người khác, họ sẽ chỉ cố gắng bắn hạ bạn vào ngày bạn cần sự giúp đỡ. Ví dụ thực tế: lúc đó là 20h00 (tôi còn độc thân và vẫn đang làm việc) Tôi cần truy cập vào PC bằng mật khẩu. Tôi hỏi người đàn ông 55 tuổi, người không tốt, và anh ta trả lời: "bạn rất tốt tại sao bạn không bẻ khóa nó?" và tôi đã không nhận được mật khẩu tối nay. Những điều này đã xảy ra nhiều hơn một lần chỉ trong các công ty lớn.
Olivier Pons

4
"Vì vậy, nếu bạn muốn làm một cái gì đó khác, một cái gì đó mới, hãy làm nó nhanh chóng nếu không có thể là quá muộn và bạn sẽ không giỏi làm việc khác." - Sai lầm. Hoàn toàn sai. Tôi đã biết những người làm công việc công ty cho đến khi 45 tuổi và sau đó quyết định quay trở lại trường y. Bạn biết những gì, những người đó đang làm khá tốt bởi vì họ yêu thích những gì họ làm. Vấn đề là, không bao giờ là quá muộn để thay đổi miễn là bạn giữ một tâm hồn cởi mở, và tất cả những điều tồi tệ về bộ não của bạn bị suy nhược sau tuổi 25 chỉ là không đúng trừ khi bạn luôn ngồi xem TV vào ban ngày .

36

Tôi đã là một nhà phát triển phần mềm trong hai mươi mốt năm - trong số những thứ khác, điều đó có nghĩa là tôi đã làm điều này đủ lâu để uống! ;-) Nhưng nghiêm túc, mặc dù, tôi không thể tưởng tượng làm bất cứ điều gì khác cũng như vui vẻ như lập trình. Tôi rõ ràng là một trong những loài chim quý hiếm thực sự yêu thích công việc này.

Gần đây tôi đã làm mới sơ yếu lý lịch của mình và tôi nhận thấy rằng tôi đã có rất nhiều, rất nhiều công việc trong hai thập kỷ qua - chủ yếu là hợp đồng. Nhưng điều tôi nhận ra khi xem danh sách dài đó là những công việc tôi yêu thích nhất (và những công việc tôi ở lâu nhất) là với các công ty phần mềm, tức là các công ty có mô hình kinh doanh liên quan đến việc bán phần mềm cho khách hàng. Các lý thuyết sau đây có thể không được áp dụng phổ biến, nhưng chúng đi xa để giải thích kinh nghiệm của tôi.

Như tôi thấy, sự khác biệt giữa một cửa hàng phần mềm và cửa hàng CNTT điển hình của bạn là rất rõ ràng. Đó chỉ là một câu hỏi về những gì những người trong quản lý cấp trên hiểu. Nếu công ty nhận được phần lớn doanh thu từ phần mềm, thì đồng thau hàng đầu sẽ thực sự tìm kiếm phần mềm và cách thức sản xuất. Nhưng nếu doanh thu đến từ việc bán các vật dụng, họ thường không hiểu rõ những gì cần thiết để duy trì cơ sở hạ tầng CNTT của mình, chứ đừng nói đến các quy trình đằng sau phát triển phần mềm. Tồi tệ hơn, mặc dù họ giao nhiệm vụ cho nhân viên CNTT, họ cố gắng ánh xạ các quy trình CNTT theo những gì họ biết, với kết quả thường từ đáng thất vọng đến thảm họa.

Một lý do là có rất nhiều tài năng ngoài kia, từ người có năng lực đơn thuần đến người thành thạo phần mềm. Điều này chạy hoàn toàn trái ngược với tâm lý cắt cookie, một kích cỡ phù hợp với tất cả tâm lý hoạt động rất tốt cho các vị trí không có kỹ năng và bán tay nghề. Kỳ vọng rằng bất kỳ một nhà phát triển nào cũng có thể được thay thế bằng bất kỳ nhà phát triển nào có "kỹ năng" tương tự có thể gây lố bịch đối với chúng tôi, nhưng thường có vẻ hoàn toàn hợp lý đối với cấu trúc quản lý tập trung vào số nguyên. Nếu điều này có vẻ khó tin, chỉ cần nhìn vào có bao nhiêu cửa hàng vẫn đang cố gắng làm cho mô hình Thác nước hoạt động.

Bạn không nhất thiết cần tất cả các tài năng trong nhóm của mình, nhưng bạn cần ít nhất một hoặc hai. Và một phần của vai trò của họ phải là cố vấn cho những người trẻ tuổi để họ có thể phát triển thành vai trò (hoặc rửa sạch - điều đó xảy ra). Nếu không, mã cơ sở xấu đến tầm thường sẽ chiếm ưu thế, với sự tham gia sai lệch và phình to của nó. Khi căn bệnh ung thư xuất hiện, mã nhanh chóng trở nên không thể nhận ra, năng suất trong toàn đội giảm mạnh và mọi người bắt đầu kiệt sức.

Điều này tạo ra doanh thu, cho đến khi cuối cùng có người nói, "Chúng ta không thể giữ điều này tiếp tục nữa! Hãy loại bỏ nó và bắt đầu lại!" Đầu tư vào cơ sở mã di sản đi ra ngoài cửa sổ và quá trình bắt đầu lại. "Nhưng lần này sẽ khác," bạn tự hứa với mình. Và trong một thời gian nó là. Sau đó, một người nào đó thuê ngôi sao nhạc rock của bạn, và bạn bị bỏ lại với những người thiếu niên vô tình phá hoại cơ sở mã mới sáng bóng của bạn một lần nữa.

Thoa. Cơn thịnh nộ. Ăn năn.

Nhưng tôi lạc đề ... Vì vậy, để trả lời câu hỏi ban đầu của bạn: Không, nửa thập kỷ không phải là cuộc sống trung lưu của sự nghiệp phần mềm. Đó có lẽ là một Thời đại của Lý trí, có lẽ - nơi trong sự nghiệp của bạn, nơi quy mô rơi ra từ đôi mắt của bạn và bạn bắt đầu nhìn thấy doanh nghiệp cho những gì nó là. Việc thực hiện đến theo một thứ tự khác nhau cho mọi người, và tô màu cho những kết luận bạn có thể rút ra trên đường đi. Nhưng hãy chờ đợi ở đó - nếu bạn đi ra phía bên kia lành mạnh, bạn sẽ có một viễn cảnh lành mạnh hơn nhiều, và cuối cùng bạn sẽ thấy doanh nghiệp điên rồ này chúng ta đang có nhiều phần thưởng hơn bao giờ hết.


3
Tôi thích lời giải thích của bạn về sự khác biệt giữa một cửa hàng phần mềm và cửa hàng CNTT điển hình và tôi hoàn toàn đồng ý với nó. Thành thật mà nói, tôi đã làm việc nhiều hơn tại các cửa hàng CNTT điển hình hơn các cửa hàng phần mềm và không có gì lạ tại sao kỹ năng lập trình của tôi không được cải thiện quá nhiều trong 2 năm qua. Mặc dù tôi vẫn tiếp tục đọc các kỹ thuật / thực hành / mô hình mới (hiện tại tôi đang học CQRS và thấy thật tuyệt vời khi mọi thứ được đơn giản hóa. Lúc đầu, nó có vẻ phức tạp và không đáng giá.) Nhưng tôi thấy tôi không có nơi nào để thực sự áp dụng những gì tôi đã học ngoại trừ các dự án cá nhân của tôi.

Giống như bạn mô tả hầu hết những ông chủ / quản lý tại các cửa hàng CNTT đó chỉ nhìn vào những con số khác! Nhưng để công bằng, những cửa hàng CNTT điển hình đó cung cấp nhiều cơ hội việc làm hơn những cửa hàng phần mềm đó. Ngoại trừ các cửa hàng CNTT chủ yếu được điều hành bởi những người kinh doanh đầy tham vọng được hỗ trợ bởi những người CNTT không đủ năng lực cố gắng kiếm tiền nhanh chóng.

32

Tôi nghĩ bạn cần thêm năm năm kinh nghiệm. Sau đó, bạn sẽ có thể chấp nhận thỏa hiệp và vui lòng sửa chữa những gì bạn có thể.

Ít nhất đó là kinh nghiệm của tôi. Vào khoảng 5 năm (khoảng thời gian để trở thành một chuyên gia) Tôi nghĩ rằng tôi thực sự "đã hiểu". Tôi nhận ra mã của tôi là tào lao. Tôi nhận ra những bản hack sáng bóng của mình khiến các ứng dụng hoạt động chỉ là những bản hack. Tôi đã hiểu rằng tôi đã tạo ra mã phụ chỉ để làm cho các ông chủ của tôi hài lòng và giữ cho tiền lương tiếp tục.

Đồng thời tôi nhận ra rằng những ham muốn của các ông chủ sẽ không thay đổi. Họ luôn muốn có nó ngày hôm qua mà không tốn bất kỳ khoản tiền nào cho các công cụ tốt. Họ sẽ không bao giờ quan tâm nếu tôi sử dụng một mẫu thiết kế cụ thể. Họ sẽ không bao giờ sợ hãi vì tôi đã tăng khả năng duy trì bằng cách áp dụng Nguyên tắc Trách nhiệm duy nhất một cách thận trọng.

Tôi cũng nhận ra rằng tôi sẽ chiến đấu với bản thân trẻ hơn của mình được thể hiện bởi các lập trình viên thiếu kinh nghiệm. Các lập trình viên đã hack chương trình để làm cho nó hoạt động nhanh. Lập trình viên trẻ chống lại tất cả những điều ngớ ngẩn khiến tôi mất nhiều năm để hiểu. Lập trình viên trẻ nghĩ rằng có 5 lớp khó hiểu hơn là có một lớp lớn làm tất cả.

Nhưng bây giờ khi tôi ở tuổi 10, tôi đã thấy rằng những thất vọng đó giống như những thất vọng tôi đã trải qua trong năm năm đầu tiên. Đó là sự thất vọng liên quan đến việc học một kỹ năng mới. Nhưng lần này là kỹ năng giữa các cá nhân. Các kỹ năng đang khiến những người không phải lập trình viên hiểu được những hạn chế của việc đi xuống con đường cao bồi. Và những kỹ năng này có thể quan trọng hơn trong sơ đồ lớn của mọi thứ so với các kỹ năng mã hóa mà tôi có được trong năm năm đầu tiên.

Nhưng điều thực sự tuyệt vời về công việc này là tôi có thể tiếp tục, và thực sự phải tiếp tục, để phát triển bằng các kỹ năng kỹ thuật đồng thời làm việc với quản lý.

Vì vậy, tôi nói với bạn giữ ở đó! Bởi vì bạn đã trở nên thoải mái với công nghệ, bạn có thể bắt đầu làm việc với các kỹ năng của mình để đối phó với những thứ bẩn thỉu được gọi là con người.


3
+1 Bạn rất đúng! Kỹ năng giao tiếp là bước tiếp theo để trở thành một nhà phát triển phần mềm giỏi.
Dimitri C.

Sau một năm làm việc toàn thời gian sau khi học xong đại học, bộ sưu tập sách của tôi đã chuyển từ lập trình 100% sang kỹ năng lập trình / 50-50 người. Tôi thực sự hiểu bài này. Như ai đó đã từng nói với tôi: "Nó phù hợp với họ, nếu cảm thấy phù hợp với họ."

"để phát triển bằng các kỹ năng kỹ thuật đồng thời làm việc với quản lý." Tôi hoàn toàn đồng ý với bạn về điều này. Tôi vẫn gắn bó với công việc hiện tại của mình mặc dù tôi không thích những thay đổi gần đây - quản lý vi mô, không dành thời gian cho việc học, không nhận thấy công việc tốt hay sự cải thiện được thực hiện, quá nhiều áp lực, chính trị bẩn thỉu. Điều tốt là tôi có 2-3 người tư vấn về các vấn đề của tôi liên quan đến kỹ năng mềm. Khi tôi cảm thấy mình không học được bất kỳ kỹ năng mềm nào nữa, tôi sẽ bỏ việc. Điều này là do tôi đã bắt đầu nhận ra rằng những kỹ năng này chắc chắn quan trọng hơn kỹ năng kỹ thuật.
Mugen

29

Tôi đã thấy rằng có 2 bí mật của hạnh phúc tương đối:

  • đừng tìm cách có mọi thứ bạn muốn mà tìm cách muốn mọi thứ bạn có

  • cuộc sống thật khó khăn - không quan trọng bạn có thể đánh mạnh đến mức nào (bạn giỏi, cá nhân và chuyên nghiệp); nó sẽ luôn luôn đánh trở lại mạnh mẽ hơn. điều quan trọng là bạn có thể bị tấn công bao nhiêu mà vẫn có thể đi tiếp.

Sau tất cả, đó là một cuộc dạo chơi trong công viên và có những thứ quan trọng hơn bit và byte, và các thực hành và công cụ. Chỉ cần tận hưởng tất cả các trải nghiệm như họ đang có và chiến đấu trở lại như bạn có thể.


1
điểm thực sự tốt đẹp!

8
+1, hành trình là cách quan trọng hơn đích đến. Tôi thấy mình không biết mình đang đi đâu, điểm đến không khiến tôi quan tâm ... nhưng có một điều chắc chắn, tôi chưa bao giờ thấy một công viên đẹp như vậy!

22

Có thể xem qua Lập trình viên đam mê của Chad Fowler ... trích dẫn từ trang web:

Trong hầu hết các trường hợp, sự nghiệp đáng chú ý không đến tình cờ. Họ đòi hỏi suy nghĩ, ý định, hành động và sẵn sàng thay đổi khóa học khi bạn mắc lỗi. Hầu hết chúng ta đã loạng choạng khi để sự nghiệp đưa chúng ta đến nơi họ có thể. Đã đến lúc kiểm soát.


19

IMO sự không hài lòng mà bạn cảm thấy rõ ràng không phải là một cuộc khủng hoảng, mà là một dấu hiệu cho thấy bạn đã đạt đến một mức độ nhất định. Bạn đã vượt qua vị trí "Tôi chỉ là một lập trình viên". Bây giờ bạn có đủ hiểu biết để xem các lỗ hổng trong tình trạng hiện tại và cách khắc phục.

Bước tiếp theo là tìm mối liên hệ giữa những gì bạn thấy là cải tiến tiềm năng và những gì công ty bạn làm việc sẽ thấy như vậy. Sau đó, bạn phải thuyết phục sếp của bạn rằng đây là con đường để đi.

Nó không đủ để hiểu mọi thứ và biết cách làm mọi thứ. Bạn cũng có thể thuyết phục mọi người rằng bạn biết những gì bạn đang làm. Và nếu nó có vẻ như bán hàng đó là vì nó là. Nhưng điều này là hoàn toàn cần thiết để trở thành "tuyệt vời". Bạn đang làm việc không phải với máy tính, bạn đang làm việc cho mọi người và với mọi người, bạn phải có khả năng bán ý tưởng của mình.

Tất nhiên một số công ty sẽ quá bảo thủ để chấp nhận ý tưởng của bạn và sếp của bạn có thể từ chối chúng vì màu của chiếc cà vạt bạn đang đeo. Chỉ cần lưu ý rằng việc bán ý tưởng không dễ dàng hơn việc tạo ra ý tưởng và việc bán hàng không thành công không nhất thiết là kết quả của động cơ thầm kín của sếp bạn, đó có thể là phần trình bày không tốt về phía bạn.


hoàn toàn đồng ý! như nhiều người đã đề cập đến "con người" là nhiệm vụ tiếp theo cần giải quyết!

18

Tôi hoàn toàn đồng ý với Nikos. Tôi nghĩ những gì bạn có thể cần là tìm một công ty tập trung vào công nghệ và sản phẩm. Có những công ty mà các nhà phát triển phần mềm coi phát triển chỉ là công việc của họ và họ không bao giờ nghĩ về công cụ này trong thời gian riêng của họ. Môi trường làm việc thường hướng đến nhiều hơn cho các nhà quản lý làm công việc bàn hơn là các nhà phát triển làm công việc trí óc. Tiêu chuẩn trung bình của các nhà phát triển thường thấp (mặc dù đôi khi bạn nhận được một "guru"). Họ có xu hướng cắt giảm (hoặc thậm chí tránh) những thứ như kiểm soát phiên bản, kiểm tra, xử lý, v.v. Công ty thường vận chuyển phần mềm thực hiện công việc, nhưng nó thường xấu và lỗi, và dường như không ai bận tâm.

Mặt khác, có những công ty mà các nhà phát triển chỉ ở đó làm những gì họ muốn làm ở nhà; họ về nhà vào buổi tối và làm việc cho các dự án nhà riêng của họ, và học các ngôn ngữ / công nghệ mới trong thời gian rảnh rỗi. Môi trường làm việc thường khá tập trung vào nhà phát triển, với màn hình tốt, công cụ tốt, bầu không khí tốt thuận lợi cho việc suy nghĩ. Các nhà phát triển thường có tiêu chuẩn cao và bạn thấy mình học hỏi từ tất cả các đồng nghiệp hàng ngày. Họ thường thực hiện những việc như kiểm soát phiên bản, kiểm tra và xử lý nghiêm túc. Công ty thường cung cấp phần mềm chất lượng khá, bởi vì các nhà phát triển sử dụng phần mềm cá nhân nếu có lỗi hoặc không hoàn hảo.

Tôi không nghĩ việc tìm kiếm một công ty lớn hơn sẽ nhất thiết phải cải thiện vấn đề; trong thực tế, trong nhiều trường hợp, các công ty lớn hơn còn tệ hơn, và các vấn đề chỉ ăn sâu hơn và mang tính thể chế hơn.

Rõ ràng tôi đang phân cực mọi thứ một chút .... nhưng nếu bạn là một kỹ sư phần mềm (và không chỉ trong sơ yếu lý lịch của bạn), thì bạn cần phải thử và tìm một trong những loại công ty sau. Hãy nghĩ về một số câu hỏi phỏng vấn tốt mà bạn có thể hỏi họ , để tìm hiểu xem một công ty có phải là nơi đó không.


1
Thật vậy! Hiện tại tôi đang ở giai đoạn mà tôi chủ yếu thích các dự án phát triển cá nhân của mình, ngay cả khi tôi phải làm việc rất muộn vào buổi tối hoặc rất sớm vào buổi sáng
Nikos Steiakakis

14

Một cái gì đó tôi đã tìm thấy nhiều lập trình viên không hiểu là không phải tất cả các quyết định là kỹ thuật. Đáng buồn thay, làm điều gì đó "đúng" không phải lúc nào cũng là một lựa chọn. Điều này khiến nhiều nhà phát triển nghĩ rằng ông chủ của họ là ngu ngốc, hoặc đưa ra quyết định kém ... và vâng, thường thì đó là sự thật, nhưng cũng như thực tế, vấn đề là công ty có thể ngừng hoạt động hoặc mất một công việc hoàn toàn nếu họ cho phép các lập trình viên thiết lập lịch trình và đưa ra tất cả các quyết định kỹ thuật.

Đáng buồn thay, đôi khi đó là công việc của chúng tôi để làm việc trong các hạn chế chính trị hoặc tài chính của công việc và làm tốt nhất có thể.

Một điều bạn học được từ kinh nghiệm là phải bảo thủ. Các kỹ thuật mới nhất có thể không được chứng minh và bạn có thể không nắm bắt được chúng ngay cả khi chúng là. Các nhà quản lý không thích dành thời gian cho phép bạn tăng tốc trên một công nghệ mới chỉ vì bạn muốn học một cái gì đó mới.

Các lập trình viên quên rằng nhiều công ty không phải là công ty phần mềm. Họ <chèn ngành kinh doanh ở đây> các công ty cũng làm phần mềm. Công việc của bạn là một lập trình viên là tạo điều kiện thuận lợi cho các quá trình phê bình nhiệm vụ, chứ không phải viết phần mềm hoàn hảo. Đôi khi nó phát hiện ra rằng đó là những điều tương tự, nhưng nó thực sự khá hiếm.


1
từ lên, yo ....
Paul Nathan

u âm thanh như một người quản lý. Những gì bạn mô tả là đúng nhưng tôi không đồng ý.

Tôi không phải là người quản lý. Tôi mới có 25 năm kinh nghiệm và đã giao hàng trăm sản phẩm.
Erik Funkenbusch

... nhưng các công ty nên cảm thấy có trách nhiệm đạo đức để phát triển nhân viên của mình, ngay cả khi điều đó không thêm vào điểm mấu chốt. Trong một công ty có quy mô vừa và lớn, bạn không nên mất ngủ vì tình trạng tiền bạc của công ty; những người cao hơn có thể sẽ không cho phép bạn chia sẻ lợi nhuận, vậy tại sao lại cho họ chết tiệt?

10

Theo tôi đó không phải là cuộc khủng hoảng giữa cuộc đời - Tôi muốn nói rằng tuần trăng mật đã kết thúc.


không, "tuần trăng mật" của tôi kéo dài khoảng 12-15 tháng. 4 năm là con đường dài cho "tuần trăng mật lập trình".

3
20 năm và tôi vẫn có những khoảnh khắc đam mê hàng ngày với chương trình của mình! Tôi muốn nói thử một cái gì đó khác biệt, trong lập trình như trong tình yêu, thử những thứ mới thực sự có thể làm sống lại ngọn lửa đang cạn dần.

Ha ha, rất đúng!
fastcodejava

10

Tôi có thể liên quan đến các mã được viết có thể tốt hơn nhưng phải có một dòng mà một người có thể quá cầu toàn như thể một cái gì đó hoạt động 99,99999%, không đủ gần 100% cho hầu hết mọi người ? Một phần trong những cuộc đấu tranh của tôi đôi khi với những suy nghĩ tiêu cực là sự cầu toàn và tự phê bình và phán xét dữ dội để có thể tôi có thể xác định quá mức với điều đó.

4-5 năm là đủ thời gian, IMO, để tìm ra một vài điều:

  • Những gì bạn muốn - Những gì thực hành ở vị trí hiện tại của bạn mà bạn thích?
  • Những gì làm việc cho bạn - Điều này hơi khác ở chỗ những gì hoạt động có thể không phải luôn luôn là những gì bạn muốn.
  • Công cụ giải quyết của bạn là gì - Bạn có thể đi làm cho một công ty không cho phép bạn có IDE không? Ví dụ cực đoan nhưng tôi hy vọng điều đó sẽ minh họa điểm này.

Có những câu hỏi khác như " Lộ trình để lập trình viên tốt hơn " và " Cách trở thành lập trình viên 'nhanh hơn' , có thể có gợi ý cho bạn nếu bạn muốn cải thiện kỹ năng của mình.

Tôi cũng đã trải nghiệm nơi danh hiệu cao cấp được trao cho ai đó chỉ để tồn tại trong lĩnh vực này quá lâu, thay vì đạt được một mức độ kỹ năng. Bạn có thể chấp nhận điều này như một phần trong cách thế giới hoạt động hoặc bạn có thể cố gắng tìm những nơi chạy khác nhau. Có bao nhiêu thực sự tồn tại tôi không biết, nhưng tôi có thể nói rằng đôi khi bạn có thể tìm thấy một vị trí tốt về cách bạn thích làm việc và những gì công ty và đồng nghiệp sử dụng để hoàn thành công việc.

" Nguồn của cái nhìn sâu sắc " là một trong những blog yêu thích của tôi và tôi thích đọc nó gần như mọi lúc. Tài liệu hơi nặng về việc có nhiều yếu tố trí tuệ đối với những gì được viết nhưng có những cố gắng mà người ta có thể lấy và làm cho cuộc sống của họ tốt hơn một chút hoặc ít nhất đó là kinh nghiệm của tôi.

Tôi có thể nhớ ở trường khi tôi còn là một đứa trẻ thường có sự chuyển tiếp sau 4-5 năm như khi tôi học lần đầu tiên ở trường 8 năm (Mẫu giáo đến lớp 6), sau đó là 2 năm (lớp 7 và 8) , 4 năm (Trường trung học cấp 9-13 trong đó 11/12 được thực hiện trong một năm trong trường hợp của tôi) và 4 năm (bằng cử nhân đại học).

Tôi có thể chấp nhận ý tưởng khủng hoảng xảy ra ở nhiều thời điểm khác nhau trong cuộc sống, ví dụ như hoàn thành đại học có thể khiến người ta tự hỏi họ là ai hoặc sau khi làm việc một thời gian tự hỏi liệu tất cả có đáng không.

Một số nơi có thể xuất hiện dưới dạng những nơi tuyệt vời để làm việc và những nơi khác có thể dẫn đến kiệt sức vì đó là một câu hỏi ở đây một vài lần, " Điều gì gây ra sự kiệt sức của nhà phát triển " và " Câu chuyện kiệt sức của nhà phát triển ", trong khi những câu hỏi khác là vấn đề. " Động lực của bạn là gì " và " Động lực lập trình (de) và các kế hoạch xa hơn ... "

Chỉ vì lý do nền tảng trong câu trả lời của tôi ở đây, tôi đã phát triển các trang web / ứng dụng gần 12 năm nay khi tôi bắt đầu công việc đại học vào tháng 2 năm 1998 và ngoài 8 tháng hạn hán khi tôi không làm việc đã làm việc này mọi lúc trong một vài môi trường khác nhau: Một vài dot-com, một nhà cung cấp dịch vụ ứng dụng và hiện thuộc nhóm phát triển web của bộ phận Hệ thống thông tin tại một công ty công nghệ địa phương. Tôi nhận ra đây là một câu trả lời dài, nhưng tôi nghĩ rằng những câu hỏi được hỏi không có câu trả lời ngắn trong đầu tôi.


9

Tôi đã tìm thấy những điều tương tự trong 10 năm lập trình của mình và tôi cho rằng đây là những sự cố khá phổ biến. Trong thế giới kinh doanh (trái ngược với giới học thuật), tiền (hoặc thiếu tiền) và thời gian thúc đẩy lịch trình, tính năng và chất lượng của chương trình. Thông thường những tài nguyên đó là thiếu để làm mọi thứ hoàn toàn chính xác. Đây là một động lực chính để tìm ra các phương pháp hiệu quả nhất để giải quyết vấn đề. Tình huống này cũng đã hướng dẫn tôi ghi nhớ rằng lập trình của tôi chỉ nên giải quyết vấn đề trong tay (với một số cân nhắc trong tương lai) thay vì xây dựng một cái gì đó chứa nhiều tính năng hơn mức cần thiết. Đây là một bài học quan trọng để học, theo ý kiến ​​của tôi.

Đáng buồn thay, nhận xét của bạn về "lập trình viên cao cấp" cũng đáng buồn thay, theo kinh nghiệm của tôi. Tôi nghĩ lý do cho điều này là hai lần - đầu tiên, nhiều lập trình viên có kinh nghiệm trở nên lười biếng, chỉ sử dụng các công cụ và phương pháp họ đã sử dụng trong sự nghiệp. Tuy nhiên, công nghệ tiếp tục phát triển và điều này khiến những lập trình viên giàu kinh nghiệm này trở thành "khủng long". Thứ hai, sau khi lập trình được một thời gian, nó có thể trở nên dễ dàng trở thành con mồi của một chút kiêu ngạo ("tài năng của tôi đã đưa tôi đến nay, vì vậy tôi phải là một lập trình viên khá giỏi"). Tôi cố gắng chống lại cả hai vấn đề này bằng cách liên tục cố gắng học các phương pháp hoặc công nghệ mới để giải quyết vấn đề của mình. Đôi khi điều này mâu thuẫn với trạng thái bài học "chỉ xây dựng những gì được yêu cầu" ở trên, nhưng mục tiêu là để phấn đấu cho sự cân bằng lành mạnh giữa hai điều này.

Tôi sẽ đề nghị sử dụng những kinh nghiệm bạn có như một động lực để tiếp tục cải thiện bản thân. Tôi đã tự mình rời khỏi ngành lập trình sau khoảng 5 năm vì mất niềm đam mê với kỹ sư mã. Nhưng tôi không thể thoát khỏi sự ngứa ngáy để xây dựng các chương trình, và tôi đã trở lại ngành công nghiệp vài tháng sau đó. Tôi đã học được rằng bạn phải tham gia vào những gì bạn thích làm - nếu bạn muốn quản lý dự án, hãy tìm một vị trí cho phép bạn quản lý các dự án. Nếu bạn muốn viết mã cả ngày, hãy tìm một vị trí để làm điều đó. Tìm kiếm một công việc thách thức bạn và đáp ứng mong muốn của bạn là một phần tuyệt vời và cần thiết của một cuộc sống hạnh phúc - tôi chúc bạn may mắn trong việc tìm kiếm điều đó.


7

Này anh bạn, thật tuyệt khi đọc câu hỏi của bạn. Tôi vui vì bạn đã viết như vậy. Bạn biết những gì, bạn không nhận ra những gì bạn hiểu ngay bây giờ. Những điều bạn viết khiến tôi hiểu những gì bạn đã có kinh nghiệm và tin tôi trải nghiệm này là điều mà không phải lập trình viên nào cũng có thể có trong cuộc sống của họ. Bạn là một người tự lái, tự học. Ngay bây giờ bạn đang ở trong một tâm trạng rất trưởng thành, sau 4 năm làm việc cho các công ty nhỏ. Nếu bạn đã từng tham gia vào các công ty lớn, bạn sẽ không có gì được coi là một kinh nghiệm. Bây giờ bạn đã hiểu về cách thức hoạt động của ngành công nghiệp này, cách mọi thứ được thực hiện và cách chúng nên được thực hiện. Những cấp độ này được gọi là "người cao niên" có. Tôi có một gợi ý cho bạn, nếu bạn là người tự học tốt và đã thực hành tự học trong hơn 4 năm, tại sao không ' Bạn thử làm nghề tự do. Hãy tin tôi, bạn sẽ làm việc cho chính mình và tận hưởng nhiều hơn nữa.

Như một lưu ý kết thúc, đừng hối tiếc những gì bạn đã làm trong 4 năm qua. Đó là một trải nghiệm tuyệt vời và chỉ một số ít có điều này trong cuộc sống của họ :)


Tôi đánh giá cao làm việc cho các công ty vừa và nhỏ nếu không tôi nghĩ rằng tôi sẽ không viết câu hỏi này. Các công ty nhỏ đã dạy cho tôi rất nhiều kinh nghiệm trong cuộc sống thực tế của người Viking khi còn sống, nó cũng dạy cho tôi cách làm thế nào để không làm nhiều việc. Theo các công ty lớn, tôi thực sự có nghĩa là các công ty phù hợp hơn với các lập trình viên, hoặc các công ty quan tâm đến tài sản phần mềm của họ. Tôi không có nghĩa là quy mô của các công ty. Tôi đã cân nhắc việc tự do có thể vào năm tới nếu tôi vẫn đang làm lập trình. Như bạn biết tôi đang ở trong một trạng thái tinh thần vào lúc này. ^ _ ^

Đúng. Không hài lòng là tốt; nếu bạn hài lòng với vị trí của mình, bạn sẽ trở nên tự mãn như những người 'cấp cao' mà Jeffrey đề cập. Than ôi, họ dường như tạo thành phần lớn những người trong ngành, và tất cả chúng ta phải học cách đối phó với thực tế.

7

Sự khác biệt giữa các lập trình viên cấp cao và cấp cơ sở, khi nói về những người có kinh nghiệm, nói chung chỉ là một người dựa trên lương. Có rất nhiều sự thay đổi trong giá trị của các tổ chức để thay đổi tiêu đề và thường được xác định bởi những gì bạn yêu cầu khi bạn được tuyển dụng.

Nếu đó là bất kỳ sự an ủi nào, tôi đang gặp khủng hoảng 10 năm giữa cuộc đời lập trình, mặc dù tôi đã bắt đầu lập trình trên Apple] [+ vì vậy nó có thể là một điểm 24 năm; Tôi không biết. Tôi chỉ ước mọi người không mong đợi phép thuật từ các lập trình viên.


7

Tôi tìm thấy sợi chỉ đỏ mà tôi đã thấy trong sự nghiệp của mình là khi tôi cảm thấy mình bị cuốn vào một tình huống mà tôi không kiểm soát được môi trường của mình, đó là khi tôi bắt đầu cảm thấy buồn chán. Chỉ cần làm những gì mọi người khác đang nói với bạn. Điều quan trọng là phải có một khu vực thuộc sở hữu của riêng mình (IMHO) để có trách nhiệm hoàn toàn - có lẽ điều đó còn thiếu trong công việc của bạn?

Trong trường hợp đó bạn nên nói chuyện với người quản lý của mình, có thể có một số giải pháp trong công việc hiện tại của bạn? Yêu cầu trách nhiệm nhiều hơn luôn luôn là một động thái tốt.


bạn đang ám chỉ rằng các lập trình viên đang kiểm soát quái vật?

Anh ấy sẽ không sai;)
hobbs

"Tôi tìm thấy sợi chỉ đỏ mà tôi đã thấy trong sự nghiệp của mình là khi tôi cảm thấy mình bị cuốn vào một tình huống mà tôi không kiểm soát được môi trường của mình, đó là khi tôi bắt đầu cảm thấy buồn chán." Chính xác!
Bin Chen

@Jeffrey, không có đặc điểm chung của con người, Chúng ta càng ít kiểm soát đối với tình huống / môi trường của mình, chúng ta càng cảm thấy tồi tệ hơn, ví dụ như bị trầm cảm.
Anders

7

Theo kinh nghiệm của tôi, vài tuần đầu tiên (nhiều nhất là vài tháng) rất quan trọng đối với chất lượng chung của một dự án. Nếu bạn tình cờ bắt đầu làm việc tại một nơi mà các lập trình viên khác đã tạo ra một mớ hỗn độn (tiêu chuẩn mã hóa xấu, không kiểm soát phiên bản, v.v.) thì rất khó cho người quản lý, và hầu như không thể cho một đồng nghiệp mới, để thiết lập bất kỳ cải tiến nào. Sau đó, thời hạn và các vấn đề nảy sinh sẽ gây ra một số điều xấu cho hầu hết mọi dự án, nhưng nếu nền tảng được thực hiện tốt, thiệt hại sẽ bị hạn chế và có thể quản lý được.

Vì lý do đó, nếu bạn thấy mình trong tình huống phải làm việc với các đồng nghiệp xấu trong một dự án tồi, hãy cố gắng được giao cho một dự án mới (nếu điều này là có thể trong công ty của bạn) hoặc tìm một công việc mới. Đừng chờ đợi quá lâu, vì những thói quen xấu là dễ lây lan.


7

Tôi đã có những câu hỏi tương tự và có thể nhìn vào những điều tương tự bạn có (khởi nghiệp tuyệt vời, lời khuyên truyền cảm hứng, những người có động lực tạo ra những điều tuyệt vời, quy trình, thuật toán làm cho trái tim bạn) chỉ để tìm thấy những điều đó trong đồng nghiệp của tôi, hiện tại hoặc trước đây , cũng không phải trong những người tôi biết ai đang kinh doanh. Vì vậy, câu hỏi hóc búa này phù hợp với mối quan tâm sâu sắc này với một công việc được trả lương có nghĩa là rất nhiều đêm ngủ không ngon giấc và tìm kiếm một dự án khéo léo đến mức có thể được đưa ra bên cạnh và nhanh chóng phát triển thành một thứ đủ để cung cấp một lối thoát. Giống như nhiều người, tôi có một gia đình để hỗ trợ và cá nhân tôi nghĩ rằng năng lượng cần thiết để xây dựng một thứ gì đó trong một công ty khởi nghiệp nhắm vào thị trường Brazil không được chi tiêu tốt nếu nó không hoàn toàn là CNTT và nhàm chán. Và nghiêm túc chứ? Tôi làm IT-ish và những thứ nhàm chán suốt cả ngày.

Vì vậy, với tôi câu trả lời đã được giữ ý chí học hỏi và cải thiện ở một nơi và làm việc ở một nơi khác. Tôi đã xử lý.org và tiếp tục cố gắng vẽ, viết và nấu ăn nhiều hơn. Thành thật đối với tôi, thật tuyệt vời: đôi khi bạn bị cuốn vào việc kết hợp với những người bạn ngưỡng mộ và được đưa đến Pantheon của những người thành công vĩ đại mà bạn bỏ qua những sự thật nghiêm trọng về con người bạn và điều gì khiến bạn cảm thấy cuộc sống đáng giá cuộc sống. Và trong khi công việc là thứ chiếm phần lớn thời gian trong ngày của bạn, thì phút giây bạn ngừng lo lắng về ý nghĩa của nó và nơi bạn sẽ đến là lúc bạn nhận ra mình không cần đến đó. Tiếp tục viết mã nếu đó là những gì bạn yêu thích, viết phần mềm tại nhà, đóng góp cho các dự án bạn đam mê. Loại sự hài lòng đó hầu như không bao giờ đến từ một mức lương đối với hầu hết mọi người,


Kinda bi quan, nhưng thực tế tất cả như nhau! Tôi nghĩ rằng bạn có một lập trường tuyệt vời về điều này.
Nikos Steiakakis

7

Là một lập trình viên, bạn sẽ luôn phải cân bằng giữa mong muốn về sự hoàn hảo và mong muốn của bạn đối với một sản phẩm làm việc. Tại một số công ty, hai mong muốn này sẽ gần nhau hơn, tại hầu hết các công ty, hai mong muốn đó sẽ cách xa nhau.

Đề nghị tốt nhất của tôi để giải quyết công việc hàng ngày của bạn là bắt đầu một dự án cá nhân ở bên, một nơi không có thời hạn, nơi bạn có thể làm việc trong các lĩnh vực mà bạn không thường làm việc, một nơi bạn thực hiện tất cả quyết định. Mã bổ ích nhất mà tôi đã viết là khi làm nhà phát triển Wii, tôi có thể đề nghị bạn viết một trò chơi. Bạn sẽ có thể chạm vào mọi khía cạnh khác nhau của lập trình, 3D, mạng, AI, v.v ... và vì bạn đã làm việc với .Net Tôi khuyên bạn nên lấy XNA hoặc Unity

Theo như các lập trình viên cao cấp không biết nhiều, có lẽ bạn đã đúng. Hầu hết các lập trình viên cao cấp tại các công ty lớn hơn đã được thăng chức vào thời điểm họ biết nhiều hoặc khi họ có thể hoàn thành công việc. Bây giờ họ là cấp cao, họ có trách nhiệm khác nhau, chủ yếu là người quản lý. Dự kiến ​​rằng các kỹ năng mã hóa của họ sẽ trượt một chút. Một số tốt hơn những người khác, và một số có lẽ đã được thăng chức vì những người họ biết, nhưng hầu hết các lập trình viên cao cấp mà tôi đã làm việc trong quá khứ đều có một bộ kỹ năng vững chắc (mặc dù đôi khi đã lỗi thời).

Vì vậy, để kết thúc nó, hãy thực hiện một dự án cá nhân để giảm bớt sự nhàm chán hàng ngày, và làm cho nó dễ dàng hơn với người cao niên của bạn, chỉ cần làm công việc tốt nhất mà bạn có thể trong thời gian quy định và bạn sẽ ổn.


+1 cho "Là một lập trình viên, bạn sẽ luôn phải cân bằng giữa mong muốn về sự hoàn hảo và mong muốn của bạn đối với một sản phẩm làm việc".
Bin Chen

6

Tôi nghĩ rằng đã đến lúc phải là Sr, Nhà phát triển cho bạn, tôi mới tham gia thị trường này và học hỏi và cải thiện nhưng các nhà tuyển dụng không tìm kiếm con người, họ đang tìm kiếm những con quái vật như nhà phát triển của Jr với hơn 6 năm kinh nghiệm và nó thực sự bực bội.


2
Hoàn toàn đúng! Khi tôi vừa tốt nghiệp đại học, tất cả những người được gọi là "vị trí cấp dưới" giống như những sinh viên mới tốt nghiệp có ít nhất 2 năm kinh nghiệm. Tôi may mắn tìm được một nơi tốt và làm việc 2 năm ở đó.

Sr sau 5 năm kinh nghiệm trong 1 ngôn ngữ? Bạn nên ra ngoài và có kinh nghiệm với các ngôn ngữ lập trình và hệ điều hành khác. Điều đó sẽ đưa bạn vào con đường trở thành một nhà phát triển cao cấp.

6

Câu hỏi hay Jeffrey. Bạn vẫn thích lập trình? Bạn có đam mê về nó, bạn có làm nó trong thời gian rảnh không? Hoặc bạn chỉ phát ốm vì một số công việc lập trình khủng khiếp mà bạn đã có.

Nếu bạn cảm thấy lập trình không dành cho bạn, có rất nhiều ngành học khác bạn có thể tách ra và làm vào thời điểm này trong sự nghiệp - quản lý dự án, bán hàng, tiền bán hàng, phân tích. Những cơ hội này sẽ không tồn tại khi bạn là học sinh lớp 11, vì vậy bạn có thể không bắt đầu nghĩ xa hơn việc cắt mã. Có lẽ bạn có thể tiếp cận nhà tuyển dụng của mình để tài trợ cho bạn cho các kỳ thi chứng chỉ hoặc nếu bạn muốn khám phá một công nghệ mới (Azure / Silverlight / WPF?)

Mặt khác, nếu bạn cảm thấy nơi làm việc của mình giống với truyện tranh Dilbert ngoài đời thực, có lẽ đó chỉ là thời gian để tiếp tục. Nếu bạn đã làm việc trong một công ty lớn, làm thế nào về việc phỏng vấn cho một vài công ty mới khởi nghiệp, hoặc ngược lại. Bạn không cần phải nói với bất kỳ ai bạn đang xin việc và ngay cả khi bạn nhận được lời đề nghị, bạn đang ở trong một vị trí đàm phán tuyệt vời vì đã có một công việc, bạn có thể chỉ cần quyết định xem lời đề nghị đó có tốt hơn tình hình hiện tại của bạn không, và nếu không thì chỉ cần tiếp tục tìm kiếm. Các công ty lớn hơn thường có thể cung cấp cho bạn cơ hội phát triển và đào tạo nghề nghiệp tốt hơn, trong khi với một công ty nhỏ, bạn có được nhiều thứ vô hình hơn, như trách nhiệm cho sự thành công của công ty, giờ làm việc linh hoạt, lựa chọn cổ phiếu và thâm niên / tôn trọng sau này nếu / khi công ty đánh nó lớn


6

Nếu đó là bất kỳ sự an ủi nào, tôi đã cảm thấy chính xác như vậy về người cao niên ở nơi làm việc của tôi. Tuần trước tôi đã nộp một báo cáo dựa trên bằng chứng và tuần này tôi đã có một cuộc họp dài với nhân viên để chính thức nộp đơn khiếu nại về các nhà quản lý (có tính đến tôi là một thiếu niên). Đó là hoặc phát triển một số quả bóng hoặc không hạnh phúc trong công việc của tôi. Đó không phải là khiếu nại độc hại, đó là khiếu nại mang tính xây dựng. Có một sự khác biệt, và nó chắc chắn có thể có tác động rất lớn đến hạnh phúc của bạn trong công việc.

BIÊN TẬP

Tôi cũng nói đừng "từ bỏ" vì bạn có vấn đề với mọi người. Có vẻ như rất nhiều người ở đây chỉ nói "bỏ công việc của bạn", sự thật là bạn có thể tạo ra sự khác biệt ở nơi làm việc. Tôi nghe có vẻ nhảm nhí, nhưng tôi nghĩ bạn sẽ tạo ra sự thay đổi và được tôn trọng hơn nếu bạn chủ động thay đổi mọi thứ. Đừng sợ đưa sếp sang một bên và khiếu nại. Tôi có, và nó đã tạo ra một sự khác biệt lớn. Chúng tôi đang áp dụng các công nghệ mới, thay đổi quy trình làm việc của chúng tôi và tiếp cận chính thức hơn các nhiệm vụ vì những gì tôi đã nói (và tôi là một nhà phát triển cơ sở)


Giữ ý thức của bạn về công lý, thưa ông.

6

Chà, bạn nên học một tên miền khác (toán học, AI, khai thác dữ liệu, BI, tích hợp bất cứ thứ gì). Sau đó, sau khi thành thạo tên miền mới này, bạn có những ý tưởng mới đáp ứng nhu cầu kinh doanh thực sự.

Ở giai đoạn này nếu bạn là một lập trình viên tuyệt vời, bạn chỉ cần thực hiện một khởi động. Vâng, đó là rủi ro, nhưng cách vui hơn.

Học các kỹ năng và năng lực khác nhau, không chỉ trong lập trình, sau đó kết hợp chúng để tạo ra một điều mới mà không ai nghĩ tới. Điều đó thật dễ dàng, bạn đã có một cái búa tốt nhất từ ​​trước đến nay: Lập trình.


6

Kinh nghiệm cá nhân của tôi là giống như bạn đề cập. Hầu hết tất cả các dự án tôi đang làm gần đây đều được thực hiện một cách vội vàng và tất cả có thể tốt hơn. Tôi đã là một nhà phát triển chương trình trong khoảng 7 năm nay và đã ở trong cùng một công ty cỡ trung bình. Ban quản lý không có đầu mối và đang điều hành tất cả các dự án dưới dạng "phi dự án". Có rất ít trật tự trong sự hỗn loạn.

Điều tôi sợ nhất là, tôi rơi vào cái hố mà bạn đang nói và bắt đầu thực hiện chương trình "tào lao" và quyết định ngu ngốc chỉ để tiến lên trong sự nghiệp. Tôi hy vọng có ai đó ở đó để đánh vào đầu tôi nếu điều đó xảy ra.


5

Ồ Tôi thích cuộc trò chuyện này có giá trị như thế nào. Tôi là một nhà phát triển web với hơn 5,5 năm kinh nghiệm và tôi thích nó. Tôi không thể bỏ phiếu nhưng tôi sẽ trích dẫn lời của AZ. Tôi đồng ý với điều đó!

Tôi đã phát hiện ra rằng có 2 bí mật của hạnh phúc tương đối: - đừng tìm cách có mọi thứ bạn muốn mà tìm cách muốn mọi thứ bạn có - cuộc sống thật khó khăn - không quan trọng bạn có thể gặp khó khăn như thế nào và chuyên nghiệp); nó sẽ luôn luôn đánh trở lại mạnh mẽ hơn. điều quan trọng là bạn có thể bị tấn công bao nhiêu mà vẫn có thể đi tiếp.

Cuốn sách tôi muốn giới thiệu là: http://www.amazon.com/Software-Measousing-Estimation-Quantitable-Engineering/dp/0471676225


5

Hai điểm của tôi:

Tôi đánh tôi sau 2 năm chỉ trong ngành. Tôi đã vượt qua nó bằng cách cải thiện bản thân và học hỏi.

Hầu hết thời gian, nó sẽ đến bởi vì bạn đang làm điều tương tự lặp đi lặp lại. Và nếu bạn đang làm điều tương tự lặp đi lặp lại ... tốt ... bạn đang làm sai.

Luôn luôn cải thiện. Luôn luôn học hỏi. Và chết tiệt, nếu công ty hiện tại của bạn không mang lại cho bạn bầu không khí đó, hãy đi tìm một nơi sẽ. Tôi đã làm và 2 năm qua là khoảng thời gian đẹp nhất trong cuộc đời tôi (tôi cũng có thể làm việc tốt hơn gấp 100 lần so với 2 năm trước)


5

Có rất nhiều lập trình viên, nhưng chỉ một phần nhỏ trong số họ là các kỹ sư phần mềm chất lượng. Tôi cho rằng điều đó đúng trong bất kỳ ngành nghề nào.


5

Chào mừng bạn đến với thế giới thực ... thật không may, những gì bạn mô tả xảy ra trong hầu hết các sự nghiệp với những người không đủ đam mê về những gì họ đang làm. Chỉ có một lựa chọn (đó là, nếu bạn yêu thích công việc của mình): bạn phải tìm một cửa hàng tốt hơn để làm việc, mặc dù điều đó không dễ dàng trong những ngày hiện tại ....


5

Tôi cũng đã quan sát thấy một vấn đề khác mà hầu hết được gọi là lập trình viên cấp cao của NX trong môi trường làm việc của tôi, thực sự không phải là kỹ năng cao cấp. Họ là những người cấp cao của Edward chỉ vì họ là một lập trình viên lâu năm, nhưng mã họ viết hoặc các quyết định họ đưa ra hoàn toàn là rác rưởi! Họ không muốn học, họ không muốn tốt hơn họ chỉ muốn được trả tiền

... theo dõi bởi ...

Tôi đã rơi vào trạng thái tinh thần rằng tôi không còn có ý định trở thành một lập trình viên cho sự nghiệp tương lai của mình. Tôi bắt đầu nghĩ rằng có thể có những điều tốt hơn ngoài kia để làm việc.

Sau đó, đã đến lúc bắt đầu tìm kiếm và hành động. Bởi vì nếu bạn vẫn là một lập trình viên với thái độ này, bạn sẽ kết thúc giống như những người "cao cấp" mà bạn rất coi thường. Từ hoạt động là "bị mắc kẹt": bạn sẽ kiếm đủ tiền mà bạn không thể biện minh cho việc chuyển sang một thứ khác và kỹ năng của bạn sẽ bị thu hẹp đến mức bạn không thể di chuyển trong ngành.


3

Có lẽ xem xét đi học cao học? Điều đó có thể mở ra cơ hội cho một loại công việc khác, định hướng lâu dài hơn.


Là lập trình không phải là một nghề xứng đáng, định hướng lâu dài?

trường học mở ra nghiên cứu và một lớp khác của công việc. lưu ý rằng các công ty nóng bỏng hiện nay (google, microsoft) thích tuyển dụng người có bằng cấp. tạo kết nối :-)
Paul Nathan

Xin lỗi, tôi có nghĩa là một loại công việc lập trình khác nhau, lập trình các loại khác nhau.
Max Strini
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.