Làm cách nào tôi có thể bù đắp cho việc đã đến JavaSchool? [đóng cửa]


18

Trong một câu hỏi trước đó , tôi đã yêu cầu tư vấn nghề nghiệp cho các kỹ sư phần mềm mới, những người đã làm tốt trước và trong khi học đại học. Nhưng còn những người không may mắn được đến MIT hay Yale, vì lý do gì thì sao? Điều gì xảy ra nếu bạn đi đến cái mà Joel Spolsky gọi là JavaSchool ?

Các cựu sinh viên JavaSchool có thể / nên làm gì để phát triển các kỹ năng của họ và bù đắp cho những điều họ đã bỏ lỡ ở trường đại học? (Hoặc, Joel đã sai về những trường đó có bất lợi không?)



4
"Đừng để việc học cản trở việc học của bạn" - Mark Twain
BlackJack

Câu trả lời:


12

Bất chấp những tuyên bố của Joel trong bài viết đó - và anh ta tự thừa nhận quan điểm đó - rất nhiều lĩnh vực chủ đề có thể bị bỏ lỡ bởi "JavaSchool" là không cần thiết trong nhiều công việc.

Tôi đã tham dự một cái gì đó mà tôi cho là giống với JavaSchool ở chỗ chúng tôi dành phần lớn thời gian tập trung vào các ngôn ngữ cấp cao như C # và Java, nhưng điều đó không thay đổi thực tế rằng "Thuật toán & Cấu trúc dữ liệu" vẫn là một phần của danh sách lớp bắt buộc - không đề cập đến tất cả các lớp định hướng lý thuyết khác. Cấp không phải tất cả "JavaSchools" đều giống nhau, nhưng đó không phải là vấn đề.

Theo tôi, quan trọng hơn là sự hiểu biết về một số chủ đề phát triển khó khăn hơn là có thể giải quyết vấn đề hiệu quả khi có những thách thức độc đáo. Là kỹ sư phần mềm, chúng tôi thực hiện phần lớn việc học trong công việc và như vậy, hai trong số các khía cạnh lớn nhất trong mô tả công việc của chúng tôi là có thể giải quyết vấn đề và có thể chọn ra các khái niệm xa lạ. Nếu trong một cuộc phỏng vấn, người ta không thể thực hiện một nỗ lực hợp lý và hợp lý để giải quyết một vấn đề mới đối với họ, thì sự không tương thích của họ đối với một vị trí nhất định có thể sẽ tự tiết lộ.

Rõ ràng, khi tuyển dụng một người cho một vị trí đòi hỏi phải tiếp xúc và sử dụng một số chủ đề phức tạp mà JavaSchool có thể bỏ qua, thường là lựa chọn hợp lý để đi với người có hiểu biết trước, nhưng thiếu kinh nghiệm thì không nên luôn luôn ngăn cản đủ điều kiện công việc .

Nhiều khả năng, anh chàng Java 50 tuổi tại công ty của bạn đã ở đó miễn là bất cứ ai có thể nhớ không có bất kỳ hiểu biết nào về Java cho đến khi công việc của anh ta (hiện tại hoặc trước đó) yêu cầu anh ta học nó - và anh ta đã làm như vậy. Nói một cách chính xác, đó là cách thực hành tồi để sa thải "ông già" để một ứng cử viên trẻ hơn và "cập nhật" hơn có thể thay thế ông ta; Điều đó đang được nói, nếu mô tả công việc cho bất kỳ nhân viên trẻ hay già thay đổi, thì nhân viên đó có trách nhiệm bị bắt hoặc tìm một công việc mới. Chỉ vì một cá nhân (đặc biệt là lập trình viên có kinh nghiệm trong quá khứ) không hiểu một số khái niệm, không có nghĩa là họ không sẵn lòng hoặc không có khả năng học nó. Trên thực tế, nếu họ không muốn học thì có lẽ họ không thuộc về bất kỳ công việc nào - ít hơn nhiều so với bạn.

Thật công bằng khi nói rằng một số "JavaSchools" tốt hơn những cái khác và thực tế đó chắc chắn nên được xem xét khi lựa chọn một ứng cử viên cho một vị trí, nhưng có nhiều đặc điểm cá nhân quan trọng hơn nhiều so với việc ai đó đi học.

Đó là khả năng của chúng tôi để giải quyết vấn đề và tìm một giải pháp xác định chúng tôi là kỹ sư, hầu hết mọi thứ khác chỉ là thứ yếu.


+1 "Đó là khả năng của chúng tôi để giải quyết vấn đề và tìm một giải pháp xác định chúng tôi là kỹ sư, hầu hết mọi thứ khác chỉ là thứ yếu."
Hóa đơn

Tôi đã tham dự một trường học mà ngôn ngữ lập trình hiếm khi được tiếp cận (chúng tôi đã có cơ sở về C / C ++ / Java, đáng buồn là không có ngôn ngữ chức năng) và chúng tôi chỉ làm quen với lý thuyết CS. Mặt khác, chúng tôi đã nói về cơ sở dữ liệu, khai thác dữ liệu, mạng điện thoại / di động / internet, giao diện người-máy, v.v ... Chúng tôi đã học theo chiều rộng, thay vì chuyên sâu. Tôi không nghĩ đó là một thỏa thuận tồi tệ :)
Matthieu M.

1

Tại sao không làm việc thông qua một cuốn sách giáo khoa giới thiệu lập trình khác với cách bạn đã học nó? Ví dụ, có một số sách hay, miễn phí sử dụng mô hình chức năng. Làm thế nào để thiết kế chương trình là rất dễ tiếp cận. Cấu trúc cổ điển và diễn giải các chương trình máy tính (http://mitpress.mit.edu/sicp/) thì ít hơn, nhưng cung cấp một cảm giác sâu sắc về sự giác ngộ.

Tôi đặc biệt khuyên bạn nên xem một vài bài giảng SICP đầu tiên của Abelson để có cái nhìn khác về khoa học máy tính. Họ lớn tuổi hơn nhưng đã già đi rất nhiều (http://video.google.com/videoplay?docid=5546836985338782440#).


1

Tôi cảm thấy nỗi đau của bạn, khi tôi cũng đến JavaSchool. Mine thực sự được xếp hạng khá cao ở Anh vì nó là gì, mặc dù các sinh viên trong năm của tôi không có được một lớp Cấu trúc dữ liệu nào. Tôi đã rất may mắn khi tôi có thể chọn DSA như một khóa học tùy chọn do lỗi hành chính với khóa học của mình, nhưng đó là một câu chuyện bừa bộn khác ...

Theo kinh nghiệm của tôi, bạn sẽ trải nghiệm điều gì đó trong JavaSchool mà bạn sẽ không trải nghiệm ở các trường đại học hàng đầu và đó là sinh viên muốn chứng minh giá trị của họ . Cũng giống như bất kỳ trường đại học cổ xưa hay gạch đỏ nào khác ở đất nước tôi, chúng tôi có những người chậm chạp điển hình và những người biểu diễn đàng hoàng, nhưng có một nhóm nhỏ sinh viên nhận thức được môi trường xung quanh và những gì họ còn thiếu trong giáo dục. Chắc chắn, những người này không nhất thiết phải làm xuất sắc trong khóa học của họ, nhưng họ rời trường đại học biết nhiều hơn những người khác. Chúng tôi đã thực tập trong bất kỳ công ty phần mềm nào sẽ đưa chúng tôi trong bất kỳ giờ nghỉ nào, chúng tôi đã chọn ngôn ngữ mà chúng tôi không bao giờ được dạy và chúng tôi đã nghiên cứu các môn học mà những người khác tránh vì chúng khó.

Từ những người bạn của tôi, hai chúng tôi đang tiếp tục học lên cấp Thạc sĩ, chọn tất cả các khóa học nâng cao về nơi chúng tôi cảm thấy mình hoàn toàn bỏ lỡ nền tảng, và một anh chàng đang hy vọng rằng cuộc phỏng vấn gần đây của anh ấy ở Microsoft sẽ dẫn đến kết quả đầy đủ công việc thời gian. Tôi sắp bắt đầu học thạc sĩ, chủ yếu để lấp đầy lỗ hổng trong giáo dục và dành thêm một năm để xây dựng các kỹ năng tôi cần để phát huy tối đa tiềm năng của mình trong ngành này.

Trong thế giới thực, con người sẽ luôn giữ những thành kiến ​​này, và thường xuyên hơn là họ không hoàn toàn dựa trên sự thật. Nếu bạn cảm thấy trường học của bạn không thỏa đáng, hãy nói với họ và sử dụng các trang web như thế này để xây dựng trình độ học vấn của bạn.


0

Chà, bạn có thể có được một phần mềm viết công việc bằng Java. Miễn là bạn giỏi trong những gì bạn làm, trường bạn đã học và / hoặc chuyên ngành của bạn không liên quan lắm đến công việc đầu tiên, ngay cả khi đó .


0

Điều tốt nhất tôi có thể nghĩ đến là đi và (học lại) học lập trình theo một mô hình hoàn toàn khác, để thoát khỏi lối suy nghĩ hướng đối tượng.

Tôi muốn đề xuất ở mức tối thiểu:

  • Ngôn ngữ hội , để có được sự đánh giá cao về cách thức hoạt động của máy
  • Haskell , cho một cái nhìn rất thuần túy về lập trình chức năng
  • Lisp , đối với lập trình chức năng không tinh khiết và lập trình siêu dữ liệu (Clojure sẽ là lựa chọn đầu tiên của tôi, nhưng Scheme hoặc Common Lisp cũng rất tuyệt)
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.