Bằng cấp toán học có mang lại lợi thế khi học lập trình không? Mọi thứ phụ thuộc vào mức độ nỗ lực của bạn dành cho các môn học liên quan.

Đây là câu chuyện của Roman, người Ukraine. Hôm nay anh ấy là một nhà phát triển Java cao cấp. Giữa năm 2015, anh đang là sinh viên làm bằng thạc sĩ toán ứng dụng. Câu chuyện gốc là ở đây . Dưới đây bạn có thể tìm thấy những phần quan trọng nhất.

Với thực tế ở quê hương mình, Roman chắc chắn rằng học toán sẽ chỉ giúp anh kiếm được nhiều tiền khi làm lập trình viên. Nhưng lựa chọn trở thành nhà phát triển Java của anh ấy là ngẫu nhiên hơn là có chủ ý. Anh ấy không muốn chỉ học qua sách vở hoặc các khóa học toàn thời gian: sinh viên của chúng tôi quyết định rằng chúng tốn quá nhiều tiền nhưng mang lại rất ít lợi ích.

Và rồi anh ấy tìm thấy khóa học Java của chúng tôi. Đó là vào cuối tháng 8/đầu tháng 9 năm 2015.

Kế hoạch học tập Java

Khi chuẩn bị kế hoạch học tập của mình, Roman bắt đầu từ thực tế là anh ấy không có thời gian để đi loanh quanh.

Anh đặt mục tiêu: tiếp thu kiến ​​thức thật nhanh để duy trì hứng thú học tập, nhưng không nhanh đến mức khiến não bị quá tải.

Theo đó, đây là những gì ông đã quyết định:

  1. Học năm ngày một tuần (từ thứ Hai đến thứ Sáu).
  2. Cuối tuần, làm bất cứ điều gì ngoại trừ học tập.
  3. Phân bổ 4 giờ cho mỗi buổi học — sau mỗi giờ, hãy nghỉ 15 phút để đi dạo, thư giãn và pha trà.

Tổng cộng 20 giờ một tuần. Không tệ nhỉ? Ngoài ra, đôi khi Roman phải đến trường đại học vì anh ấy vẫn đang học cao học.

Đến tháng 12, anh ấy đã hoàn thành một nửa khóa học và quyết định rằng anh ấy đã học được một lượng lớn, mặc dù có những thời điểm khủng hoảng khi não anh ấy từ chối tiếp nhận thông tin mới và chỉ một ngày cuối tuần không có bất kỳ chương trình nào đã giúp anh ấy tiến bộ.

Chuyển sang một cấp độ mới

Ba tháng sau khi Roman bắt đầu học, anh ấy bắt đầu tự hỏi mình cần biết thêm những gì để có được một công việc. Để được tư vấn, anh ấy tìm đến những lập trình viên mà anh ấy biết.

Và ồ, những từ xa lạ mà anh ấy đã nghe, như "cơ sở dữ liệu" (kinh dị!), và nhiều hơn nữa, cho anh ấy biết rằng anh ấy cần bắt kịp tốc độ và làm nhiều hơn nữa. Những lời khuyên này chắc chắn sẽ giúp bạn quá.

  1. Đọc sách. Trong trường hợp của Roman, "Head First Java", được khuyên dùng cho những người mới bắt đầu rất non nớt, rất hữu ích. Nó giúp anh ấy hiểu rõ hơn về một số sắc thái.
  2. Kết nối mạng. Bạn nên ghé thăm tất cả các nơi lui tới của lập trình viên có liên quan trong thành phố của bạn (và những nơi khác). Ngay cả khi có nhiều điều không rõ ràng, đây là cách bạn hòa mình vào môi trường.
  3. các trang web CNTT. Phương tiện dành cho lập trình viên, khóa học video trên YouTube, diễn đàn — bạn cần nghiên cứu kỹ tất cả những điều này và đọc các bài viết hữu ích để tạo thành một bức tranh tổng thể về ý nghĩa của việc một nhà phát triển Java phát triển.
    Cá nhân, chúng tôi khuyên bạn nên bắt đầu với các phần Bài viết, Diễn đàn và Trò chuyện trên CodeGym :)
  4. Nắm vững các công nghệ liên quan: MySQL, HTML và CSS, v.v.
  5. Tạo một hồ sơ LinkedIn thú vị cho chính bạn, liệt kê tất cả các kỹ năng của bạn và tích cực mở rộng vòng kết nối chuyên nghiệp của bạn.
    Roman chia sẻ kinh nghiệm của mình: "Tôi hiện có hơn 10.000 bạn bè trên LinkedIn. Điều này là cần thiết để bắt đầu. Và nó đã giúp [khi] một nhóm dịch giả tự do Android đang tìm cách thêm một người mới và họ đã liên hệ với tôi."

thất bại đầu tiên

Tất nhiên, song song với việc học, Roman đang tìm kiếm cơ hội thực tập tại các công ty, và một ngày nọ, anh đã nhận được một cuộc phỏng vấn. Anh ấy chưa sẵn sàng để trình bày bản thân bằng tiếng Anh một cách thuyết phục và trả lời tất cả các câu hỏi của trưởng nhóm kỹ thuật. Theo anh ấy, anh ấy "bằng cách nào đó đã hoàn thành [nhiệm vụ thử nghiệm], mặc dù không phải với tất cả các chức năng. Sau một thời gian, đơn đăng ký của anh ấy bị từ chối và anh ấy quyết định tiếp tục.

Roman có được công việc đầu tiên nhờ LinkedIn, nơi anh được mời tham gia vào một dự án phát triển Android. Tất nhiên, công việc thực tế khó khăn hơn các nhiệm vụ trên CodeGym và có rất nhiều điều cần học hỏi trong quá trình thực hiện. Nhóm đang dần tan rã, vì vậy họ không thể đưa dự án thử nghiệm lên một tầm cao mới và anh ấy phải tìm một công việc mới.

Tìm kiếm một công việc mới

Đi đâu? Roman lùng sục các phương tiện truyền thông trực tuyến để tìm lập trình viên, nơi anh tìm thấy thông tin liên hệ của các công ty phù hợp trong thành phố của mình. Ông bắt đầu một chiến dịch gửi thư lớn.

Để đảm bảo rằng mọi thứ đều ổn, anh ấy đã viết sơ yếu lý lịch của mình bằng tiếng Anh. Theo anh ấy, nó đầy lông tơ, vì anh ấy cảm thấy mình không có gì đặc biệt để viết. Một mục bắt buộc là thư xin việc (cũng phải bằng tiếng Anh) để nhà tuyển dụng hiểu bạn đang ứng tuyển vào vị trí nào và tại sao. Anh ấy đã chuẩn bị một câu trả lời bằng tiếng Anh cho câu hỏi phỏng vấn yêu thích đó: "Tell me about yourself." Nó rất hữu ích.

Các cuộc phỏng vấn rất khó khăn, lúng túng và không thoải mái, nhưng Roman đã vượt qua chúng. Tại một số, họ chỉ muốn trò chuyện. Ở những người khác, thực hiện một vài nhiệm vụ viết mã là cần thiết.

Ưu đãi đầu tiên

Sau bốn cuộc phỏng vấn, hai công ty đã từ chối Roman, nhưng hai công ty đã đưa ra lời đề nghị cho anh: một cho vị trí nhà phát triển Android, công ty còn lại là nhà phát triển Java. Anh ấy loay hoay một lúc, không biết phải làm gì, nhưng cuối cùng anh ấy đã trở thành một nhà phát triển Java.

Vài năm đã trôi qua và Roman là một nhà phát triển Java cấp cao, trong thời gian rảnh rỗi, anh ấy tích cực tham gia vào các dự án nguồn mở (đây là hồ sơ GitHub của anh ấy ) và thường chia sẻ kinh nghiệm hữu ích của mình với sinh viên trong phần " Bài viết " trên CodeGym.