JavaRush /Blog Java /Random-VI /Từ nội trợ đến lập trình viên

Từ nội trợ đến lập trình viên

Xuất bản trong nhóm
Chào buổi chiều các bạn! Tôi rất vui vì ấn phẩm đầu tiên của tôi đã được bạn quan tâm. Đây là phần thứ hai trong câu chuyện của tôi. Cái đầu tiên có thể được tìm thấy tại liên kết .
Từ bà nội trợ đến lập trình viên - 1
Vì tôi làm lập trình viên Web nên mọi đề xuất sẽ liên quan đến lĩnh vực này. Tôi hy vọng bài viết này cung cấp cho bạn những điều đáng suy ngẫm và động lực!

Tôi đã học bao nhiêu

Nhận thấy rằng thời gian là nguồn lực có hạn, tôi không tìm kiếm công việc mới trong lĩnh vực bán hàng mà quyết định trở thành người quản gia tuyệt vời nhất, dạy lập trình cả ngày và nấu đồ ăn cho vợ. Tôi xem qua cuốn sách “Python for Children” và quyết định rằng nếu trẻ em có thể làm được thì tại sao tôi lại tệ hơn? Tất nhiên, tôi không nghĩ đến việc truy cập hh.ru và xem có ai cần một lập trình viên Python trong thành phố của tôi không. Hóa ra là không. Nhưng tôi đã học được điều này sau ba tháng nhồi nhét. Và thậm chí sau này tôi mới biết rằng ngôn ngữ này tuyệt đối không nên học trước, bởi vì... nó có tính năng gõ động và có rất nhiều điều cơ bản ẩn bên trong mà bạn chắc chắn cần phải biết! Nếu đột nhiên ai đó quyết định học Python, tôi giới thiệu kênh youtube ItPropaganda . Mọi thứ đều được trình bày ở đây rất chu đáo và chi tiết. Giảng viên phải là giáo viên! Tại hh.ru tôi nhận thấy cần rất nhiều người thiết kế bố cục nên tôi chuyển sang Web. Việc tôi nhảy sang bên nào không quan trọng, nhưng tôi muốn lên chuyến tàu này, tôi nghĩ vậy! Việc này mất ba tháng tiếp theo. Lúc đó tôi mới nhận ra rằng thực hành là điều hữu ích nhất trong việc học. Thông tin mới bay ra nhanh hơn một viên đạn. Vì vậy, sau mỗi video hoặc cuốn sách mới, tôi cố gắng lặp lại tất cả và thậm chí viết ra điều gì đó. Những giáo viên tốt nhất trong cách bố trí đối với tôi là: Cô ấy là người hữu ích nhất. Việc thực hành là không thực tế. Tôi không nhớ chính xác nhưng tôi đã tham gia khóa học tương tác miễn phí trong khoảng hai tuần. Và sau đó tôi đã mua một cái trả phí, nhưng chỉ vì bố cục Flex.
  • Foxford | Lập trình WEB cho học sinh 8-11.
Giống như Python: trẻ hiểu thì tôi cũng hiểu. Tìm thấy nó trên Internet.

Làm thế nào tôi có được một công việc.

Sáu tháng học tại nhà đã trôi qua và tôi quyết định đã đến lúc. Tôi đã gửi bản lý lịch của mình tới một số công ty cho vị trí kỹ sư phần mềm cấp dưới và chờ phản hồi. Vài ngày sau họ trả lời tôi và tôi rất lo lắng. Tôi đã vượt qua bài kiểm tra (nó mang tính tâm lý nhiều hơn) và điền vào một biểu mẫu tiêu chuẩn trong đó tôi nêu rõ kinh nghiệm của mình trong các lĩnh vực CNTT khác nhau (trình độ tiếng Anh kỹ thuật, kiến ​​​​thức về ngôn ngữ, khả năng làm việc với git, linux, v.v.), trong phần cột lương mong muốn tôi đã chỉ ra 5.000 rúp Tôi không quan tâm mình sẽ nhận được bao nhiêu, tôi sẵn sàng tự trả cho họ, chỉ cần họ thuê tôi. Hóa ra công ty này đã thực hiện việc tuyển dụng sinh viên, chuẩn bị chu đáo cho họ và giữ họ lâu dài. Trong lúc phỏng vấn, tôi nhớ đến câu “đến tuổi 35 phải nhận, thấm rồi mới cho”. Tôi được thuê trong thời gian thử việc một tháng với mức lương 15.000 rúp. Tháng này là tháng tuyệt vời nhất trong cuộc đời tôi, tôi đã đạt được mục tiêu mong muốn và biết rằng mình sẽ được làm bố. Vào ngày đầu tiên đi làm, tôi được biết rằng tôi cần xây dựng một máy tính của riêng mình, hệ điều hành sẽ là linux (bạn có biết nút siêu ở đâu trong linux không?), và dự án đầu tiên của tôi sẽ là tạo một microservice trong java . sẽ chạy trên giao thức Radius . Nếu nói rằng tôi bị sốc bởi MỌI THỨ là một cách nói nhẹ nhàng. Tôi ném glycine vào người nhanh hơn Usain Bolt chạy một trăm mét (tất nhiên là đùa thôi).

Bạn đã trải qua những khó khăn gì?

  • Tiếng Anh

    Trình độ tiếng Anh không đủ. Khi bắt đầu làm lập trình viên, bạn nhận ra rằng thực tế không có câu trả lời nào cho câu hỏi của bạn bằng tiếng Nga. Vấn đề là bạn không biết chính xác cách sử dụng Google (nhưng đừng lo lắng, mọi thứ sẽ đi kèm với kinh nghiệm). Yandex đổi thành Google.

    Tôi đã đặt ra quy tắc là nghe tiếng Anh khi đi bộ trên phố, cụ thể là “Tiếng Anh theo danh sách phát” :
    Đây là rất nhiều giờ luyện tập và bạn không cần phải tìm kiếm bất kỳ nguồn học nào khác nữa. Tôi đã xem khoảng 400 bài học trong một năm.

  • Khung

    Nếu bạn không có nhiều kinh nghiệm về lập trình, các framework ( hibernate, spring ) là tảng đá mà bạn có thể đập vỡ và mất niềm tin vào bản thân. Những mức độ trừu tượng, mẫu thiết kế, đậu, đơn vị, nhà máy mới này khó hiểu đến mức bạn thậm chí không biết bắt đầu từ đâu. Tôi nhớ mình đã cười đến mức khung "Spring" phức tạp đến mức họ đã nghĩ ra khung "Spring Boot" của riêng mình cho nó.

    Tôi sẽ cố gắng cung cấp cho bạn một vectơ:

    1. Nếu bạn không biết Java thì đừng nhìn vào những điểm sau, cơ bản là có tất cả! Tôi đã kiểm tra, việc đi sâu vào vùng hoang dã, học hỏi từ JavaRush là vô ích.
    2. Khái niệm cơ bản về phát triển web Java. Khóa học dành cho một chàng trai rất tài năng, hiện 22-23 tuổi, là phù hợp cho việc này. Anh ấy tuyệt vời đến mức tôi đặc biệt tìm thấy anh ấy để liên lạc và thậm chí còn muốn đến Kazan và tham gia các khóa học với anh ấy. link , cũng là liên kết tới github của tất cả các dự án
    3. Những gì cần thiết để làm việc với cơ sở dữ liệu, người bạn này giải thích một cách tuyệt vời
    4. Chà, một điều mới mẻ là kênh let's code . Chất lượng, trình bày, phù hợp -mọi thứ đều tuyệt vời! Nói về Spring Boot .
  • Tôi không khuyên dùng javabegin . Khi tôi cần học nhanh Spring, tôi đã dại dột mua khóa học của anh ấy. Lời giải thích thật kinh tởm. Đối với tôi, có vẻ như anh ấy không biết mình đang nói về điều gì, anh ấy chỉ tìm một bài hướng dẫn bằng tiếng Anh và làm một khóa học bằng video.

  • Linux (hệ điều hành), Git (hệ thống kiểm soát phiên bản).

    Đối với tôi, làm việc trên dòng lệnh dường như là một điều gì đó siêu nhiên. Hóa ra là trong thế giới lập trình, giao diện web không được coi trọng: các lập trình viên thực thụ phải làm mọi thứ thông qua thiết bị đầu cuối. Linux là một hệ điều hành mã nguồn mở và miễn phí, và đại đa số các lập trình viên đều làm việc trên nó (MacBook có các lệnh tương tự). Git là hệ thống kiểm soát phiên bản cho chương trình của bạn, tiêu chuẩn cho tất cả các lập trình viên.

    Ở đây tôi có thể giới thiệu trang web tương tác này để học git . Tiện ích mở rộng của Google Chrome - Octotree giống như một chỉ huy tổng thể cho GitHub . Chà, hãy cài đặt Linux cho chính bạn : thật tuyệt, tôi đã ném Windows vào thùng rác!

Bản tóm tắt:

Lập trình là một thế giới rộng lớn mang đến một cuộc sống thú vị. Vâng, lúc đầu thật khó khăn, vâng, thật khó khăn, nhưng đó mới chỉ là sự khởi đầu. Tôi kiên trì tiến về phía trước và làm lập trình viên full stack được một năm, lương tăng gấp đôi, học các ngôn ngữ như Java, Python, Kotlin, Typescript, JavaScript; các framework như Spring và React. Viết lại kho lưu trữ cũ tự viết của một dự án lớn trong Redux, tạo microservice trong Spring Boot. Bây giờ tôi đang chạy một dự án trong Spring4, cũng bằng XML. Và nếu tôi có thể làm được thì bạn cũng có thể. Điều quan trọng là phải nhìn thấy một mục tiêu to lớn phía trước và tiến tới nó mà không sợ những điều chưa biết, và nỗ lực của bạn chắc chắn sẽ được đền đáp. Thôi, nếu ai quan tâm thì viết nhé, mình sẽ tiếp tục câu chuyện của mình. Chủ đề có thể là:
  1. Các mẫu thiết kế (ví dụ thực tế khi mẫu này hoặc mẫu kia có thể hữu ích).
  2. Các loại xác thực, ủy quyền.
  3. OAUTH2.0 trên Spring Boot.
  4. Đánh giá về topjava (Spring5)
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION