Những kỹ năng nào bạn mong đợi và đánh giá cao ở một Kỹ sư phần mềm cơ sở? [đóng cửa]


64

Gần đây tôi đã hoàn thành bằng Thạc sĩ Khoa học về Kỹ thuật phần mềm và tôi sẽ bắt đầu sự nghiệp chuyên nghiệp của mình sau vài tuần nữa. Vai trò của tôi sẽ là Nhà phát triển cơ sở cho một công ty phát triển phần mềm sử dụng các công nghệ liên quan đến Java (trong đó có Spring và Hibernate). Thành thật mà nói, tôi thực sự hào hứng với những gì sắp tới, đặc biệt là vì tôi muốn phát triển sự nghiệp của mình như một nhà phát triển Java. Tôi cũng rất quan tâm đến việc tích lũy kinh nghiệm trong lĩnh vực này. Ngoài ra, đây sẽ là kinh nghiệm làm việc đầu tiên của tôi với tư cách là một nhà phát triển chuyên nghiệp vì vậy tôi thực sự muốn làm hết sức mình ngay từ đầu.

Tôi muốn biết những kỹ năng và khả năng nào, cả mềm mại và kỹ thuật, sẽ được đánh giá cao nhất trong một chuyên gia mới (Nhà phát triển cơ sở) có thể là một phần trong nhóm của bạn và trong đó các kỹ năng tôi nên tập trung để đạt được sự nghiệp thành công như một Phần mềm Kỹ sư.


13
Một câu hỏi tuyệt vời hỏi hùng hồn.
Adam Crossland

2
Tìm một loại thuốc / hoạt động cửa ngõ để khi mọi thứ trong môi trường làm việc trong thế giới thực không hoạt động như bạn tưởng tượng, nhưng hãy chắc chắn rằng tác dụng của nó không tràn vào buổi sáng.
Công việc

Chú ý đến chi tiết - không có gì quan trọng hơn.
Orble

1
Vì bạn là một NGƯỜI KHAI THÁC. Có khả năng trong các ngôn ngữ mà bạn nói bạn có năng lực. Không có gì bực tức hơn khi thuê một người nói rằng họ biết một ngôn ngữ nhưng chỉ học nó trong một lớp. Ví dụ: những người liệt kê C / C ++ trong sơ yếu lý lịch của họ nhưng không thể sử dụng cái này hay cái kia (thần cấm, không thể sử dụng!)
aqua

Điều gì đã xảy ra với giấc mơ làm trò chơi điện tử? Bạn "muốn phát triển sự nghiệp [của mình] với tư cách là nhà phát triển Java", nghiêm túc chứ? đùa thôi, với mỗi người của mình :)
cambraca

Câu trả lời:


50

Rất nhiều trong số này là đúng cho dù bạn đang ở đâu trong sự nghiệp, nhưng có thể đặc biệt quan trọng đối với người mới bắt đầu.

  • Nghe nhiều hơn bạn nói. Học hỏi từ những gì người khác đang nói.
  • Khiêm tốn. Đừng ngại chia sẻ ý tưởng của bạn, nhưng đừng cho rằng bạn đúng và mọi người khác đều sai. Nếu bạn thấy điều gì đó bạn nghĩ là sai, hãy hỏi về điều đó, đừng phát âm về nó.
  • Hãy tiếp tục học hỏi. Nền tảng từ giáo dục của bạn là (nên) tuyệt vời, nhưng bạn chỉ mới bắt đầu học nghề. Học bằng cách làm. Tôi không nghĩ rằng bạn thực sự có thể học trừ khi bạn thực sự thực hành những gì bạn đang học.
  • Khách hàng hiếm khi biết những gì anh ta muốn cho đến khi anh ta nhìn thấy nó. Làm quen với yêu cầu của bạn thay đổi. Áp dụng một phong cách phát triển (nếu được phép) nhanh chóng thu hút mọi thứ trước khách hàng để nhận phản hồi.
  • Tìm những người giỏi làm việc với khách hàng và yêu cầu họ tư vấn cho bạn cách phát triển mối quan hệ với họ.
  • Viết mã được kiểm tra tốt, mạnh mẽ. Hoàn thành nó không phải là mục tiêu; làm cho nó được thực hiện đúng là Nếu bạn giỏi về nó, tốc độ sẽ đi cùng với thời gian.
  • Làm việc chăm chỉ. Đừng chờ đợi để được yêu cầu làm một cái gì đó; tìm kiếm hoặc yêu cầu những việc cần làm
  • Sở hữu những sai lầm của bạn hoặc sai lầm của đội bạn. Đừng ném các thành viên trong nhóm của bạn dưới xe buýt trước mặt khách hàng, nhưng hãy trung thực khi bạn gặp vấn đề về mã.
  • Bạn có thể nghĩ rằng đồng đội của bạn muốn bạn trở thành một lập trình viên xuất sắc. Điều đó sẽ rất tuyệt, nhưng đồng đội của bạn thực sự muốn bạn có năng lực và không phải là một kẻ ngốc. Nếu bạn sẽ là một thằng ngốc, tốt hơn hết là bạn nên xuất sắc.

3
+1 cho "Khách hàng hiếm khi biết anh ta muốn gì cho đến khi anh ta nhìn thấy ..."
Thất vọngWithFormsDesigner

1
+1 cho "Tiếp tục học". Đó có lẽ là điều quan trọng nhất tôi sẽ tìm kiếm ở một lập trình viên cấp cơ sở
Rachel

+ cho "Hoàn thành nó không phải là mục tiêu; làm cho nó hoàn thành đúng là" Đảm bảo mã của bạn không chỉ hoạt động mà còn được kiểm tra nghiêm ngặt là rất quan trọng. Ngoài ra, làm cho nó được thực hiện đúng có nghĩa là một nhà phát triển khác có thể nhìn vào mã của bạn, hiểu nó và đọc các bình luận để sau đó tiếp tục duy trì mã đã nói.
Jeremy

61

Đây là một danh sách nhanh chóng trên đỉnh đầu của tôi:

  • Theo dõi (kết thúc những gì bạn bắt đầu)
  • Trung thực (cho tôi biết nếu bạn bị mắc kẹt)
  • Tò mò (tìm ra cách tốt hơn để làm mọi thứ)
  • Tư tưởng cởi mở (cả chỉ trích và những ý tưởng không phải của bạn)
  • Sự hào phóng (chia sẻ những gì bạn học được; đào tạo thế hệ tiếp theo)

1
Tôi đồng ý với tất cả các phẩm chất được liệt kê. Nếu tôi được yêu cầu cố vấn cho một lập trình viên cơ sở như vậy, tôi sẽ rất vui khi làm điều đó, và nó sẽ làm cho ngày làm việc của tôi trở nên tuyệt vời hơn.
Adam Crossland

3
Tôi nghĩ rằng danh sách này tổng hợp khá nhiều, điều duy nhất tôi có thể có thể thêm là giao tiếp. Tôi đã thấy rất nhiều nhà phát triển trẻ đầy triển vọng bị bỏ lại phía sau vì đơn giản là họ không muốn liên lạc với các thành viên trong nhóm của họ. Mã hóa một mình chỉ không cắt giảm những ngày này, bạn phải nói chuyện với người dùng, thành viên nhóm và tham gia. Ngoài ra, học cách viết tốt vì bạn sẽ làm được nhiều hơn thế bạn từng nghĩ.
Nodey The Node Guy

14
+1 Trung thực: Học cách nói, "Tôi không hiểu điều này." - đầu tiên cho chính bạn và sau đó cho các đồng nghiệp của bạn - thực sự quan trọng. Nó mở ra cánh cửa để giao tiếp và học tập. Tôi đã thấy quá nhiều lập trình viên cho phép cái tôi của họ cản trở họ mở rộng tâm trí. Tôi đã làm việc trong ngành này được gần 4 thập kỷ và tôi vẫn gặp phải vấn đề mỗi ngày mà tôi không hiểu. Vì vậy, tôi google, tôi đọc, tôi viết mã thực hành, và sau đó tôi có thêm một kỹ năng tôi có thể mang đến bàn.
Peter Rowell

Về tinh thần cởi mở - điều này đặc biệt bao gồm các ngoại lệ đối với sách quy tắc. Tôi đã thất bại về điểm này. Một phần của kinh nghiệm là học khi phá vỡ các quy tắc. Đôi khi, buộc mọi thứ phải phù hợp với lý tưởng của bạn chỉ khiến mọi thứ trở nên phức tạp hơn. OTOH, hoàn toàn không biết cuốn sách quy tắc ...
Steve314

1
Về phần Trung thực: Những gì tôi nói với mọi người làm việc cho tôi là dành nửa giờ cố gắng tự mình tìm ra nó, sau đó nhờ tôi giúp đỡ hoặc một con trỏ. Nếu tôi không có câu trả lời ngay lập tức, hãy đập nó trong bốn giờ hoặc lâu hơn trước khi cho tôi biết rằng nó sẽ mất nhiều hơn thế. Đó là khi chúng tôi bắt đầu kéo mọi người ra khỏi các nhiệm vụ khác để giúp đỡ. Những ngày này, tôi cũng sẽ khuyên họ tìm kiếm và sau đó hỏi trong Stack Overflow và google nói chung, sớm trong quá trình đó. Mục tiêu của tôi ở đây là ngăn chặn phản ứng gián đoạn tức thời, có thể giết chết năng suất của những người xung quanh bạn.
Hack Saw

8

Hai điều: sự sẵn sàng học hỏi và khả năng học hỏi.


4

Tò mò, nhiệt tình, đặt ra tiêu chuẩn cao cho bản thân, sẵn sàng học hỏi, sẵn sàng thừa nhận họ không biết, quan tâm đến những gì doanh nghiệp làm và cách nó ảnh hưởng đến công việc bạn sản xuất. (Tất cả những phẩm chất tốt ngay cả khi bạn có 20 năm kinh nghiệm)

Kiến thức kỹ thuật tốt là rất tốt nhưng bạn phải chỉ ra cách bạn sẽ áp dụng kiến ​​thức này.

Trên hết, người phỏng vấn phải có khả năng thấy bạn làm việc ở đó đóng góp và muốn ở lại. Nếu bạn quá giỏi, điều đó có thể khiến một số người giảm tốc độ nhanh hơn mức trung bình. ;)


4

Động lực. Bạn có biết làm thế nào để thúc đẩy bản thân? Bạn có biết những chiến thuật nào có thể hoạt động tốt hơn những người khác? Đây là về sự tự nhận thức mà một số người có thể mong đợi bạn biết từ tất cả các nền giáo dục bạn đã thực hiện để phát hiện ra điều này ở bên.

Kỹ năng kiểm tra và gỡ lỗi cơ bản. Bạn có biết bài kiểm tra đơn vị là gì không? Bạn có biết một vài cách để gỡ lỗi một vấn đề? Đây không phải là về việc biết cụ thể phải làm gì trong một môi trường mà là ý tưởng chung về những bài kiểm tra cơ bản nhất có thể là gì và những chiến lược nào cần có khi xem xét vấn đề.

Kĩ năng giao tiếp. Làm thế nào chính xác là bạn với ngôn ngữ? Làm thế nào tốt bạn có thể đi từ kỹ thuật đến phi kỹ thuật? Cấp điều này là một cái gì đó để phát triển, nhưng nó là một điều cần lưu ý và trong một số trường hợp, hãy cứu ai đó có thể gặp rắc rối bằng cách không hiểu ý nghĩa của những gì họ yêu cầu. Làm thế nào để bạn hòa hợp với mọi người? Không phải đây là một yêu cầu nghiêm ngặt nhưng nếu bạn có thể có mối quan hệ tốt với đồng nghiệp, nó có thể khiến một số công việc dễ dàng hơn một chút để xử lý. Sự trung thực và liêm chính cũng thuộc nhóm kỹ năng này vì nhìn chung có thể có những câu hỏi về việc bạn nói những gì bạn muốn nói và ý nghĩa của những gì bạn nói. "Không gian văn phòng" có rất nhiều ví dụ về giao tiếp kém và trong khi tác phẩm là hư cấu, có thể có nhiều cảnh thực sự gần với thực tế đối với một số người về làm việc trong môi trường văn phòng.

Tính linh hoạt. Những người mới trong nhóm có thể nhận được một loạt trách nhiệm để nếu trong một công ty nhỏ, bạn có thể phải thiết lập cơ sở dữ liệu, mạng, máy chủ web và những thứ khác nằm ngoài sự phát triển. Tham gia để giúp một đội đáp ứng thời hạn sẽ là một ví dụ khác ở đây.


1
+1: Tôi muốn thêm sự trung thực vào phần Kỹ năng giao tiếp. Nếu bạn hoàn toàn không quen thuộc với điều gì đó, hoặc nếu bạn gặp phải vấn đề, nói với đồng nghiệp cấp cao hoặc trưởng nhóm sớm có thể giúp tránh những vấn đề nghiêm trọng hơn sau này.
oosterwal

2
Đợi ... "Không gian văn phòng" là hư cấu ???
PSU

3

Đối với tôi, là một nhà phát triển cơ sở không có bằng cấp, sự sẵn sàng làm việc chăm chỉ và cải thiện bản thân đã giúp ích rất nhiều cho sự nghiệp của tôi. Ngoài ra tôi nhận thấy rằng việc có thể đối phó với một số lời chỉ trích (tích cực hay không) và có thể theo dõi điều đó đã được cấp trên đánh giá cao.

Đối với một môi trường mới: Tôi khuyên bạn chỉ nên đi theo dòng chảy trong tuần đầu tiên hoặc lâu hơn. Tôi đã phạm sai lầm khi cố gắng quá sức, điều đó không được đánh giá cao.


Đúng. Chấp nhận những lời chỉ trích có nghĩa là hỏi nhiều câu hỏi tiếp theo để làm cho 'nhà phê bình' thoải mái hơn. Hỏi những gì khác bạn có thể thay đổi để làm tốt hơn. Hiển thị ví dụ tiếp theo với cùng một vấn đề - lần này bạn đã làm tốt hơn chưa? Bạn đang tiến bộ à? Một khi mọi người thực sự cảm thấy thoải mái với những lời chỉ trích mang tính xây dựng , cuộc vui bắt đầu. Chỉ cần xác nhận lại rằng những người làm sản phẩm kinh doanh của bạn có thể không nghĩ theo cách này;)
Michael Durrant

3

Tôi đồng ý với tất cả những gì đã được nêu, nhưng tôi muốn nhấn mạnh rằng bạn không bao giờ nên quên những kỹ năng chung (và mềm) này thay vì trở thành một chuyên gia kỹ thuật. Bạn nên làm việc trên cả hai, nhưng tôi muốn có một người trung gian có thể truyền đạt những gì họ biết sau đó có một người chủ thay vì làm việc một mình.

Ngoài ra, đừng dành quá nhiều thời gian cho mũi của bạn trong một cuốn sách. Sách rất hay, thậm chí tuyệt vời, nhưng nếu bạn dành phần lớn thời gian để đọc và ít thời gian làm việc, bạn sẽ không nhận được một nửa trong số những cuốn sách đó.


++ Điểm tốt, Wes, mặc dù tôi phải tự hỏi. Nếu tôi hỏi mọi người những ngày này họ có đọc như vậy không, câu trả lời thường là - Đọc?
Mike Dunlavey

2

Câu trả lời tuyệt vời tất cả. Tôi chỉ nói thêm, từ kinh nghiệm bay hạn chế của tôi - bạn có biết họ gọi bằng lái phi công là gì không?

Giấy phép học tập.


2

Rất nhiều câu trả lời tuyệt vời.

Ngay cả khi tôi không làm việc cho các 'ông lớn' và tôi không phải là một bậc thầy, tôi sẽ thêm 2 xu của mình.

Hãy tốt với mọi người .

Cố gắng giao tiếp với đồng nghiệp của bạn, dành một chút thời gian của bạn với một số người trong số họ mỗi ngày nếu có thể. Thỉnh thoảng đi ăn tối với họ, cười thật tươi với họ.

Nói cách khác, hãy cố gắng xây dựng một "cộng đồng" nếu không có hoặc trở thành một phần của nó nếu nó tồn tại.

Làm quen với các đồng nghiệp của bạn sẽ giúp bạn hòa đồng với họ dễ dàng hơn. Thêm vào đó, tỷ lệ cược là tốt, bạn sẽ có niềm vui khi làm điều đó.


2

Cũng như tất cả những thứ hay ho được gửi bởi cộng đồng (ở trên), tôi cũng mong đợi được thấy bằng chứng về một số kỹ năng cứng. Không phải sự hoàn hảo hay sức mạnh über-geek, mà là một kiến ​​thức làm việc tốt về những điều cơ bản và khái niệm cơ bản. Bạn đã nhận được công việc rồi ( xin chúc mừng !) Vì vậy bạn ở đó khá nhiều.

Nhưng làm mới kiến ​​thức của bạn và / hoặc bắt kịp tốc độ với các công cụ, ngôn ngữ và công nghệ mà công ty bạn sử dụng sẽ có nghĩa là bạn sẽ bắt đầu chạy và tạo ấn tượng tốt đầu tiên.

Một nhà phát triển cơ sở hoàn hảo giả thuyết sẽ biết các nguyên tắc cơ bản của những thứ như

  • ngôn ngữ.
  • Tôi / O
  • Các khái niệm OO như thừa kế
  • Giao diện đối tượng
  • truy cập cơ sở dữ liệu (đặc biệt liên quan đến cách họ thực hiện tại cửa hàng mã mới của bạn)
  • mô hình HTTP
  • CSS
  • JavaScript / JQuery
  • thiết kế cơ sở dữ liệu
  • SQL và các thủ tục lưu trữ
  • IDE bạn sẽ sử dụng
  • khuôn khổ liên quan (bạn đề cập đến mùa xuân)

vân vân Anh ta sẽ có thể tập trung vào việc tiếp thu các kỹ năng mới mà không phải dừng lại và học những điều cơ bản. Anh ta sẽ có thể tham gia (hỏi bao nhiêu câu hỏi hợp lý tùy thích - hầu hết các nhà phát triển cấp cao thích được hỏi những câu hỏi kỹ thuật hợp lý ) với giá vé thông thường của các biểu mẫu trực tuyến, các trang quản trị mà nhiều đàn em phải đối mặt trong vài tháng đầu. Trở thành một nhà phát triển đáng tin cậy, đàn em có thể là bài kiểm tra khởi đầu nhóm của bạn ;-)

Khi tôi bắt đầu là một thiếu niên trong nhóm web của một tập đoàn lớn, phần lớn công việc ban đầu tôi được giao có phần không mệt mỏi nhưng đã đánh thuế tôi đến mức tôi đánh vào sách mỗi tối để tôi có thể hiểu những gì tôi đang đi phải làm vào ngày hôm sau . Tôi đã vượt qua nó, nhưng đó là một năm hoặc sáu tháng căng thẳng sau khóa học thạc sĩ của tôi ;-)

Nếu bạn có thể làm tất cả những thứ cơ bản một cách hiệu quả, bạn sẽ có được những thứ thú vị hơn để làm khá nhanh chóng và điều này tất nhiên sẽ giúp thúc đẩy sự nghiệp của bạn.

Và lặp lại những gì nhiều người ở trên đã nói, thế giới của máy tính và mã không ngừng phát triển. Bạn sẽ cần phải học những thứ mới mỗi ngày. Giữ cho tâm trí của bạn rộng mở và cố gắng và theo dõi lý do tại sao bạn bắt tay vào việc này ngay từ đầu - bởi vì bạn <3 nó. Trong những năm tới có thể có những lúc điều này sẽ không đi đầu trong tâm trí của bạn. Sự nhiệt tình sẽ giúp bạn vượt qua hầu hết những trở ngại và rào cản.

Đã nói tất cả, kinh nghiệm của tôi trong mười hai năm qua cho thấy rằng hầu hết đàn em không ở lại công ty đầu tiên của họ mãi mãi, vì vậy đừng quá nôn nao vì trở nên 'hoàn hảo'. Phạm sai lầm là một phần của quá trình sẽ đưa bạn từ cấp dưới đến bất cứ nơi nào bạn muốn kết thúc. Tôi đã làm điều này được một thời gian và gần như hoàn thành một cơ sở dữ liệu sản xuất ít nhất một vài lần trong năm.

Chúc may mắn với sự nghiệp của bạn.


1
+1 để có câu trả lời đề cập đến một cái gì đó cụ thể cho lập trình, và do đó không thể di chuyển chưa được chỉnh sửa vào hướng dẫn tẩy chay.
psr

Cười ngả nghiêng. Vâng, có rất nhiều bình luận trong câu hỏi này;)
5arx

1

(1) Một tâm hồn cởi mở. Bạn không muốn ai đó được thể chế hóa sử dụng ngôn ngữ X và môi trường Y cho mọi dự án. Bạn muốn ai đó có thể hồi phục khi một công nghệ cụ thể sẽ không giải quyết vấn đề một cách sạch sẽ và đưa ra các lựa chọn thay thế tốt. Trên hết, bạn muốn một người có thể thách thức suy nghĩ thông thường và đưa ra các giải pháp thúc đẩy doanh nghiệp. Bạn có thể tự mình trải nghiệm điều này, nhưng tôi thấy rằng mọi người đã quá quen với một quy trình mà họ không thay đổi nó, nhưng họ vẫn phàn nàn về mức độ đau đớn mà họ gây ra cho họ. Thông thường khi tôi đến, tôi nhìn vào cách cải thiện điều đó và đưa ra giải pháp cho người quản lý của mình. Bây giờ, tôi cũng nói rằng, cá nhân nên "ngoại giao" về đề xuất của anh ấy / cô ấy :)

(2) Kỹ năng mô hình hóa miền tốt. Đây là một cái khá lớn mà tôi đã tìm thấy một số người bỏ qua. Ở một số nơi tôi từng làm việc, tìm hiểu về công việc kinh doanh là 'làm bẩn tay' và mọi người né tránh các vấn đề thuần túy về công nghệ như tích hợp trình kiểm tra chính tả vào kiểm soát phiên bản, v.v. và họ không đầu tư nhiều thời gian vào việc cải thiện kinh doanh. Có thể nhìn vào một doanh nghiệp và tạo ra các mô hình (đơn giản hóa) từ đó và truyền đạt điều đó đến nhiều đối tượng khác nhau như nói, trực quan (UML, SSADM hoặc bất cứ điều gì) hoặc một chút của cả hai, bạn muốn ai đó có tâm lý đó.

Hai cuốn sách tôi có thể giới thiệu về chủ đề này là: Lập trình viên đam mêLập trình viên thực dụng . Cả hai cuốn sách cung cấp lời khuyên tốt cho các lập trình viên cơ sở và cấp cao như nhau.


+1 cho các đề xuất sách; Kỹ năng lập mô hình miền OTOH cần có thời gian để trưởng thành, vì vậy tôi sẽ không mong đợi những điều này từ một học sinh lớp dưới. Nhưng phấn đấu để hiểu quan điểm kinh doanh và giải quyết các vấn đề thực sự của người dùng thực sự quan trọng ở mọi cấp độ.
Péter Török

Peter, thông qua trường đại học (ít nhất là từ những gì tôi đã thấy), một nhà phát triển sẽ xây dựng một bộ kỹ năng phân tích mạnh mẽ. Đây thực sự là mục tiêu của mô hình hóa, trích xuất chuyên môn và làm cho nó có thể học được cho người khác. Vì vậy, tôi muốn nói rằng đây là một kỹ năng cơ bản mà tôi mong đợi từ hầu hết các nhà phát triển. Có thể đóng khung một vấn đề cụ thể ở cấp độ vi mô / marco và giải thích vấn đề đó để nói một nhà giao dịch tài chính, nhận phản hồi và truyền đạt lại cho các đồng đội của bạn. Đó chỉ là của tôi về nó mặc dù.
Hành tinh hoang vắng

1

Chủ động. Tôi đã có nhiều người không làm điều này cả và luôn chờ đợi để được nói chính xác phải làm gì. Nếu bạn thấy một cái gì đó nên được cải thiện, hãy làm nó. Bạn có một ý tưởng để cải thiện một cái gì đó? Đưa nó về phía trước. Cần một kỹ năng khác để cải thiện một cái gì đó? Học nó.

Cho thấy rằng bạn quan tâm đến những gì bạn đang làm và muốn cải thiện.


1

Không làm bạn sợ chút nào, nhưng có một điều tôi sẽ cảnh báo bạn rằng trong mỗi công ty tôi từng làm việc, đó là các phương pháp cuộn lớn bẩn thỉu và các đối tượng được đặt tên xấu khiến bạn sợ mở các tệp nguồn trong tuyệt đối sốc và kinh hoàng của một mớ hỗn độn như vậy. Những nơi bạn thường tìm thấy là trong các trình xử lý sự kiện cho các nút "OK" trên hộp thoại hoặc nút "Gửi" trên các trang web.

Tôi đang cầu xin bạn từ tận đáy lòng. Vui lòng cài đặt một chuông báo động tinh thần, rằng khi một phương thức bắt đầu trông lớn và lớn hơn, ý tôi là hơn 10 dòng hoặc lâu hơn, hãy nghĩ về việc tạo ra một phương pháp khác ... rất nhiều phương pháp sau, bạn sẽ hiểu trách nhiệm của nó là bao nhiêu đối tượng bạn đang phát triển có.

Chuông báo thức tiếp theo tôi muốn giới thiệu, là tối đa 2-3 tham số trong một phương thức. Nếu bạn thấy các phương thức có khoảng 10 tham số đầu vào, hãy nói xin chào với lập trình chức năng bằng ngôn ngữ OO ...

Xin lỗi vì sự thất vọng nhẹ thể hiện trong phản hồi này, tôi chỉ không thể hét lên đủ để biết cách viết mã sạch sẽ có ích như thế nào.

Hãy lấy cho mình một bản sao của Robert. C Martins Mã sạch . Đọc nó hàng tuần, mang nó ra ngoài ăn tối, ngủ với nó dưới gối của bạn, có một bản sao của nó trong nhà vệ sinh, và in ra một vài trang và dán chúng trên trần nhà để khi bạn đi ngủ, bạn có thể đọc chúng trước bạn gật đầu đi;).

Tôi chúc bạn mọi điều tốt đẹp nhất trong sự nghiệp. Niềm đam mê của bạn tại thời điểm này đã cho thấy rằng bạn sẽ làm rất tốt.


1

Lời khuyên duy nhất tôi có thể cung cấp là không bao giờ ngừng học hỏi. Cách mà các nhà phát triển rockstar có được là bằng cách dành thời gian để học các kỹ thuật và ngôn ngữ mới là thời gian rảnh của riêng họ. Mặc dù thật tuyệt nếu bạn ở đó 10 năm, nhưng khi bạn xuất hiện, bạn sẽ chỉ biết Java + Spring + Hibernate. Đây là lý do tại sao trong thời gian rảnh tôi nhìn vào nền tảng .NET, Python và mã C ++ không thường xuyên để duy trì hoạt động. Là một người đang làm việc trên MS trong thông tin sec, thời gian có thể là quý giá và nó phải được chi tiêu một cách khôn ngoan.


1

Khả năng sử dụng google. Có thật không.

Không phải là tôi sẽ không bao giờ giúp đỡ bất cứ ai, đặc biệt là một đồng nghiệp cơ sở. Nhưng không có gì bực bội hơn khi có ai đó không siêng năng giải quyết vấn đề, liên tục.

Lời khuyên của tôi cho đàn em mềm. kỹ sư là để làm việc tích cực của bạn trong việc giải quyết vấn đề. Sử dụng google, wikipedia hoặc stackoverflow một cách siêng năng và có phương pháp khi bạn không biết điều gì đó.

Đừng chờ đợi quá lâu trước khi tìm đến một đồng nghiệp cao cấp hơn để được giúp đỡ - tuy nhiên điều đó phụ thuộc vào loại hình tổ chức. Trong một công ty tốt, nơi mọi người giúp đỡ lẫn nhau, nếu bạn dành hơn nửa ngày cố gắng tìm câu trả lời, đừng ngần ngại dừng nghiên cứu của chính bạn để yêu cầu giúp đỡ.

Trong các tổ chức khác, nơi mọi người luôn có ý nghĩa với nhau, bạn có thể phải dành một vài ngày cho riêng mình (ghi lại mọi thứ bạn đã làm và ở mọi nơi bạn đã nghiên cứu) trước khi yêu cầu trợ giúp. Trong các công ty như vậy, ghi lại những gì bạn đã làm để giúp bạn có thể cho họ thấy rằng "bạn đã google nó" bởi vì đó sẽ là câu trả lời đầu tiên họ sẽ ném vào bạn.

Nhưng bất kể, điều cốt lõi của những gì tôi sẽ tìm kiếm ở một kỹ sư cơ sở là thực hiện sự chuyên cần của mình trong việc cố gắng giải quyết vấn đề thay vì mong muốn có câu trả lời cho anh ấy mọi lúc. Tóm lại, cho tôi thấy bạn có thể sử dụng google.


1
  • Đam mê công việc

  • Sẵn sàng học hỏi nhiều hơn và nhiều hơn nữa ..

  • trung thực

  • Tính nhất quán


1

Câu trả lời tuyệt vời ở đó, nếu bạn làm theo tất cả những gì mọi người nói ở đây, tôi chắc chắn bất cứ ai cũng sẽ giỏi trong những gì anh ấy / cô ấy đang làm,

Chỉ muốn nhấn mạnh một vài điểm.

  • Hãy khiêm tốn, đừng ngại đưa ra ý kiến ​​của bạn, nhưng một khi ý kiến ​​được chia sẻ thì đừng giữ ý kiến ​​đó, hãy sẵn sàng học hỏi từ người khác.
  • hình thành mối quan hệ với các thành viên trong nhóm của bạn, mọi người nhiều như chúng tôi muốn làm việc với các lập trình viên thông minh và có uy tín, chúng tôi vẫn cần những người mà chúng tôi có thể nói chuyện, có mối quan hệ lành mạnh với các thành viên trong nhóm sẽ giúp ích rất nhiều cho sự nghiệp của bạn.
  • Hãy chủ động, đừng chờ đợi để được giao việc, tìm việc, đề xuất ý tưởng mới cho môi trường, ngay cả khi chúng không được chấp nhận, điều này sẽ tăng giá trị của bạn cho công ty.
  • Chia sẻ với người khác những gì bạn học được, điều này sẽ tăng mức độ hiểu biết của bạn, tăng giá trị của bạn cho công ty và cộng đồng.
  • Kết thúc những gì bạn bắt đầu, cam kết là một chất lượng tuyệt vời để có.
  • Giữ hạnh phúc và đừng thất vọng khi mọi thứ không diễn ra theo kế hoạch, sẽ có những thăng trầm, nhưng hãy chờ đợi ở đó

Tất cả những điều tốt nhất trong công việc của bạn


1

Một kỹ năng tôi không nghĩ nhiều người lập trình viên có, nhưng là một kỹ năng thực sự tốt, khả năng tạo ra các công cụ của riêng bạn. Bạn có thể tiết kiệm rất nhiều thời gian và công sức với một vài công cụ tùy chỉnh được thực hiện tốt. Và chúng không phải là bất cứ thứ gì lạ mắt, hầu hết của tôi là các kịch bản shell 3 dòng, mặc dù một số ít dài hơn nhiều.

Nhưng học cách tự động hóa mọi thứ sẽ làm cho cuộc sống của bạn dễ dàng hơn. (Và gây ấn tượng với đồng nghiệp của bạn khi bạn có thể hoàn thành tốt công việc)


-3
  • Không thích Java và C ++.
  • Một sự hiểu biết cơ bản về nội bộ hệ điều hành, thuật toán và cấu trúc dữ liệu.
  • Thành thạo C, và ít nhất một ngôn ngữ kịch bản.
  • Kiến thức làm việc về một VCS chính thống (Mercurial, Subversion hoặc Git).
  • Khả năng làm việc thành thạo trên dòng lệnh.
  • Không thích Windows và việc sử dụng thường xuyên tại nhà của một hệ điều hành có nguồn gốc Unix như Linux, BSD hoặc Solaris để phát triển hoặc sử dụng chung.

Tôi không nghĩ rằng việc không thích Java / C # / C ++ cũng quan trọng như việc hiểu rằng thế giới không bắt đầu và kết thúc với chúng. Java có công dụng của nó, nhưng Ruby, PHP, Erlang, Lisp, v.v.
Zachary K

Mất bao lâu để phát triển kiến ​​thức làm việc về một VCS chính thống?
Andrew M

@Andrew M: Có thể mất vài tuần để thành thạo với vô số công cụ xung quanh một VCS. Khác biệt, chi nhánh, vá, sáp nhập. Sau đó, đã giải quyết các hạn chế hoặc các biến chứng quá mức của từng VCS.
Matt Joiner

@Matt: Tôi hiểu rồi, cảm ơn. Vì vậy, cách tốt nhất để tự làm điều này là gì? Chỉ cần sử dụng nó cho các dự án thú cưng của riêng bạn là đủ thực hành?
Andrew M

2
Điểm đầu tiên và cuối cùng của bạn ít liên quan đến việc phát triển hoặc học hỏi (những điều cơ bản bạn cần từ các nhà phát triển mới.) Có "Không thích XYZ" chỉ hữu ích nếu mọi người trong nhóm chia sẻ không thích. Nếu mọi người không, nó sẽ chỉ gây ra rạn nứt. Không có sự khác biệt giữa người ghét Windows và người ghét Linux ngoại trừ cả hai đều ghét. Mặt khác, ai đó có lý do để không thích thứ gì đó dựa trên trải nghiệm cá nhân có nghĩa là họ có thứ gì đó để mang lên bàn - RATNG đáng để có ... Nhưng sử dụng Suse ở nhà sẽ không giúp bạn thông minh hơn.
corsiKa
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.