Tôi nên tập trung vào việc sâu hay rộng [đóng]


10

Tôi đã là một nhà phát triển chuyên nghiệp chỉ hơn nửa năm và đã rất ngạc nhiên khi thấy thế giới thực sự lớn ra khỏi trường đại học. Tôi đã tiếp tục học trong thời gian rảnh nhưng tôi tự hỏi nên tập trung vào đâu?

FOCUS 1) Ngăn xếp phát triển được sử dụng bởi công ty của tôi. Xuất chi nhanh nhất trong sự phát triển hàng ngày của tôi. # Nhanh nhất

TRỌNG TÂM 2) Một ngôn ngữ khác với cùng một mô hình. Xem nếu tôi có thể khái quát hóa kiến ​​thức và cách suy nghĩ của tôi.

FOCUS 3) Ngôn ngữ khác nhau, mô hình khác nhau. Mở rộng biên giới của tôi và tìm hiểu những cách mới để làm mọi thứ. # Đường bộ

Nếu bất cứ ai có một trọng tâm khác nhau, hãy đưa nó ra khỏi đó.

Câu trả lời:


17

Đúng.

Tôi sẽ nói rằng bạn cần phải làm cả hai. Bắt đầu với số 1 vì điều đó có kết quả ngay lập tức và bạn đã không làm điều này trong một thời gian dài. Nhưng bạn chắc chắn cần phải làm một số # 2 và # 3.


Kế hoạch tốt, làm cho bản thân tôi ngay lập tức trở nên hữu ích hơn sẽ làm tăng giá trị của tôi trong công ty trong khi hai cái sau sẽ tăng giá trị của tôi với tư cách là một nhà phát triển nói chung.
Bob Roberts

Chính xác. Mặc dù tôi nghĩ rằng bạn sẽ thấy rằng trong sự nghiệp của mình, làm cho bản thân bạn có giá trị như một nhà phát triển nói chung cũng sẽ tăng giá trị của bạn trong công ty. Tiền chi trả có thể là một vài năm.
Marcie

1
Có lẽ câu trả lời nên là "Cả hai" thay vì "Có". Nhìn vào tiêu đề của câu hỏi và câu trả lời, tôi bối rối.
Amr

1
Tôi đã thấy rằng khi tôi học một ngôn ngữ hoặc mô hình mới, tôi trở nên hiệu quả hơn ở vị trí số 1 - Tôi tin rằng điều này là do có trải nghiệm rộng hơn mang đến cho bạn những quan điểm khác nhau về cách giải quyết một vấn đề cụ thể. Bài học tương tự được học như: Nếu bạn chỉ có một cái búa, mọi vấn đề bắt đầu trông giống như một cái đinh.
Bryan Rehbein

24

Khi mọi người hỏi tôi về lời khuyên nghề nghiệp, câu hỏi của bạn là một trong những câu hỏi đầu tiên tôi hỏi họ. Tôi không nghĩ ai có thể trả lời câu hỏi này cho bạn; Tôi nghĩ bạn phải tự quyết định xem việc tập trung vào chiều sâu hay chiều rộng có nhiều khả năng đáp ứng mục tiêu nghề nghiệp của bạn hay không.

Khi tôi thay đổi nhóm lần cuối, tôi có hai cơ hội: làm việc trong nhóm công cụ dành cho nhà phát triển XBOX hoặc làm việc trong nhóm trình biên dịch C #. Tôi nhận ra rằng nó đã đi xuống chiều rộng so với chiều sâu. Trong nhóm XBOX tôi có thể làm việc trên các hệ thống bảo mật một ngày, hệ thống âm thanh tiếp theo, video, mạng, giao diện phần cứng, bạn đặt tên cho nó. Chắc chắn, một số người là chuyên gia, nhưng mọi người phải biết một chút về mọi thứ. Trong nhóm trình biên dịch C #, tôi có thể đi sâu vào một ngôn ngữ và một trình biên dịch và thực sự hiểu sâu sắc toàn bộ.

Tôi đã suy nghĩ rất nhiều và quyết định rằng tôi phù hợp với tính khí hơn để trở thành một chuyên gia về một vấn đề hơn là một chuyên gia về vấn đề này. Đó là một lựa chọn tốt cho tôi, nhưng nó có thể không dành cho bạn. Một số người rất thành công khi biết một chút về mọi thứ.

Lời khuyên của tôi do đó là chuyển câu hỏi xung quanh. Chỉ ra bạn là người như thế nào, và sau đó xem công ty của bạn có cơ hội cho một người như bạn không. Nếu không, tìm một cái mà làm.


Nhìn nhận lại bạn là ai, bài viết này thực sự là tuyệt vời. :)
tro999

11

Trở thành một chuyên gia có thể làm cho bạn đắt hơn. Nhưng cơ hội việc làm đòi hỏi trình độ cao đó sẽ bị hạn chế, cả về số lượng và địa lý.

Trở thành một người tổng quát có thể trả ít hơn nhưng mở ra rất nhiều cơ hội việc làm cho bạn, có khả năng trên toàn thế giới.

Ngoài ra, đối với các công việc cấp cao hơn và quản lý, nên có một người có kinh nghiệm trong nhiều thứ, kỹ thuật và công nghệ. Biết các cạnh và có thể nhìn thấy một bức tranh lớn làm cho bạn một tài sản có giá trị.


Ồ, tôi thậm chí không nghĩ đến việc làm hiện tại của mình (mặc dù tôi hy vọng đây sẽ là một kỳ nghỉ dài hạn).
Bob Roberts

3

Tôi nghĩ ở giai đoạn phát triển của bạn, có được một số chiều sâu là ưu tiên hàng đầu. Tôi thấy quá nhiều người biết một chút về một loạt những thứ nhưng không thể vượt qua khi làm công việc cấp nhập cảnh bởi vì tất cả kiến ​​thức của họ là cấp nhập cảnh.

Nếu tôi muốn trở thành một chuyên gia, rõ ràng, xây dựng chiều sâu là lựa chọn đầu tiên tốt nhất.

Nếu tôi muốn trở thành một người tổng quát, trước tiên hãy xây dựng độ sâu (đạt ít nhất là trình độ trung cấp) trong một ngăn xếp và sau đó phân nhánh ra các ngôn ngữ khác. Nếu bạn xây dựng một số độ sâu trước tiên, bạn có thể thấy việc xây dựng độ sâu bằng nhiều ngôn ngữ dễ dàng hơn vì bạn có sẵn nhiều khái niệm hơn và biết nhiều hơn về những gì bạn có thể muốn học. Sau đó, tôi sẽ phân nhánh một chút vào một cái gì đó khác. Sau đó quay trở lại và xây dựng chiều sâu đến cấp độ nâng cao, sau đó phân nhánh lại và tìm hiểu thêm những điều rất khác so với những gì bạn đã biết. Sau đó mở rộng độ sâu đó ở một khu vực khác sang cấp độ trung gian, học lại thứ khác, v.v.

Hãy cẩn thận - Tôi là một người đặc biệt vì vậy tôi rõ ràng ủng hộ kiến ​​thức chuyên sâu


1

Cả hai lựa chọn đều có vị trí của họ. Tập trung vào ngăn xếp phát triển được sử dụng bởi công ty của bạn sẽ giúp bạn trong công việc, nhưng tìm hiểu về các công nghệ khác sẽ giúp bạn trong sự nghiệp.

Vào cuối những năm 1990, các kỹ năng của COBOL có nhu cầu cao bởi các công ty cần chuẩn bị phần mềm cho năm 2000. Nhưng bất cứ ai vẫn chỉ biết đến COBOL ngày nay sẽ gặp khó khăn hơn nhiều trong việc tìm kiếm công việc.

Theo cách tương tự, công nghệ ngày nay sẽ bị lỗi thời từ lâu trước khi hầu hết chúng ta sẵn sàng nghỉ hưu, vì vậy học các kỹ năng và công nghệ mới là điều cần thiết.


0

Đi trước và tìm hiểu một cái gì đó như Haskell hoặc Lisp. Học một ngôn ngữ chức năng thực sự mặc dù tôi đã tách mã của mình, làm cho việc gỡ lỗi tổng thể trở nên đơn giản hơn. Vấn đề duy nhất bạn có thể gặp phải là bạn không muốn quay lại.

http://book.realworldhaskell.org/read/

http://lisperati.com/haskell/

http://learnyouahaskell.com/


Điều đó đúng, học lập trình chức năng, đối với tôi, tôi bỏ phiếu cho OCaml hoặc F #
0xFF

F # sẽ tích hợp tốt với C # hoặc các công cụ .net khác mà bạn đang làm việc. Chỉ là một thứ để ghi nhớ trong đầu. Clojure hoạt động tốt với Java.
Theo Belaire
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.