it-swarm-vi.com

Tôi tốt nghiệp bằng Khoa học Máy tính nhưng tôi không cảm thấy mình biết cách lập trình

Tôi tốt nghiệp bằng Khoa học Máy tính nhưng tôi thấy các trang web như Stack Overflow và các công cụ tìm kiếm như Google và không biết tôi thậm chí bắt đầu viết những thứ như thế ở đâu. Trong một mùa hè, tôi đã có cơ hội làm việc như một nhà phát triển iPhone, nhưng tôi cảm thấy như tôi chủ yếu dán các thư viện mà những người khác đã viết với rất ít hiểu biết về các cơ chế xảy ra bên dưới mui xe.

Tôi đang cố gắng nâng cao kiến ​​thức của mình bằng cách nghiên cứu các thuật toán, nhưng đó là một quá trình dài và đau đớn. Tôi thấy các thuật toán khó và với tốc độ tôi đang học một thập kỷ sẽ trôi qua trước khi tôi thành thạo tài liệu trong cuốn sách. Với tình hình hiện tại của tôi, tôi đã dành một tháng để tìm việc nhưng các kỹ năng của tôi (C, Python, Objective-C) tương đối nông cạn và không được mong muốn ở thị trường địa phương, nơi C #, Java và phát triển web cao hơn nhiều nhu cầu. Điều đó không có nghĩa là C và Python cơ hội không tồn tại nhưng họ có xu hướng đòi hỏi hơn 3 năm kinh nghiệm mà tôi không có. My GPA là OK (3.0) nhưng nó không đủ cao để áp dụng cho các công ty lớn như IBM hoặc quay lại học cao học.

Về cơ bản, tôi tốt nghiệp bằng Khoa học Máy tính nhưng tôi không cảm thấy mình đã học được cách lập trình. Tôi nghĩ rằng việc tham gia một công ty và lập trình toàn thời gian sẽ cho tôi cơ hội phát triển kỹ năng và học hỏi từ những người có kinh nghiệm hơn bản thân mình, nhưng tôi đang cố gắng tìm việc và bắt đầu thực sự thất vọng.

Tôi sẽ bỏ mạng lưới của mình rộng hơn và nhìn xa hơn thành phố tôi đã lớn lên, nhưng những người khác trong tình huống tương tự đã cố gắng làm gì? Tôi đã làm việc chăm chỉ nhưng không đủ tự tin để tự mình ra ngoài và viết ứng dụng của riêng mình. (Nghĩa là trở thành nhà phát triển độc lập trong thị trường ứng dụng iPhone.) Nếu không có gì bật lên, tôi sẽ cần xem xét nâng cấp và học các kỹ năng phổ biến hơn hoặc thử một cái gì đó liên quan bên lề như CNTT, nhưng đã nỗ lực hết mình. như copping ra.

1050
wp123

Wow ... rất nhiều ý kiến ​​thú vị hầu hết là tốt.

Tôi tự học lập trình, điều đó không có nghĩa là bạn phải làm. Con trai tôi đang học đại học và sắp hoàn thành. Tìm việc luôn khó khăn khi bạn mới tốt nghiệp.

Khi bạn làm các chương trình đơn giản trong lớp, bạn có thích chúng không? Nếu bạn đã làm lúc đầu thì bạn có thể ở đúng nơi, nếu không xem xét các yêu cầu nếu bạn thích gõ tài liệu.

Có vẻ như bạn muốn tìm hiểu thêm vì bạn không thích trải nghiệm iPhone chỉ dán các thứ lại với nhau. Đó là một dấu hiệu tốt không phải là một dấu hiệu xấu.

Tiếp theo việc tìm kiếm một công việc phụ thuộc vào việc bạn đang ở trong một thành phố lớn hay sống ở nước đó.

Tìm hiểu HTML bằng cách tạo trang web nhỏ của riêng bạn. Chọn một ngôn ngữ web ... (PHP, ColdFusion, DotNet) Xây dựng một vài trang web đơn giản.

Thực hiện bất kỳ công việc phát triển web hoặc công việc lập trình sẽ cung cấp cho bạn một công việc. Đừng lo lắng về $$ lúc đầu. Mục tiêu của bạn là về lập trình công việc. Thật khó để lập trình tại nhà trong dự án của riêng bạn. Tuy nhiên, tại nơi làm việc khi bạn được yêu cầu hoàn thành công việc, bạn có xu hướng làm việc chăm chỉ hơn nhiều và nếu bạn thấy không vui, hãy chọn một người chăm sóc CNTT khác. Nó xảy ra.

Nhận bất kỳ công việc nào ... bạn sẽ học ... nếu bạn thích nó, bạn sẽ vượt qua.

Tôi chưa bao giờ cảm thấy như tôi biết cách lập trình, đó là một dấu hiệu rất tốt. Tôi ghét làm việc với những người cảm thấy như họ biết mọi thứ họ có xu hướng mã hóa rất tệ và không ghi chép lại bất cứ điều gì họ làm.

Tôi hy vọng ý kiến ​​của tôi giúp bạn với tất cả những bình luận tuyệt vời khác.

1
Nathan Stanford

Bạn bắt đầu sự nghiệp phát triển phần mềm của mình với nền tảng về khoa học máy tính và bằng cấp để thể hiện cho nó?! Thật tuyệt vời!

Mặc dù bạn có thể lo lắng về việc tìm việc và không có các kỹ năng cần thiết cho công nghệ phần mềm với Bằng CS, hãy tưởng tượng bạn ở cùng một nơi không có một CS trình độ. Đó chính xác là nơi tôi ở cách đây một năm.

Tôi đã cắt răng trong lập trình bằng cách tạo các macro nguyên khối trong Excel và Access bằng VBA và quản lý để lấy một ít SQL trên đường đi. Khoảng một năm trước, tôi quyết định tôi muốn bắt đầu sự nghiệp phát triển phần mềm, nhưng tôi không thể tưởng tượng được mình sẽ tìm được công việc như thế nào khi không có bằng CS (tôi có bằng cử nhân về triết học, về mọi thứ) và không có "chuyên nghiệp" "Kinh nghiệm phát triển. Ai trong tâm trí của họ sẽ thuê tôi?

Tôi quyết định tập trung vào việc nhận một công việc mà trọng tâm của họ sẽ là viết các ứng dụng kinh doanh, vì vậy tôi quyết định trau dồi kỹ năng của mình về .NET và C #. Trước 9 tháng trước, tôi chưa bao giờ viết một dòng mã .NET nào. Nhưng tôi bồ câu trong; và tôi đã ở trên đầu của tôi; Tôi vật lộn; Tôi đã đi đến nhiều nhóm người dùng nhất có thể; Tôi đọc blog về mã hóa; Tôi lúng túng (và vẫn làm) trên Stack Overflow; Tôi đã nghe hàng tấn podcast chỉ để tôi có thể làm quen với những gì ở ngoài kia. Tuy nhiên, tôi cảm thấy phía sau, nhưng Cuối cùng tôi đã vượt qua nỗi sợ rằng mình không thể làm gì đó.

Cách đây 2,5 tháng, tôi đã tìm được công việc đầu tiên với tư cách là một nhà phát triển chuyên nghiệp ( Tôi đã viết về cách tôi tìm thấy công việc trên blog của mình , trong trường hợp bạn quan tâm). Bây giờ tôi đang viết mã bằng VB.NET, VB6 và javascript và tiếp tục học hỏi rất nhiều về lập trình mỗi ngày. Nhưng nếu tôi có thể tìm được một công việc mà không cần bằng CS , tôi tự tin rằng bạn có thể xây dựng các kỹ năng của mình và cũng tìm được một công việc.

1
Ben McCormack

Tôi không biết nếu điều này thực sự sẽ được đọc, nhưng tôi cảm thấy cần phải đưa nó ra khỏi đó.

Đại học đã không dạy tôi rất nhiều. Một số lập trình cơ bản và cấu trúc dữ liệu. Không có gì phiền não. Tuy nhiên nó đã cho tôi thấy làm thế nào tôi học tốt nhất. Tôi học bằng cách làm phù hợp với rất nhiều bài viết ở đây. Tôi cũng học được rằng tôi thích tạo ra các công cụ thông qua mã giống như một công nhân gỗ thích tạo ra các công cụ từ gỗ. Vì vậy, giữa hai điều đó, tôi đã dành thời gian để làm một cái gì đó để tìm hiểu nó.

Một nhà tuyển dụng biết những gì họ đang nhận được từ một sinh viên tốt nghiệp đại học. Họ biết rằng sinh viên tốt nghiệp không biết nhiều. Tuy nhiên, một số nhà tuyển dụng thích điều đó bởi vì sau đó họ sẽ nhào nặn người mới theo văn hóa và tâm trí của họ. Họ sẽ dạy bạn những sợi dây để khiến bạn lăn. Chỉ cần sẵn sàng để học. Điều này có những thăng trầm của nó.

Đừng đổ mồ hôi. Ngành công nghiệp CNTT là một trong những ngành ít bị ảnh hưởng nhất bởi sự suy thoái gần đây. Có việc làm. Công ty tôi làm việc chỉ thuê một nhóm sinh viên mới tốt nghiệp. Bí quyết là tìm ra chúng.

Chúc may mắn.

1
Tony

Bạn vừa thể hiện những gì tôi cảm thấy cho riêng mình. Tôi gần như tốt nghiệp ngành Khoa học Máy tính và như nhiều người trong chúng ta, tôi vừa mới học các thuật toán lý thuyết và đã phát triển rất ít dự án thú vị. Nhưng như Keith Nicholas đã nói

Tôi thấy những người có xu hướng làm tốt hơn là những người sớm trong sự nghiệp nỗ lực phát triển kỹ năng trong thời gian của họ. Thông thường bởi vì họ thực sự đam mê phát triển phần mềm.

Tôi đã bỏ lỡ điểm quan trọng này và tôi vừa hoàn thành những gì họ yêu cầu tôi làm tại trường Đại học. Đây sẽ là bước đầu tiên tôi sẽ chuyển đến.

Hiện tại khi tôi cố gắng làm điều gì đó nhiều hơn, tôi lại cảm thấy như bạn đã nói:

Tôi cảm thấy như tôi chủ yếu dán các thư viện với nhau mà những người khác đã viết với rất ít hiểu biết về cơ học.

Tôi biết ơn bài viết của bạn và cho nhiều câu trả lời, lời khuyên và liên kết họ đã viết cho "chúng tôi".

1
soneangel

Kiểm tra http://greatmaps.codeplex.com/ . Lúc đầu tôi không biết làm thế nào để làm điều đó;} Vì vậy, bạn làm điều đó đơn giản bằng cách thực hiện nó.

Tái bút Tôi không có bằng 'chính thức', lãng phí thời gian.

1
radioman

+1. Sự quan tâm là rất quan trọng, và mã hóa đôi khi cần kiên nhẫn hơn!

1
Fisher

Hãy ghi nhớ hai điều:

  1. Bạn không học cách lập trình (ứng dụng) trong chương trình Khoa học Máy tính. Các ứng dụng trong cuộc sống thực không phải là các vấn đề bài tập về nhà "cắn cỡ" một tuần hoặc hai tuần. Phải mất rất nhiều kế hoạch và phối hợp để có được một ứng dụng thực tế và chạy. Đó là một suy nghĩ khác với những gì bạn đã từng làm, nhưng hãy tin tôi, bạn sẽ đến đó.

  2. Có lẽ mọi thứ bây giờ đã khác; nhưng khi tôi đi học đại học chỉ có hai hoặc ba giáo sư của tôi thực sự làm lập trình viên (chưa tốt nghiệp VÀ tốt nghiệp). Vì vậy, có lẽ bạn cảm thấy không chuẩn bị cho lập trình ứng dụng bởi vì bạn được dạy là những người không bao giờ làm việc trên các ứng dụng thực sự. Điều đó không có nghĩa là những gì bạn học được là vô ích ... có rất nhiều thứ để tạo ra các ứng dụng hơn là lập trình. Nó chỉ có nghĩa là bạn vẫn còn nhiều thứ để học. Và không sao, bạn đang bước vào một lĩnh vực mà bạn không bao giờ ngừng học hỏi.

1
Giovanni Galbo

Chỉ cần tiếp tục học hỏi và bạn sẽ có được sự tự tin của bạn :)

1
joven

Tôi sẽ ở cùng một chiếc thuyền của bạn tôi trong khoảng một năm (tốt nghiệp vào khoảng 2011/2012). Trong khi trường chúng tôi dạy phát triển bằng Java, tôi dành nhiều thời gian rảnh để đọc các ngôn ngữ khác như ASP.NET, PHP, Ruby, TDD, MVC, DDD, v.v ... vì tôi chỉ thích nó. Có một cái gì đó về khả năng lấy mã và đúc nó thành thứ gì đó có khả năng giúp hàng triệu người dùng, trong khi kiếm tiền cho bạn. Nó giống như một nghệ thuật nếu bạn hỏi tôi.

Bạn chỉ có thể trở nên tốt hơn với thực hành. Tại bất kỳ thời điểm nào tôi cũng có các dự án web, dự án winform, WPF và nhiều dự án khác cùng một lúc, vì vậy tôi không cảm thấy buồn chán. Những dự án này thậm chí không phải là sản phẩm được bán trên thị trường (nhưng chúng có khả năng có thể). Họ chủ yếu là để giúp tôi tìm hiểu các công nghệ khác nhau.

Chúc bạn may mắn!

1
Jack

Tôi là một người khác sẽ khuyên bạn nên tham gia vào một hoặc hai dự án cá nhân.

Cá nhân tôi không có bằng cấp lập trình chính thức nào, ngoài một vài khóa học lập trình đại học cho sinh viên không khoa học máy tính - lĩnh vực chuyên môn của tôi thực sự là về kỹ thuật cơ khí.

Lý do tôi đề cập đến điều này là vì tôi thực sự hiện đang làm kỹ sư phần mềm cho một tổ chức nghiên cứu lớn, trong đó lập trình là trách nhiệm duy nhất của tôi. Làm sao? Bởi vì tôi đã chọn được một lượng kinh nghiệm phi thường chỉ đơn giản là lập trình như một sở thích. Tôi không thể nhấn mạnh đủ mức độ mày mò trong thời gian rảnh rỗi đã giúp tôi có được công việc.

Điều tôi đang cố gắng vượt qua là những gì bạn sẽ học khi lập trình thực tế là một trong những trải nghiệm quý giá nhất bạn có thể có - và nó không quan trọng dù đó là một phần của khóa học chính thức, hay chỉ đơn giản là loay hoay thời gian.

Điều đó cũng không có nghĩa là những gì bạn đã học trong khóa học của bạn không quan trọng - nó tạo thành một khuôn khổ có giá trị để bạn xây dựng trải nghiệm của mình. Tôi chắc chắn biết rằng tôi sẽ tốt hơn rất nhiều với nền tảng khoa học máy tính chính thức - Tôi đã mất số lần tôi bị mắc kẹt trên một cái gì đó đơn giản, hoặc mất dấu về những gì ông chủ của tôi đang nói, đơn giản là vì tất cả điều đó đã bị mất.

Tôi nghĩ bạn sẽ làm tốt trong thế giới "thực". Bạn sẽ có được kinh nghiệm chỉ bằng cách làm việc, và bất kỳ nhà tuyển dụng tử tế nào cũng biết điều này và sẽ không mong đợi gì ở bạn hơn là nỗ lực tốt nhất của bạn và cam kết học hỏi từ kinh nghiệm của bạn. Nhiều nhà tuyển dụng (bao gồm cả tôi) đặc biệt chăm sóc các tân binh tốt nghiệp của họ, sử dụng các cố vấn và các chương trình đào tạo để nâng cao kinh nghiệm đó. Và nếu bạn cảm thấy rằng bạn có thể sử dụng nhiều kinh nghiệm hơn, thì tôi chân thành khuyên bạn nên thực hiện một số sửa đổi trong thời gian rảnh rỗi.

Tôi sẽ kết thúc bằng cách chỉ ra rằng chúng ta không bao giờ thực sự ngừng học hỏi. Bạn có thể chỉ mới bắt đầu sự nghiệp của mình, nhưng bạn sẽ tiếp tục học hỏi và tích lũy kinh nghiệm thông qua công việc, chủ nhân, người cố vấn và của chính bạn. Đừng sợ rằng bạn chưa học được tất cả - vẫn còn nhiều thời gian để tiếp thu kinh nghiệm.

Tất cả tốt nhất với sự nghiệp tương lai của bạn! Hy vọng sẽ tìm thấy bạn nhanh chóng SO với các câu hỏi liên quan đến công việc sớm!

1
Mac

Chỉ cần một ghi chú ngắn, một cái gì đó tôi đang thiếu trong các câu trả lời khôn ngoan khác mà bạn đã nhận được. Nếu bạn làm theo lời khuyên hữu ích "hãy làm gì đó", tôi sẽ đề nghị bạn tự làm mọi thứ dễ dàng. Tôi thích sử dụng trò đùa "đi trên nước và phát triển phần mềm từ một đặc điểm kỹ thuật thật dễ dàng nếu cả hai đều bị đóng băng" ...

Vì vậy, nếu bạn quyết định bạn sẽ "làm một cái gì đó",

  • quyết định chương trình của bạn sẽ làm gì (yêu cầu)
  • cách nó sẽ hành xử (chức năng)
  • làm thế nào bạn sẽ thực hiện nó (kỹ thuật)

và viết nó ra!

Nếu bạn thay đổi giấy tờ trong khi chơi, đừng quên kiểm tra các hậu quả xếp tầng.

Hãy vui vẻ và sẵn sàng trở thành (rất) kiên nhẫn.

1
mariotomo

Đầu tiên, nếu bạn cảm thấy mình chưa sẵn sàng trở thành một lập trình viên chuyên nghiệp, thì đó là cảm giác đúng đắn. Đó là cảm giác của tôi khi tôi mới đi được nửa chặng đường bằng CS, và tôi đã không vượt qua được trường đại học, tôi đã vượt qua giai đoạn không đủ tiêu chuẩn để mã hóa ra khỏi túi giấy.

Nhưng bạn sẽ cải thiện kỹ năng của mình khá nhanh và thậm chí có thể dự đoán được một chút khi bạn có được công việc đầu tiên đó và bắt đầu học hỏi từ những người khác về cách thức "công nghệ phần mềm" này được thực hiện. Chìa khóa để thành công là hiểu rằng bạn sẽ học hỏi từ những người khác, kể cả những người khác mà bạn có thể không đồng ý hoặc không hòa hợp với nhau. Ở đỉnh cao của sự nghiệp CS của tôi (tôi đã chuyển sang những thứ khác), tôi lãnh đạo một nhóm gồm 12 nhà phát triển cho một nhà cung cấp phần mềm lớn. Tất cả những người thuê mới nghĩ rằng họ thực sự thông minh. Những người nghe tiến bộ khá tốt và những người luôn nghĩ rằng họ thực sự thông minh thì không.

Nhưng đủ điều đó. Hãy để tôi chia sẻ với bạn những quan sát của tôi sau 31 năm trong kinh doanh phần mềm.

Khi tôi mới bắt đầu, tôi đã viết mã. Và điều đó khá bình thường - hầu hết các bài tập của bạn trong uni có lẽ rất nhỏ và đó là điều mà nhiều người làm với các dự án mã hóa nhỏ. Họ ngồi trước máy tính và họ tiếp tục gõ cho đến khi vấn đề được giải quyết. Không có gì sai với điều đó và nếu bạn phát triển một số kỹ năng tạo mẫu nhanh, khả năng tạo mã sẽ phát huy tốt trong tương lai.

Sau khoảng năm năm, tôi đã có một khối lượng công việc khá lớn - một số trong đó đã được mở nguồn (chúng tôi thường gọi nó là "miền công cộng" - dán một thông báo trong mã nguồn có nội dung "phần mềm này thuộc phạm vi công cộng "), một số trong số đó là" Không sử dụng thương mại "hoặc" Bạn có thể làm bất cứ điều gì ngoài việc bán nó. " Không có GPL. Nhưng điều tôi học được sau khoảng năm năm là mã của tôi bị đắm vì tôi không thể hiểu được bất cứ điều gì tôi đã làm hơn một vài năm trước. Và từ đó, bạn sẽ biết rằng các bình luận là bạn của bạn - mã tôi đã viết vào cuối những năm 80 có tỷ lệ bình luận mã đẹp. Mã từ đầu những năm 80 - không quá nhiều. Nhưng điều này cho bạn ý tưởng về vấn đề - bằng đại học bốn năm không đủ thời gian để tìm hiểu những gì bạn đang làm sai.

Sau mười năm, tôi bắt đầu cần sử dụng lại mã của mình theo những cách mà tôi không bao giờ tưởng tượng được. Một số mã đã được giải quyết, một số mã thì không, và trong vài năm tiếp theo tôi cảm thấy mệt mỏi khi phải làm lại mã của mình và học cách trở thành một kiến ​​trúc sư phần mềm. Tôi có mã trong thế giới nguồn mở hiện đã 23 tuổi và một số cấu trúc ban đầu vẫn còn ở đó. Đó là những gì một thiết kế tốt và một kiến ​​trúc vững chắc trông giống như - mã cũ đã đứng trước thử thách của thời gian, bởi vì máy tính ngày nay không giống máy tính 23 năm trước. Điện thoại của tôi là một máy tính nhiều hơn các PC tôi đã có 20 năm trước. Vì vậy, bạn sẽ bắt đầu tìm hiểu cách thực sự thiết kế phần mềm và đó thực sự không phải là thứ bạn có thể học trong lớp CS 14 đến 18 tuần, đáp ứng 3 giờ một tuần. Đúng? Khi tôi là một kiến ​​trúc sư, tôi sẽ mất tháng để thiết kế phần mềm sẽ được phát triển trong phiên bản tiếp theo. Vì vậy, hãy bắt đầu tìm kiếm các mẫu - và đó là một trong những điều về ngôn ngữ hướng đối tượng làm cho chúng hấp dẫn (nếu được sử dụng đúng cách). Họ làm cho bạn suy nghĩ nhiều hơn. Mỗi khi bạn viết một cái gì đó, hãy nghĩ về tương lai.

Từ năm 15 đến 25, tôi lãnh đạo một nhóm các nhà phát triển. Một số người được tuyển dụng mới, một số người có kinh nghiệm và tôi phải giải quyết những gì tôi có vì tôi không phải là người quản lý có thể đi thuê những người tôi muốn. Ở đâu đó, đó là điều bạn sẽ phải học cách đối phó - những người khác nhau trong nhóm của bạn sẽ có những kỹ năng và khả năng khác nhau. Tôi có những người có kỹ năng kết nối mạng tốt, những người có kỹ năng đa luồng tốt và những người chỉ là nhà phát triển chung chung. Những người tiến lên trong sự nghiệp của họ là những người hòa đồng với những người khác và có thể học hỏi từ họ. Khi bạn nhận được công việc đầu tiên đó, hãy tìm một người cố vấn. Đừng cố gắng nhất hoặc bất cứ điều gì, hãy tìm một người đủ thâm niên với bạn mà ít nhất bạn có thể hiểu những gì bạn đang được dạy. Nhưng bất cứ điều gì bạn làm, học hỏi từ những người khác xung quanh bạn.

Trong vài năm gần đây, tôi mệt mỏi với việc kinh doanh phần mềm như một doanh nghiệp. Tôi vẫn phát triển phần mềm (ứng dụng hiện tại của tôi có khoảng 100KLOC Java - tất cả đều do tôi tự viết), nhưng tôi làm việc chủ yếu ngoài ngành công nghiệp phần mềm. Đó là một lĩnh vực nghề nghiệp tuyệt vời và 30 năm là một chuyến đi tốt đẹp.

1
Julie in Austin

Một câu hỏi tuyệt vời. Ở một mức độ nào đó, câu hỏi của bạn khiến tôi nghĩ rằng tôi đã suy nghĩ như thế nào khi tôi tốt nghiệp đại học.

Vì bạn nói rằng bạn biết C và Python, đề xuất của tôi sẽ là bắt đầu tham gia vào bất kỳ dự án nguồn mở nào sử dụng các ngôn ngữ này. Goto sourceforge.net hoặc code.google.com và tìm kiếm các dự án sử dụng C hoặc Python. Một số dự án sẽ có cố vấn quá. Vẻ đẹp của các dự án nguồn mở là bạn có thể bắt đầu đóng góp vào bất kỳ phần nào bạn cảm thấy thoải mái và phát triển từ đó. Khi bạn trở nên thoải mái hơn với mã, bạn có thể đảm nhận nhiều nhiệm vụ hơn.

Chúc may mắn với sự mạo hiểm của bạn. Tôi chắc chắn bạn sẽ tìm thấy một số dự án Nice có thể cần sự giúp đỡ của bạn. Phần tốt nhất là bạn có được kinh nghiệm của bạn và bạn có thể hiển thị nó như là bằng chứng trong việc tìm kiếm việc làm của bạn.

1
yasouser

Lập trình là một công cụ. Hầu hết các bằng CS chỉ dạy bạn cách lập trình. Nó giống như học cách sử dụng búa mà không học cách xây dựng bất cứ thứ gì. Nếu bạn có ít kiến ​​thức về miền của một vấn đề, bạn sẽ gặp khó khăn khi viết một chương trình để giải quyết nó. Giá trị thực sự bạn sẽ cung cấp sẽ là trong việc giải quyết các vấn đề, không phải là một lập trình viên.

Sau khi tôi có một công việc ở trường đại học, tôi đã mua nhiều cuốn sách liên quan đến không gian vấn đề mà công ty làm việc. Bây giờ tôi được coi là một "chuyên gia" trong một lĩnh vực hầu như không liên quan đến bằng khoa học máy tính của tôi.

1
dwayne963

Tôi nghĩ rằng bạn nên tiếp tục nỗ lực của bạn. Mọi người thành công đều trải qua quá trình này, ý tôi là những gì bạn đang cảm thấy ngay lập tức nhưng những nỗ lực bền bỉ chắc chắn mang lại vẻ đẹp của tâm trí. Được tập trung vào một vấn đề cụ thể tại một thời điểm, tìm kiếm giải pháp với kế hoạch để sử dụng hiệu quả thời gian của bạn.

1
Subodh

Tôi đồng ý với timothyawiseman. Được chứng nhận!

Tôi khuyên bạn nên [liên kết văn bản] [1]. Kỹ năng Internet là hoàn toàn cần thiết, và kỳ thi Cơ sở của họ kiểm tra bạn về các nguyên tắc cơ bản. Các bài kiểm tra Javascript và Perl sau đó sẽ giúp bạn có chứng chỉ Chuyên nghiệp.

Ngoài ra, tải xuống phiên bản phát triển web miễn phí của Microsoft và máy chủ sql, và xây dựng các trang web. Thực hành và thực hành, sau đó lấy sách giáo khoa MS và làm bài kiểm tra 70-536 và 70-562 của họ để lấy chứng chỉ MCTS (Chuyên gia kỹ thuật được chứng nhận MS).

Chúc may mắn.

[1]: http://ciwcertified.com/certutions/program.asp CIW

1
Hal Noyes

Đầu tiên, tôi nghĩ tất cả chúng ta đều cảm thấy như vậy khi tốt nghiệp đại học hoặc săn việc. Kinh nghiệm không xảy ra qua đêm.

Nhưng những gì có thể giúp bạn có được kinh nghiệm một cách nhanh chóng là tự nhiên tò mò và là người tự lập. Bạn sẽ học rất nhanh khi bạn dành thời gian để tự học và tìm ra những sở thích cá nhân giúp mài giũa kỹ năng của bạn. Luôn sẵn sàng học hỏi và bạn sẽ đi một chặng đường dài.

Nếu bạn hiện đang tìm việc, tôi khuyên bạn nên tạo một trang web cá nhân với danh mục đầu tư. Tải lên các dự án bạn đã thực hiện dựa trên những gì bạn đã học. Làm cho nó thực sự mát mẻ tìm kiếm. Tôi cũng muốn giới thiệu Truth.com trong tìm kiếm của bạn.

1
MattB

Tôi đã dành một tháng để tìm việc nhưng các kỹ năng của tôi (C, Python, Objective-C) tương đối nông cạn và không được mong muốn ở thị trường địa phương, nơi C #, Java và phát triển web có nhu cầu cao hơn nhiều.

Kỹ năng của bạn có thể có giá trị hơn bạn nghĩ. Nhìn vào khung web Django. Đó là một khuôn khổ để phát triển web được xây dựng xung quanh CPython. Nó khá dễ sử dụng và cực kỳ mạnh mẽ và được nhiều công ty tên tuổi lớn sử dụng để phát triển nhanh chóng.

1
SC Ghost

Nếu bạn muốn phát triển logic và tư duy cho lập trình, hãy học lập trình bằng các ngôn ngữ như C.

Đọc và hiểu các ví dụ trong cuốn sách C của Kernighan & Ritchie. Tìm kiếm trên google, bạn sẽ tìm thấy ebook.

khi bạn cảm thấy thoải mái khi nghĩ ra giải pháp cho các vấn đề (các vấn đề lập trình nhỏ), thì bạn có thể cố gắng học các công cụ, khung hoặc bất cứ thứ gì khác.

Bạn cũng có thể cố gắng chuẩn bị cho kỳ thi SCJP và đọc tất cả các chủ đề. Hãy thử tất cả các chương trình nhỏ mà bạn gặp phải và thử nghiệm với chúng. Nếu bạn đọc trang Sun trên tài nguyên SCJP, bạn sẽ tìm thấy nhiều chương trình nhỏ, cố gắng hiểu chúng, cố gắng tự viết tương tự. Sau đó, khi bạn cảm thấy thoải mái khi di chuyển đến swing, JSP, Servlet, Struts hoặc Spring hoặc bất cứ điều gì. Bạn cần một nền tảng rất tốt đầu tiên.

Bạn có thể tham khảo các vấn đề lập trình liên quan đến cuộc thi lập trình ACM và cố gắng giải quyết chúng. nếu bạn không thể, hãy kiểm tra các giải pháp của người khác. Bằng cách đó bạn sẽ xây dựng logic và suy nghĩ mạnh mẽ.

Khi bạn cảm thấy thoải mái thì bạn có thể cố gắng ghi nhớ thư viện và thực hành về điều đó.

http://justetc.net/ledgeledge/index.php?table=Articles&cargetID=32&carget=Java

Cố gắng xây dựng một ứng dụng. Hãy suy nghĩ về một vấn đề cá nhân hoặc kinh doanh nhỏ và cố gắng viết một ứng dụng hoàn chỉnh cho điều đó.

Có thể bạn có thể đầu tư vào một chương trình CS tốt hơn

1
Sayed

Chỉ vì bạn tốt nghiệp với bằng về khoa học máy tính không có nghĩa là bạn phải lập trình cho phần còn lại của sự nghiệp. Bạn đã bao giờ học bất kỳ lớp học trong phân tích và thiết kế hệ thống?

1
Dan

Khi tôi phỏng vấn các lập trình viên cơ sở (tức là những sinh viên tốt nghiệp đại học gần đây), tôi luôn hỏi họ những dự án nào họ đã làm, đặc biệt là các dự án lớp học liên quan đến các nhóm nhiều người. Rốt cuộc, đó là loại công việc họ thường làm trong một công việc thực sự.

Nếu một người chưa bao giờ làm việc với các lập trình viên khác trong một dự án, điều đó có thể đòi hỏi một đường cong học tập dốc.

Cách học cách lập trình là cách học mọi thứ: thực hành. Rất nhiều.

1
David R Tribble

Hãy nhớ rằng, một ngàn dặm bắt đầu từ bước đầu tiên. Mọi thứ bắt đầu từ khi bắt đầu bằng đại học của bạn chỉ là một cây cầu đưa bạn đến bước đầu tiên của cuộc đời. Vì vậy, bạn chỉ mới bắt đầu, đặt tất cả các hành động trong mọi kế hoạch bạn có, một ngày nào đó bạn sẽ ở nơi bạn muốn. Chúc bạn may mắn.

1
Vicheanak

Tôi có cùng cảm giác khi tôi tốt nghiệp ngành khoa học máy tính nhưng tôi vẫn đọc sách (hs, bắt đầu từ Visual Basic 6) và sau đó là Oracle và Java. Bạn càng đọc nhiều bạn càng biết để thử. Sau bốn tháng đọc và thực hành, tôi đã giải được những vấn đề đó mà tôi rất kém khi tốt nghiệp.

1
pakhtana

Chào!
[.__.] Câu hỏi của bạn rất hay, và đó là kịch bản thực tế đối với nhiều sinh viên vừa mới kiểm tra. Tôi cũng vừa mới tốt nghiệp và trong toàn bộ thời gian học, tôi cảm thấy trường học mang lại cho tôi ít kiến ​​thức quý giá và nhiều thông tin vô nghĩa.

Điều với đại học là nó không có thời gian để cung cấp cho bạn một kiến ​​thức rất sâu sắc. Trong hầu hết các khóa học, bạn chỉ có thời gian để tập trung vào nền tảng của một khu vực cụ thể bên trong khu vực đó (vâng, đó là lông mịn). Cách tiếp cận là vậy, hoặc chỉ cố gắng cung cấp cho sinh viên kiến ​​thức tổng thể về khu vực (điều này tất nhiên khác nhau tùy thuộc vào mức độ khó của khóa học).

Bản thân tôi đã có may mắn có được một công việc phát triển ngay sau khi tốt nghiệp. Nhiều người cảm thấy điều này là không công bằng, bởi vì tôi không phải là một lập trình viên đáng kinh ngạc. Tôi biết những điều cơ bản, và tôi biết một số khu vực sâu hơn một chút. Những gì tôi thường nghĩ là tôi giỏi và mọi người nên là CÁCH để có được kiến ​​thức. Theo tôi, đây là ngôi trường kiến ​​thức quan trọng nhất đã cho tôi. Giống như nhiều người nói, bạn không thể biết tất cả mọi thứ. Điều quan trọng là cuối cùng bạn có biết những gì bạn cho là biết. Do đó, biết làm thế nào để đạt được kiến ​​thức cần thiết là quan trọng hơn nhiều so với thực tế là biết nó ngay từ đầu.

Một điều không nên đánh giá thấp là giá trị của các kỹ năng xã hội. Bạn có thể là một lập trình viên thực sự giỏi, nhưng bị xã hội tàn phế. Bạn không biết cách quảng bá bản thân hoặc làm việc cùng với mọi người. Cụ thể là điều cuối cùng, làm việc cùng với mọi người. Trong một dự án, bạn (hầu hết thời gian) bị buộc phải làm việc với mọi người. Nếu bạn có vấn đề lớn với điều này và thực sự có được công việc, có lẽ bạn sẽ có một thời gian khó khăn ở đó.

Môn học rất thú vị!

1
user373455

Chụp cho mặt trăng và bạn sẽ hạ cánh giữa các vì sao. Đừng ngần ngại khi nộp đơn vào các công ty lớn, bạn không bao giờ biết những gì họ đang tìm kiếm và tôi tin rằng khi bạn mới tốt nghiệp, bạn thực sự không biết nhiều về bất cứ điều gì, bạn sẽ có được hầu hết kinh nghiệm trong công việc. Chỉ cần nhảy vào và kịp thời bạn sẽ là một lập trình viên tuyệt vời.

1
Harry

người dùng30997:

Bắt đầu một dự án cá nhân. Rắc rối với trường học là điều phức tạp nhất bạn đã làm là có một dự án mất 15 tuần đến một năm và liên quan đến một vài người khác. Miền vấn đề được hiểu rõ (giáo sư của bạn không cung cấp cho bạn bất kỳ nhiệm vụ nào không phù hợp với học kỳ của bạn.) Đây không phải là một thứ xa xỉ trong thế giới thực.

Nếu bạn phải làm một cái gì đó quan trọng, bắt đầu để kết thúc, mà bạn có thể đam mê, bộ não của bạn sẽ bắt đầu bao bọc quá trình. Miễn là đây chỉ là một nghề nghiệp và bạn không có tình yêu với nó, bạn vẫn sẽ cảm thấy như bạn chưa làm được.

Tôi không biết nếu tôi có thể đồng ý hoàn toàn với bạn về chủ đề đó. Tôi biết rằng từ kinh nghiệm cá nhân của tôi trong các lớp kỹ thuật phần mềm của tôi, đó không phải là trường hợp của chúng tôi. Trong các lớp học đó, người ta thấy rằng kỳ vọng là chúng tôi sẽ tự dạy mình bất cứ điều gì chúng tôi cần biết cho các dự án của chúng tôi trong khi các giáo sư của chúng tôi cố gắng dạy các sơ đồ UML mà chúng tôi thường bỏ đi khi chúng tôi thực sự viết mã.

Nhưng, tôi đoán rằng trường học của bạn có thể khác với trường của tôi. Tôi chỉ muốn chỉ ra rằng các dự án trường học không phải lúc nào cũng dễ dàng như bạn nghĩ. Nó chỉ phụ thuộc vào các giáo sư và phong cách giảng dạy của họ.

1
Liars_Paradox

Nhưng, tôi có thể thấy tại sao OP muốn nghiên cứu các thuật toán. Đối với sinh viên tốt nghiệp gần đây về khoa học máy tính, chúng tôi không chỉ cạnh tranh với nhau mà cả những người không học khoa học máy tính mà còn học lập trình ở trường đại học hoặc tự học. Đối với chúng tôi, điểm mạnh của chúng tôi sẽ không có bao nhiêu ngôn ngữ mà chúng tôi biết hoặc thậm chí nếu chúng tôi biết rõ các ngôn ngữ này. Đối với nhà khoa học máy tính, sức mạnh lớn nhất của anh ta sẽ là khả năng chung để giải quyết vấn đề. Bạn luôn có thể tra cứu một lớp nhất định hoặc một phương thức nhất định sau này nếu bạn cần. Sẽ không có vấn đề gì nếu bạn nhớ mọi thứ cần biết bằng ngôn ngữ, bởi vì nếu bạn không biết cách sử dụng nó thì bạn sẽ không hoàn thành công việc.

Ngôn ngữ mới được tạo ra và ngôn ngữ cũ thay đổi nhưng các nguyên tắc chung đằng sau lập trình, đó là các nguyên tắc đằng sau việc giải quyết một vấn đề nói chung, vẫn giữ nguyên.

1
Liars_Paradox

Tôi nhận thấy các kỹ năng của bạn bao gồm phát triển iPhone Objective-C và iPAD đang thịnh hành. Mua máy Mac hoặc nhận hình ảnh VM của Mac OS X và bắt đầu xây dựng. Hãy nghĩ về một trò chơi hoặc thứ gì đó bạn muốn có trên iPhone và xem đây là một dự án sở thích. Một trong những nhà phát triển sau đại học nơi tôi làm việc đã xây dựng một vài trò chơi iPhone và có được công việc ở đây. Bây giờ anh ấy là thành viên có giá trị trong nhóm phát triển .NET, Java, PHP, Objective-C của chúng tôi.

Như mọi người đã nói đừng từ bỏ, hãy tiếp tục áp dụng cho tất cả các công việc.

1
Nickz

Điều lớn nhất cần ghi nhớ là, bạn đã đi học để lấy bằng, không chỉ dạy bạn cách lập trình. Ở trường, họ dạy bạn cách suy nghĩ và cách giải quyết vấn đề. Trở thành một lập trình viên tuyệt vời là tùy thuộc vào bạn :) và nó cần rất nhiều thực hành.

1
damstr8

Trước hết, hãy vỗ nhẹ vào lưng vì bạn không phải là trường hợp cá biệt. Nhận thức này xảy ra với nhiều sinh viên tốt nghiệp CS. Tuy nhiên, có một vài điểm đáng để bạn đánh giá:

  1. bạn nhìn vào các trang web như Google và suy nghĩ về việc triển khai nó
  2. bạn trung thực

Sự tò mò sẽ là động lực của bạn và đặc biệt là trong một lĩnh vực cần học hỏi không ngừng, sự tò mò có thể được coi là một tài sản.

Trung thực sẽ rất hữu ích. Khi bạn đang làm việc trong một nhóm, sự trung thực là điều cần thiết cho sự thành công của nhóm.

Đến với việc học lập trình, cũng đừng cố gắng đồng hóa tất cả các chi tiết của thuật toán tại một thời điểm. Nó dường như sẽ là một nhiệm vụ mạnh mẽ. Thay vào đó chọn một nhiệm vụ bạn thích và dần dần cải thiện mã của bạn.

Bạn có kỹ năng sử dụng hai ngôn ngữ Nice: C và python. Bạn có thể chọn các dự án liên quan đến một trong hai, đọc mã của các dự án nguồn mở và thử sửa đổi chúng theo lợi ích của bạn. Đọc API và kết hợp các thư viện với nhau để khiến chúng hoạt động thật dễ dàng; nhưng cố gắng hiểu các nguyên tắc thiết kế đằng sau API.

Gần đây, khi tôi nhận một dự án mới, tôi bắt đầu đọc nền cho nó. Tôi đã phải lưu các URL quan trọng trong một tệp để tôi có thể giới thiệu chúng với bạn bè của mình. Sau đó, tôi nhận thấy có một nút, trong trình duyệt của tôi, khi được nhấp sẽ nối URL của tab hiện tại vào một tệp được gán trước với một nhận xét tùy chọn. Nó không phải là một nhiệm vụ rất lớn; nhưng nó sẽ hữu ích cho tôi và bạn bè của tôi. Tôi chưa làm điều đó; nhưng tôi đã nói chuyện với một người bạn về nó và anh ta sẽ làm điều đó sớm thôi.

1
dknight