Lấy lại niềm tin của lập trình viên cao cấp [đã đóng cửa]


21

Sếp tôi phát hiện ra tôi không thông minh như anh ta nghĩ.

Một ví dụ từ kinh nghiệm của tôi:

Tôi là một lập trình viên cơ sở và tôi làm việc trong một nhóm gồm hai người, sếp của tôi (lập trình viên cao cấp) và bản thân tôi.

Tôi được giao nhiệm vụ phát triển một ứng dụng web nội bộ cho công ty chúng tôi làm việc. Tôi đã viết back-end đến front-end (thiết kế cơ sở dữ liệu đã được đặt sẵn và công nghệ máy chủ đã được chọn). Anh ta định kỳ kiểm tra tiến trình của tôi bằng cách quan sát ứng dụng web đang hoạt động và hài lòng với việc nó sẽ xuất hiện. Khi tôi hoàn thành ứng dụng web, anh ấy hài lòng với sản phẩm cuối cùng xuất hiện như thế nào.

Vài ngày trước anh ấy bắt đầu quan tâm đến mã, vì vậy tôi đã nói với anh ấy những công nghệ tôi đã sử dụng (cho mặt trước), và đây là nơi nó đi về phía nam. Đối với phần đầu của ứng dụng web, tôi đã sử dụng khung Javascript (Backbone.js). Khi được hỏi tại sao tôi sẽ làm một điều như vậy. Phản hồi của tôi là vì tôi cảm thấy rằng khung phù hợp với ứng dụng này khá tốt và sẽ giúp tôi cấu trúc mã tốt hơn so với khi tôi viết nó từ đầu .... "Chà, điều đó thật khó chịu" là phản hồi của anh ấy.

Vì vậy, đưa ra ví dụ này câu hỏi của tôi là:

Nếu bạn là một lập trình viên cao cấp và đã mất niềm tin vào khả năng của lập trình viên cơ sở, bạn muốn thấy gì từ đàn em của mình để lấy lại sự tự tin?

EDIT : Cảm ơn tất cả mọi người vì những câu trả lời tuyệt vời và phản hồi hỗ trợ!


4
Tôi không biết ứng dụng này, nhưng một khung thích hợp thường có vẻ là một quyết định tốt hơn so với việc tự viết một cái gì đó, đặc biệt nếu bạn là người mới. Đừng để bản thân bị thất vọng bởi những bình luận như vậy. Điều đó nói rằng, bạn chắc chắn nên cố gắng viết mã của bạn từ dưới lên như một bài tập trong một dự án vật nuôi.
sebastiangeiger

50
Bạn đã bao giờ nghĩ rằng tiền bối của mình không thông minh như bạn nghĩ chưa? a) nếu anh ta là người giám sát của bạn và không biết bạn đang sử dụng khuôn khổ nào, anh ta đã thất bại trong vai trò giám sát của mình. b) nếu anh ta không thể thấy giá trị của việc sử dụng một khung mà một người có công, anh ta cũng thất bại ở đó.
GrandmasterB

5
@ jmort253, Không, nhưng anh ấy buồn vì phải học cái gì đó mới.
fbynite

17
Red Flag! ® ... anh ấy buồn về việc phải học một cái gì đó mới. Tôi đã tham gia trò chơi này từ năm 1973 và trung bình tôi phải học một công nghệ và / hoặc công cụ mới mỗi tháng . Tôi về cơ bản là một anh chàng máy chủ, nhưng trong 3 tháng qua tôi đã phải suy nghĩ lại hoàn toàn về cách tôi làm tiền đề vì các dự án như Bootstrap, Enyo và các khung ứng dụng "trang đơn" và điều đó ảnh hưởng đến cách tôi nghĩ về cách máy chủ hỗ trợ họ.
Peter Rowell

3
Bạn đã làm rất tốt ở đây, nhưng bạn chỉ cần phát triển một "Backbone.js". Ngừng quan tâm về những gì một số lập trình viên "cao cấp" nghĩ.
Kaz

Câu trả lời:


27

Nếu anh ấy thích sản phẩm bạn đã xây dựng, nhưng bị mắc kẹt trong việc sử dụng Backbone, cả hai bạn cần có một cuộc trò chuyện về ngăn xếp công nghệ mong muốn.

Là nhà phát triển, chúng tôi phải sử dụng các công cụ có sẵn và do đó, di chuyển thuận lợi công việc của chúng tôi. Nếu anh ta mong đợi bạn xây dựng mặt trước từ đầu, anh ta nên có lý do rõ ràng và có lý do chính đáng.

Việc ban đầu anh ấy thích sản phẩm là bằng chứng đủ để bạn làm tốt và đủ "thông minh".

tl; dr Bạn đã làm tốt. Nói chuyện với tiền bối của bạn và xem những gì anh ấy mong đợi từ bạn.


15

Anh ấy dường như không "cao cấp" với tôi để thực hiện một cuộc gọi phán xét nhanh như thế. Tôi luôn có xu hướng sử dụng một khung phù hợp thay vì mô hình chống "Tái tạo bánh xe vuông". Nếu anh ấy thực sự cao cấp, anh ấy sẽ hiểu và biết giá trị của một khuôn khổ tốt. Tốt nhất tôi sẽ hy vọng anh ta đặt câu hỏi về sự lựa chọn Backbone.js trên một khung công tác MVC JavaScript khác và sớm hơn nhiều trong quy trình. Anh ấy đã thất bại trong việc tư vấn đúng đắn và kiểm tra bạn như một đàn em và giúp bạn theo con đường phát triển đúng đắn (trong tâm trí của anh ấy.)

Có vẻ như bạn đã lựa chọn đúng đắn trong việc phát triển dự án do thiếu định hướng từ phía anh ấy (giả định) và đang làm việc để trở thành một nhà phát triển có năng lực hơn. Tôi nghĩ rằng có thể có giá trị khi giải thích cho anh ấy lựa chọn khung của bạn, tại sao bạn cảm thấy một khung là phù hợp, và chỉ ra rằng dự án đã được thực hiện và sự hài lòng của anh ấy một phần vì sử dụng khung được hỗ trợ và tài liệu tốt. Nếu bạn không thể tiến bộ có lẽ không có giá trị nào xuất hiện tốt hơn trong mắt anh ấy. Chỉ có bạn mới có thể trả lời điều đó.


5

Đa số các câu trả lời và nhận xét có ý kiến ​​đúng trong đó bạn và cấp trên sẽ cần có một số loại thảo luận và điều quan trọng là bạn phải đẩy mạnh và bảo vệ các quyết định của mình, ngay cả khi cấp cao của bạn không đồng ý với các lựa chọn của bạn .

Để trả lời câu hỏi của bạn về những gì tôi muốn xem như là một cấp cao:

Tôi muốn xem liệu các nhà phát triển cơ sở của tôi có thể đứng lên và bảo vệ các quyết định của mình, ngay cả khi thất vọng mờ nhạt. Nếu tôi hài lòng với sản phẩm nhưng không thực hiện thì tôi sẽ mong các đàn em chỉ ra rằng sau đó tôi nên cụ thể hơn trong thông số kỹ thuật của mình khi đưa cho họ sản phẩm. Tôi muốn họ có thể đứng vững nhưng cũng phải thừa nhận họ có thể đã không lựa chọn đúng nếu đó là trường hợp.

Tái bút: Tôi phải đề cập rằng tôi là một học sinh cuối cấp thích được chứng minh là sai ở cấp độ chuyên nghiệp vì điều đó cho tôi cơ hội học hỏi điều gì đó mới. Và tôi muốn nhận thức được cách những người khác trong nhóm của tôi làm mọi việc để không có / ít bất ngờ hơn khi kết thúc một nhiệm vụ / Sprint.


câu trả lời tốt, nhưng bạn đã không đề cập đến việc anh ấy đã thất bại trong việc dẫn dắt sự phát triển (không xem xét mã?)
Bовић

@ BЈовић - Cảm ơn bạn. - Tôi đã không làm thế bởi vì tôi tin rằng chỉ là một đàn anh không khiến bạn trở thành người duy nhất hành động. Nếu một thiếu niên mong đợi một số 'lãnh đạo' trong sự phát triển, hoặc nhận thấy sự thiếu sót của nó, thì họ nên đưa nó đến sự chú ý của cấp cao. Nếu cấp cao sau đó quyết định không cung cấp 'lãnh đạo' thì họ không xứng đáng với vị trí và mức lương mà họ đã được trao. : P
David 'gừng hói'

3

Trước hết, tôi nghĩ rằng đây cần phải được coi là một cơ hội, không phải là một thất bại. Rõ ràng có một sự không phù hợp trong các kỳ vọng và không rõ nguồn gốc từ đâu, những gì cần phải xảy ra để đưa mọi thứ trở lại đúng hướng và tương tự.

Thứ hai, nếu bạn coi đây là một thất bại hiện tại hoặc bạn không thông minh như bạn nghĩ rằng sẽ thiết lập các mối quan hệ quyền lực mà bạn không muốn. Vì vậy, nếu bạn đưa ra quyết định mà bạn tin là có thể phòng thủ được, bạn cần sẵn sàng bảo vệ chúng đến một điểm.

Mặc dù tôi đồng ý với duggieawgie rằng bạn muốn có một cuộc trò chuyện, nhưng điều đó là không đủ. Bạn phải chuẩn bị để đi vào, thảo luận về ý tưởng thiết kế của bạn, giải thích lý do tại sao bạn làm những gì bạn đã làm và bảo vệ lý luận. Bạn cũng cần phải chấp nhận rằng không chỉ có một câu trả lời đúng và lập trình viên cao cấp có thể có lý do hợp lệ để thích một thiết kế khác và vì vậy bạn muốn sẵn sàng lắng nghe những lý do đó mà không thừa nhận rằng quyết định của bạn là sai về những gì bạn biết (trừ khi bạn quyết định rằng bạn nên biết rõ hơn, và sau đó là một vấn đề khác).

Hãy nhớ rằng thiết kế thường là một câu hỏi về sự đánh đổi. Bạn muốn sẵn sàng thảo luận về sự đánh đổi là gì và xem cả hai bạn có thể làm gì để đảm bảo bạn có thể thảo luận về sự đánh đổi trong thiết kế trong tương lai. Có lẽ hai bạn chỉ mong bạn ở trên cùng một trang hơn bạn? Có lẽ ông chủ của bạn là một thằng ngốc (đôi khi nó có thể xảy ra)? Có lẽ bạn thực sự đã đưa ra một quyết định sai lầm khi đưa ra những gì bạn biết về các yêu cầu? Đi vào với một tâm trí cởi mở và với sự tự tin, tuy nhiên, và sẵn sàng thực sự nói về điều này.

Chỉnh sửa: Tôi muốn thêm một cái gì đó về việc thông minh. Những người thông minh nhất mà tôi biết là những người cho rằng họ có điều gì đó để học hỏi từ mọi người. Những người khép kín và tin rằng chỉ có một cách duy nhất là cuối cùng không đưa ra quyết định tốt về mặt tưởng tượng trong các lĩnh vực như thiết kế và họ không thể kết nối mọi thứ với nhau theo cách mà những người sẵn sàng học hỏi từ mọi người có thể. Đi vào và sẵn sàng chia sẻ và thậm chí nảy ý tưởng qua lại là dấu hiệu của cả hai thông minh và tự tin. Sự khác biệt trong thiết kế không nhất thiết trở thành vấn đề của người này tốt hơn người kia. Giả sử các nhà thiết kế có thẩm quyền, các thiết kế khác nhau sẽ được tối ưu hóa khác nhau.


3

Tôi có ý kiến ​​chung ở đây rằng bạn chưa làm gì sai cả. Là nhà phát triển cấp cao, anh ta nên quan tâm đến cách bạn phát triển ứng dụng cũng như kết quả. Để đến sau khi một dự án hoàn thành và nói rằng anh ấy không thích cách nó được thực hiện không phải là rất chuyên nghiệp về phần mình.

Nhưng, để trả lời câu hỏi chính của bạn: làm thế nào để bạn lấy lại ý kiến ​​của một cấp cao về bạn sau khi nó có thể bị mất? Trước hết, hãy hỏi họ cảm thấy bạn nên làm như thế nào. Đặt câu hỏi nếu bạn không hiểu và ghi chú. Cho thấy rằng bạn muốn học.

Thứ hai, trong nhiệm vụ tiếp theo của bạn, nếu có một cái gì đó bị bỏ qua khỏi mô tả, hãy đưa ra ý tưởng của bạn sau đó điều hành chúng bởi nhà phát triển cấp cao. Đừng thẳng thắn hỏi làm thế nào để làm điều đó, vì điều này sẽ không giúp ý kiến ​​của họ về bạn. Nhưng, nếu bạn đưa ra ý tưởng và giải pháp của riêng mình, hãy hỏi họ xem bạn có đang đi đúng hướng hay không, điều đó sẽ cho họ thấy rằng bạn đang cố gắng và bạn có kỹ năng để hoàn thành công việc. Điều này có thể đơn giản như một email nhanh chóng nói rằng "Này, tôi đang dự định sử dụng x khi làm y . Bạn có suy nghĩ gì không?"

Thứ ba, khi họ bật đầu để xem bạn đang làm gì, đừng để họ rời đi mà không nhìn vào mã của bạn.

Về cơ bản, mở các dòng giao tiếp. Nhà phát triển cấp cao của bạn dường như không phải là loại người thuộc về bạn hoặc mã của bạn, vì vậy bạn cần phải bước lên và là người để giao tiếp. Sẽ tốt hơn cho mọi người tham gia để tìm ra thứ gì đó không chính xác được nghĩ ban đầu sớm hơn là sau này.


2

Một điều bạn cần tìm ra ngay lập tức là liệu anh ấy có chán nản không vì bạn không thể bảo vệ toàn diện sự lựa chọn của bạn, hoặc nếu đó là vì bạn đã sử dụng một khung.

Trong trường hợp trước, điều quan trọng là bạn học cách đánh giá và chọn mã của bên thứ ba để đưa vào dự án và bạn biết cách đưa ra quyết định đó cho cấp trên của mình và sẵn sàng chấp nhận điều đó với sự biện minh. Đây là một kỹ năng khó để học, nhưng nó đi kèm với kinh nghiệm. Đây cũng là một kỹ năng tốt để học vì ngay khi bạn đưa thư viện của bên thứ ba vào dự án, bạn giới thiệu một thành phần mà các nhà phát triển khác không thể hiểu đầy đủ, rằng họ không có toàn quyền kiểm soát và có thể có lỗi, lỗ hổng bảo mật và những thứ khác mà họ cần phải nhận thức được.

Nếu anh ấy thất vọng vì bạn đã không viết nó từ đầu thì đó hoàn toàn là một vấn đề khác. Có thể là anh ta có lý do chính đáng để ngăn cản việc sử dụng các khung (như các mô tả mà tôi đã mô tả ở trên) hoặc có thể có chính sách của công ty chống lại họ hoặc hạn chế lựa chọn các khung bạn có thể thực hiện. Dù bằng cách nào thì anh ta cũng nên truyền đạt điều đó cho bạn và thực tế là anh ta đã không chỉ ra sự thất bại từ phía mình. Mặt khác, anh ta có thể có một trường hợp định kiến ​​khung, bởi vì mặc dù các vấn đề mà khung có thể dẫn đến, họ cũng có những lợi ích lớn như tôi chắc chắn bạn biết. Anh ta có thể nghĩ rằng bạn nên tự làm mọi thứ, ngay cả khi điều đó có nghĩa là làm lại công việc đã được thực hiện và công khai do "Hội chứng không được phát minh ở đây".

Rằng anh ấy không giải thích lý do tại sao anh ấy thất vọng về bạn vì sử dụng một khuôn khổ chắc chắn là một thất bại về phía anh ấy để giao tiếp hiệu quả. Anh ấy khiến bạn tự hỏi bạn đã làm gì sai, khi câu trả lời có thể là "không có gì". Anh ấy cũng khiến bạn phải tự đặt câu hỏi và điều đó chắc chắn sẽ khiến bạn không muốn sử dụng sáng kiến ​​của chính mình trong tương lai. Nếu có một đặc điểm mà một lập trình viên giỏi không thể có, thì đó là sự thiếu chủ động. Và trong khi tôi chắc chắn đó là vô ý, thái độ của anh ta đang làm tổn hại tinh thần khi anh ta đột nhiên rút lại lời khen cho một công việc được thực hiện tốt qua một chi tiết nhỏ về cách bạn hoàn thành nhiệm vụ.

Chỉ vì anh ta là lập trình viên cao cấp không làm cho anh ta không thể sai lầm.


2

Theo dõi bình luận của bạn cho biết ông chủ buồn bã anh ta phải học một cái gì đó mới ....

Trừ khi có nhiều điều mà bạn chưa đề cập, tôi sẽ khó chịu với HIM.

Học các công nghệ mới là một phần tuyệt vời trong công việc của chúng tôi và mỗi nhóm nên nắm lấy việc học và cải thiện bản thân.

NHƯNG, quản lý có những thứ khác để lo lắng. Họ có thời hạn để đáp ứng, họ có giới hạn hoặc không có ngân sách đào tạo.

Từ quan điểm quản lý con người, nó có thể là người khác làm việc trong giai đoạn 2 của dự án thay vì bạn. Sếp của bạn có thể có người khác đánh dấu tai để thực hiện công việc đó và anh ta biết rằng người đó bây giờ có một đường cong học tập cho một cái gì đó mới.

Và bây giờ là NHƯNG trên NHƯNG trước đó ....... đây là lỗi của ông chủ của bạn. Nếu bạn là người mới và thiếu niên, anh ấy nên cung cấp ít nhất một số hướng dẫn. Ở mức độ thấp hơn, bạn cũng có thể yêu cầu hướng dẫn về công nghệ để sử dụng.


2

Nếu bạn là một lập trình viên cao cấp và đã mất niềm tin vào khả năng của lập trình viên cơ sở, bạn muốn thấy gì từ đàn em của mình để lấy lại sự tự tin?

Cho rằng bạn đã nói rằng anh ấy không muốn học cách sử dụng khung mà bạn đã sử dụng, tôi nghĩ câu hỏi nên là: " Nếu bạn là một lập trình viên cao cấp và bạn đã mất khả năng học hỏi từ lập trình viên cơ sở, bạn nên làm gì để tự sắp xếp? "

Là một nhà phát triển chuyên nghiệp, bạn không ngừng học hỏi. Không bao giờ. Nếu bạn làm, bạn sẽ trì trệ. Và điều đó có thể tốt trong một số lĩnh vực. Ngân hàng có rất nhiều hệ thống cũ đang hoạt động cần được duy trì nên kiến ​​thức về các hệ thống cũ di chuyển rất chậm là ổn. Một người bạn của tôi đang chỉnh sửa COBOL cho một ngân hàng để phát hiện ra rằng mã nguồn mà anh ta đang sửa đã bị chạm trong khoảng 30 năm (và tác giả ban đầu là giảng viên COBOL của chúng tôi tại trường đại học) ... Điều đó nói rằng, anh ta vẫn phải học những thứ mới vì các hệ thống cũ phải được tích hợp vào các hệ thống mới.

Quay lại với nhà phát triển cấp cao của bạn. Bạn nói rằng " anh ấy đã buồn về việc phải học một cái gì đó mới ", và theo tôi đó là tiếng chuông báo thức khá to.

Tôi luôn luôn học hỏi. Mặc dù tôi thực sự muốn chủ nhân của mình nhận hóa đơn giáo dục của tôi mỗi năm, thật hiếm khi họ chi tiêu bất cứ thứ gì gần với những gì tôi thực sự cần, nhưng tôi biết rằng tôi phải duy trì việc làm nên tôi chi tiêu ở đâu đó trong khu vực 2000 bảng GBP (khoảng $ 3000 USD) cho giáo dục của tôi mỗi năm.

Nếu tiền bối của bạn không học được những điều mới thì họ sẽ bắt đầu đưa ra những quyết định tồi tệ (có thể họ đã có) và chất lượng của mã bạn đang xử lý sẽ đi xuống vì họ bị mắc kẹt và không cảm thấy cần phải nhận ra khỏi con đường mòn đó

Một trong những nhà phát triển tốt nhất tôi từng làm việc cùng là một nhà phát triển cơ sở, người biết tất cả các loại công cụ mà tôi chưa bao giờ có cơ hội để xem xét. Anh ta mang quá nhiều đến bàn tôi thường bị choáng ngợp. Nhưng tôi đánh giá cao những nỗ lực của anh ấy và tôi không bao giờ "thất vọng" bởi bất kỳ điều gì trong số đó. Tôi hài lòng vì anh ấy đã dành thời gian để đánh giá cao tất cả các khả năng và trình bày chúng cho đội. Bây giờ anh ấy lãnh đạo một nhóm và anh ấy liên tục nói với tôi về các nhà phát triển mang đồ vào bàn và những gì anh ấy học được từ họ.

Nhà phát triển cấp cao của bạn cần học hỏi nhiều thứ. Họ cần học cách không sử dụng các từ cảm xúc (như "không thích nghe") để che giấu những bất cập của bản thân, vì điều đó sẽ đánh gục niềm tin của người khác. Họ cần học các khuôn khổ mới (ngay cả khi họ không thể học toàn bộ, tìm hiểu những gì nó làm và cách giải quyết vấn đề và nếu họ cần nó trong tương lai thì họ có thể đầu tư thời gian để tìm hiểu sâu hơn). Và họ cần phải học rằng họ đang ở trong một công việc mà họ sẽ phải tiếp tục học hỏi mọi lúc.

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.