it-swarm-vi.com

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ở?

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ắp 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 bằng cách sử dụng Java và các công nghệ liên quan (trong đó có Spring và Hibernate). Thành thật mà nói, tôi thực sự rất phấn khích về những gì sắp tới, đặc biệt là bởi vì tôi muốn phát triển sự nghiệp của mình với tư cách là 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. thực sự muốn làm tốt nhất của tôi 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 trẻ) có thể là một phần của 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ư.

64
Bartzilla

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.
50
tvanfosson

Đâ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)
61
Alex Feinman

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

8
Dima

Độ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à có nghĩa như 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 khi 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à các công cụ khác nằm ngoài sự phát triển. Tham gia để giúp một nhóm đáp ứng thời hạn sẽ là một ví dụ khác ở đây.

4
JB King

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à ả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ó thể 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
Peter Lawrey

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ủ muốn 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í rất hay, 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 đó.

3
Wes Baker

Đố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, đó là không đánh giá cao.

3
Zsub

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
Mike Dunlavey

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, 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
s.m

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 bằng cách này!) 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 giả thuyết hoàn hảo nhà phát triển cơ sở sẽ biết nguyên tắc cơ bản về những điều 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 là 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à như thế. 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 ấy sẽ có thể lập kế hoạch (hỏi bao nhiêu hợp lý câu hỏi tùy thích - hầu hết các nhà phát triển cấp cao được hỏi hợp lý câu hỏi kỹ thuật) 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 ngày hôm sa. 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 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ả những điều đó, kinh nghiệm của tôi trong mười hai năm qua cho thấy 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 lúc rồi và gần như - xóa 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.

2
5arx
  • Đ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
Jigar Joshi

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
Brian Paul

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
jmq

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 tập lệnh 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)

1
Zachary K

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 chuông báo thức 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.

Vui lòng lấy cho mình một bản sao của Robert. C Martins Clean Code . Đọ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
Martin Blore

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++ thỉnh thoảng vẫn 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 sử dụng một cách khôn ngoan.

1
Woot4Moo

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 ta mọi lúc. Tóm lại, cho tôi thấy bạn có thể sử dụng google.

1
luis.espinal

(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 miền tốt. Đây là một cái khá lớn mà tôi 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
Desolate Planet