JavaRush /Blog Java /Random-VI /Sự ra đời của một lập trình viên: trong 9 tháng từ con số...
hermanurikh
Mức độ
Санкт-Петербург

Sự ra đời của một lập trình viên: trong 9 tháng từ con số 0 trở thành Nhà phát triển Java

Xuất bản trong nhóm
Chào mọi người! Thời gian thử việc ở công việc mới của tôi đã kết thúc và bây giờ tôi cuối cùng cũng có thể chia sẻ quá trình làm việc của mình. Tôi 22 tuổi, tốt nghiệp kinh tế. Chỉ một năm trước (tháng 2 - tháng 3) tôi không có kỹ năng lập trình và tôi chỉ gặp Java trong các trò chơi trên Siemens cũ (dưới dạng cửa sổ chào mừng "được hỗ trợ bởi Java" khi bắt đầu trò chơi). Sự ra đời của lập trình viên: trong 9 tháng từ con số 0 trở thành Java Developer - 1Một năm trước tôi làm việc ở bộ phận hỗ trợ kỹ thuật. Tôi sẽ không nói công việc này tệ hay tôi không thích nó, nhưng nó không đặc biệt thú vị. Và hóa ra đã có lúc tôi nghĩ - thật tuyệt nếu có một công việc mà bạn chưa từng làm với cảm giác “chết tiệt, mình lại đi làm rồi,” nhưng điều đó lại mang lại niềm vui. Tôi nghĩ - tôi sẽ làm gì nếu có một năm mà tôi không nhất thiết phải kiếm tiền và tôi có thể làm bất cứ điều gì tôi muốn? Câu trả lời bằng cách nào đó đã tự nó xuất hiện - tôi sẽ ngồi ở nhà và học lập trình. Sau đó tôi quyết định rằng điều đó tùy thuộc vào tôi. Tôi hiểu rằng sẽ rất khó để học lập trình từ đầu, rằng đây sẽ là một bước thụt lùi tạm thời trong sự nghiệp của tôi (tôi tin chắc rằng Nhà phát triển cấp dưới nhận được ít hơn những gì tôi đã nhận được ở công việc đó), nhưng tôi đã coi đó là một bước lùi. để tiến lên hai bước. ĐƯỢC RỒI. Không sớm nói hơn làm. Vì tôi hoàn toàn không hiểu gì về ngôn ngữ lập trình nên ý tưởng đầu tiên của tôi là học ngôn ngữ mà tôi nghe nói nhiều nhất (nó được sử dụng để phát triển phần mềm ở công ty nơi tôi làm việc) - PHP. Được rồi, cô gái đã khuyên tôi đừng làm vậy. Cô ấy gợi ý rằng trong công ty của họ (phát triển ứng dụng di động), người android viết bằng Java + mức lương của họ có vẻ khá tốt. Tôi đã tìm và tìm trên Google, suy nghĩ về nó và quyết định học Java. Bước đầu tiên của tôi là những nỗ lực truyền thống để học một điều gì đó mới - trang bị cho mình những cuốn sách, nắm vững lý thuyết và bắt đầu! Đây là cách tôi có được cuốn sách của Horstmann và Cornell - Java. Khái niệm cơ bản. Đó là tháng 3 năm 2014. Nói chung, cả đời tôi rất tệ trong việc nghiên cứu mọi thứ từ sách. Điều này có lẽ là do cách nhận thức nào chiếm ưu thế ở một người. Tôi luôn thực sự chỉ học được tài liệu sau khi tôi đã thực hành nghiên cứu nó, củng cố nó và chơi với nó. Vì vậy, nỗ lực học Java đầu tiên của tôiTheo cuốn sách, họ chắc chắn sẽ thất bại. Cuốn sách là tốt mặc dù. Đâu đó vào tháng 4, tôi tình cờ gặp nhóm JavaRush VKontakte. Sau đó mọi thứ diễn ra như thể nó đang trên đường ray. Giải quyết các vấn đề, rất nhiều vấn đề, kèm theo một chút lý thuyết rõ ràng là cách học tài liệu tối ưu nhất (ít nhất là đối với tôi). Tôi ngồi ở nhà, ngồi làm việc và quyết định, quyết định, quyết định) Đó là lúc tôi càng tin chắc rằng lập trình rất thú vị đối với tôi. Tôi không thể nhớ mình đã bị mắc kẹt vào bất cứ điều gì. Ba tháng trôi qua, trong thời gian đó tôi đạt đến cấp 20. Đối với tôi, có vẻ như việc học ngôn ngữ sâu hơn sẽ nhanh hơn nhiều nếu bạn đã có được công việc lập trình viên - khi đó bạn sẽ ở trong môi trường này 8 giờ một ngày, 5 ngày một tuần và bạn sẽ phát triển cực kỳ nhanh chóng. Vì vậy, vào tháng 8, tôi bắt đầu gửi hồ sơ. Một vài nơi đã gửi cho tôi bài tập kiểm tra, kết quả là tôi không nhận được bất kỳ lời mời làm việc nào - nhìn lại, tôi không ngạc nhiên dù chỉ một lần - tôi có thể đã giải quyết được nhiệm vụ được giao, nhưng tôi có phong cách viết mã tệ quá) B Nhân tiện, đây là một điểm trừ nhỏ của JavaRush - miễn là vấn đề được giải quyết và các bài kiểm tra được vượt qua, nhiệm vụ sẽ được tính, mặc dù mã của bạn có thể còn nhiều điều chưa được mong muốn. Chỉ cần cài đặt cùng một plugin Checkstyle trong Intellij IDEA là đủ và tình huống sẽ khác - nó sẽ làm nổi bật các điểm “nghi ngờ” trong mã, điều này sẽ cho phép bạn viết không chỉ mã hoạt động mà còn đẹp, chính xác. Dù vậy, vào tháng 9, tôi đã được gọi đến buổi phỏng vấn đầu tiên. Vị trí tuyển dụng bao gồm khoảng những người sau - một nhà phát triển ở bất kỳ cấp độ nào, chúng tôi sẽ đưa ra mức lương tương ứng với các kỹ năng. Tại cuộc phỏng vấn này, các nhiệm vụ xấp xỉ như sau - một đoạn mã đã được đưa ra. Nó có được viết chính xác không và có thể có vấn đề gì? Tôi không nhớ mình đã đúng bao nhiêu trong số đó. Nói chung, cần phải nhớ về Null, hầu hết tất cả các câu hỏi đều xoay quanh nó - rằng bạn không nên truy cập vào một tham số phương thức mà không kiểm tra nó trước (nếu param != null). Dựa trên kết quả, tôi được đề nghị làm việc miễn phí trong tháng đầu tiên (với tư cách là thực tập sinh), sau đó với mức lương thấp hơn (mặc dù không nhiều) so với nơi tôi làm việc. Tôi hiểu rõ rằng tôi không nên mong đợi những đề xuất tuyệt vời, bởi vì tôi biết rất ít lý thuyết, chỉ thực hành bằng JavaRush, không có kinh nghiệm, v.v. Vì thế tôi đồng ý sẽ rời đi sau 2 tuần nữa (thời điểm thích hợp để nghỉ việc ở chỗ cũ). Đồng thời, tôi đã nộp hồ sơ của mình cho một công ty khác. Công ty này đã đưa ra những điều sau đây:
  • 2 tháng đào tạo Java EE (2 lần một tuần trong 4 giờ)
  • nếu bạn thể hiện kết quả tốt (bạn bảo vệ thành công dự án mà bạn đã viết trong hai tháng này), thì bạn sẽ được mời làm việc.
Công ty rất tốt, nước ngoài, nổi tiếng và điều kiện làm việc tuyệt vời - tóm lại, tôi muốn đến đó nhiều hơn nơi mà họ đã đưa ra lời đề nghị cho tôi. Lựa chọn để đào tạo với cô bao gồm 3 giai đoạn:
  1. Làm bài tập thực hành ở nhà.
  2. Nếu thành công, bạn được mời đến kiểm tra máy tính tại văn phòng.
  3. Nếu bài kiểm tra thành công, bạn sẽ được phỏng vấn ngay trong ngày.
Tôi đã hoàn thành các nhiệm vụ thực tế mà không gặp bất kỳ vấn đề gì - rất cám ơn JavaRush và các vấn đề của chúng, sau đó các nhiệm vụ này có vẻ khá đơn giản. Có 3 nhiệm vụ: về RegExp (Google đã trợ giúp, vì bản thân tôi không thể chịu đựng được và không nhớ), về thuật toán (khá đơn giản, giống một bài tập trí óc hơn) và về viết/đọc từ một tệp (có một rất nhiều trong số này trong khóa học JavaRush). Tôi được mời đến thử nghiệm máy tính. Tôi đã chuẩn bị cho cuộc thử nghiệm bằng cách sử dụng trang web quizful . Những bài kiểm tra này đã giúp ích rất nhiều, thậm chí một số câu hỏi còn đan xen nhau. Tôi đã vượt qua bài kiểm tra thành công và họ bắt đầu phỏng vấn tôi. Có lẽ tôi sẽ không bao giờ quên cuộc phỏng vấn này trong đời. Tất cả những gì người phỏng vấn tôi muốn nghe từ tôi là những điều cơ bản về lý thuyết Java, chẳng hạn như:
  • sự khác biệt giữa các trường hợp ngoại lệ được kiểm tra và không được kiểm tra là gì;
  • lớp Object có những phương thức nào và tại sao chúng lại cần thiết;
  • có những loại bộ sưu tập nào và tại sao chúng lại ở đó;
  • và một chút về đa luồng.
JavaRush là một khóa học tuyệt vời, nó sẽ dạy bạn cách giải quyết vấn đề và lập trình, nhưng lý thuyết (để phỏng vấn) cần phải được học riêng, vì tôi đã bị thuyết phục khi bơi trong những vấn đề này giống như một con cá trong bể cá. Họ muốn quấn tôi lại. Tôi hiểu anh ấy - tôi không thể trả lời rõ ràng hầu hết mọi thứ, tôi cố gắng kể mọi thứ từ quan điểm viết mã, nhưng anh ấy lại quan tâm đến lý thuyết. Nhưng tôi biết chắc chắn rằng tôi thực sự muốn tham gia khóa thực tập này, và tôi biết rằng nếu họ cho tôi thời gian, tôi sẽ bắt kịp tất cả những điều này và học được lý thuyết đáng tiếc. Tôi đã nói với anh ấy tất cả những điều này, và anh ấy đã gặp tôi nửa chừng - anh ấy đề nghị gặp lại sau một tuần nữa, nhưng hiện tại anh ấy đưa cho tôi một danh sách các chủ đề (đại khái như tôi đã mô tả ở trên) và cho biết chúng có thể học ở đâu - chỉ là một hướng dẫn về Oracle , nó chứa tất cả: http://docs.oracle.com/javase/tutorial/ Trong suốt một tuần, tôi đã nghiên cứu kỹ lưỡng hướng dẫn này và đi phỏng vấn lần thứ hai vào ngày trước ngày tôi được yêu cầu nhận một công việc mới. Rõ ràng, người phỏng vấn tôi ấn tượng nhất với ý thức về mục đích của tôi (tôi biết rằng nếu tôi chấp nhận công việc thực tập này, những gì xảy ra tiếp theo chỉ phụ thuộc vào tôi - trong hai tháng tôi sẽ tìm ra mọi thứ tôi cần). Dù vậy, tôi đã chấp nhận công việc thực tập này và từ chối đến làm việc tại nơi mà trước đây tôi đã được mời. Trong suốt 2 tháng, chúng tôi đã được giới thiệu nhiều chủ đề từ Java EE, chẳng hạn như: Servlets, JSP, Hibernate JSF, Spring và nhiều chủ đề khác - nhờ thực tập, chúng tôi đã quen thuộc (chúng tôi đã có một ý tưởng sơ bộ ) về nhóm công nghệ Java EE chính. Ngoài ra, trong thời gian thực tập, chúng tôi đã viết dự án của riêng mình, dự án này cuối cùng phải được trình bày thành công để xin việc. Tôi chỉ còn nhớ cảm giác đầu tiên của mình khi đến buổi giảng đầu tiên. Tôi đã xem bài tập của dự án này (nó được giao ngay trong bài giảng đầu tiên) và thậm chí không hiểu bắt đầu từ đâu và làm như thế nào. Tôi cũng nhớ những gì tôi đã làm để làm điều đó thành công. Hai tháng này, hầu như tất cả những suy nghĩ trong đầu tôi đều là công việc thành công và việc thực hiện ước mơ đều nằm trong tay tôi chứ không còn gì nữa. Việc tôi có thể làm được điều đó không phụ thuộc vào ai khác. Chỉ từ tôi thôi. Tôi đã nghỉ việc, gần như không còn tiền và điều đó thực sự khó khăn. Tôi ngồi buổi sáng, ngồi ban ngày, ngồi buổi tối, nhưng không bao giờ chán vui mừng - tôi không nhớ mình đã cống hiến hết mình cho một việc gì đó với nỗi ám ảnh như vậy. Lần này một lần nữa giúp tôi nhận ra mình yêu thích lập trình đến mức nào và muốn làm việc trong lĩnh vực này đến mức nào. Khi tốt nghiệp tôi đã trình bày dự án của mình. Tôi đã bảo vệ nó rất tốt, rõ ràng là tốt hơn nhiều so với mong đợi, và như một ngoại lệ, tôi được thuê không phải cho vị trí ban đầu mà ngay lập tức cho vị trí Nhà phát triển Java cấp trung. Đó là ngày 9 tháng 12 năm 2014. Tôi không thể tin được nhưng lời mời làm việc đang hiện ra trước mắt tôi trên màn hình. Kỹ sư phần mềm. Điều này đã xảy ra. Tôi đã trở lại làm việc vào ngày 15 tháng 12. Chưa bao giờ tôi có suy nghĩ “chết tiệt, mình không muốn đi làm”. Mỗi ngày, khi rời nhà vào buổi sáng, tôi biết tại sao mình phải đi làm, mình sẽ làm gì và mình muốn điều đó đến mức nào. Điều này khiến tôi vô cùng hạnh phúc. Nó xứng đáng và xứng đáng với cái giá bạn phải trả để đạt được ước mơ của mình. Tôi chúc tất cả các bạn, những người thực sự muốn trở thành lập trình viên, hãy tiếp tục đạt được mục tiêu của mình. Nó còn hơn cả thực tế, nó rất gần, nhưng bạn phải trả giá cho nó. Hãy trả giá bằng sự lãng phí thời gian và thần kinh của bạn, bởi vì học một thứ gì đó từ đầu thực sự không phải là bước dễ dàng nhất. JavaRush đã giúp tôi thực hiện những bước đầu tiên này một cách dễ dàng và tôi không phải là người từ bỏ việc lập trình ngay từ đầu vì sự phức tạp rõ ràng và sự phong phú của lý thuyết. Vì vậy, tôi đã có thể hoàn thành ý tưởng khá điên rồ của mình về sự thay đổi căn bản trong lĩnh vực hoạt động nghề nghiệp (ngay cả khi không có giáo dục kỹ thuật). Và bạn chắc chắn có thể.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION