JavaRush /Blog Java /Random-VI /Cách Java của tôi
Рустем Сайфутдинов
Mức độ
Казань

Cách Java của tôi

Xuất bản trong nhóm

Hồ sơ

Cách Java-daya của tôi - 1

Lời mở đầu

Mọi chuyện bắt đầu vào ngày 23 tháng 1 năm 2003 . Tôi về nhà sau giờ học và câu lạc bộ kịch và nhìn thấy những chiếc hộp trên sàn. Đây chính là nó - chiếc máy tính đầu tiên của tôi: AMD Athlon XP 1800+, RAM 256 MB, NVidia GeForce 2 64 MB và ổ cứng 40 GB . Từ ngày quan trọng này, một câu chuyện mới của cuộc đời tôi bắt đầu. Khi đó tôi đang học lớp chín. Bạn nghĩ việc đầu tiên tôi sử dụng máy tính là gì? Tất nhiên là tôi đã bắt đầu chơi!!! Và trong khoảng 4 năm, tôi đã rời xa cuộc sống thực. QUAKE, DOOM, Warcraft, Starcraft, Diablo, Command & Conquer: Generals, Civilization, Silent Hill, Deus Ex, Far Cry... Có nhiều mâu thuẫn với mẹ tôi, lâu ngày bà không cho tôi chơi và bảo tôi để làm bài tập về nhà. Chuyển sang trường học và sau đó vào đại học không phải là điều dễ dàng. Rốt cuộc, tôi đã có một thế giới ảo tuyệt vời, nơi để đạt được những thành công nhất định, bạn cần thực hiện các hành động đã định trước, bạn luôn có thể khởi chạy lần lưu trước đó và đạt được những gì bạn muốn. Hoặc có thể là ở ngoài đời… Tóm lại, tôi đã dành rất nhiều thời gian cho game. Nhưng điều này cũng có một lợi ích nhất định: đôi khi trò chơi không khởi động, chạy chậm hoặc không cài đặt được. Vào những thời điểm này, có một mong muốn lớn lao là hiểu được vấn đề. Sau đó, tôi cài đặt, cài đặt lại, cấu hình và tối ưu hóa mọi thứ có thể. Bắt đầu từ việc làm lại các phân vùng ổ cứng, thay đổi hệ thống tệp và cài đặt lại Windows, kết thúc bằng việc điều chỉnh sổ đăng ký và tệp cấu hình trò chơi. Nhờ những kiến ​​thức có được, tôi được bạn bè biết đến với cái tên “lập trình viên”. Đã trợ giúp máy tính của họ, cài đặt lại hệ điều hành, loại bỏ vi-rút, v.v. Một mùa hè, sau khi vừa hoàn thành năm đầu tiên tại một trường đại học kỹ thuật, tôi quyết định bắt đầu bán kỹ năng của mình. Tôi đã viết một quảng cáo bằng Word với tiêu đề “ Trợ giúp khẩn cấp máy tính ” và dán chúng khắp ngôi làng nơi tôi sống. Có đủ cho “ bia và kẹo cao su ”. Vào năm thứ năm, thay vì chăm chỉ viết luận án, tôi lại nhờ một người quen làm quản trị viên cho một văn phòng nhỏ xiêu vẹo. Lần đầu tiên tôi biết về miền Windows , làm việc trong mạng, Tường lửa Kerio WinRoute .

Quản trị viên

Sau khi nhận bằng tốt nghiệp chuyên ngành “ Máy tính, tổ hợp, hệ thống và mạng ” vào năm 2010 , tôi đã nhìn thấy hai con đường cho mình - lập trình viên hoặc quản trị viên. Kinh nghiệm lập trình chỉ giới hạn trong phòng thí nghiệm, bài tập và bài tập sau đại học. Khi đó tôi đã biết mảng, vòng lặp, câu lệnh điều kiện và lớp là gì. Đã có những nỗ lực học cách viết mã khi còn đi học. Nhưng GTA đã thành công cắt đứt mong muốn này. Mặc dù vậy, điều đáng chú ý là tôi viết mã với niềm vui đáng kể. Đã giúp đỡ các bạn cùng lớp của tôi với các phòng thí nghiệm. Nhưng vì có nhiều kinh nghiệm hơn trong lĩnh vực admin nên tôi đã chọn con đường này. Tại một trong những công việc tiếp theo của mình, tôi quyết định đã đến lúc sử dụng Linux . Tôi ngồi làm việc vào buổi tối và thử nghiệm. Kết quả là đã thiết lập được một cổng vào Internet bằng tường lửa, chuyển tiếp cổng, kết nối Internet qua Wi-Fi , kết nối với VPN … Không hay lắm, nhưng nó sẽ giúp ích cho sự khởi đầu.
Nhờ kiến ​​thức này, năm 2011 tôi đã được bổ nhiệm làm trưởng phòng triển khai và hỗ trợ. Tôi có 4 người dưới quyền tôi. Chúng tôi đang triển khai một ứng dụng khách dày đặc bằng Java Swing tại các cửa hàng và nhà kho của một công ty trang sức. Bây giờ tôi đã hiểu điều thú vị mà chúng tôi đang thực hiện! Nhưng sau đó tôi không mấy quan tâm đến sự tinh tế khi triển khai phần mềm này.
Tôi sống ở Kazan, nhưng từ lâu tôi đã muốn cố gắng có một lối sống tự lập hơn và chuyển đến “ Nerezinovaya ”. Vào cuối năm 2012 , tôi đã thành công mà không cần phải thay đổi công việc. Tôi thực sự thích nó ở đó! Đây là tàu điện ngầm! Những con phố khổng lồ này với dòng xe ô tô đắt tiền chạy nhanh! Những dòng người khổng lồ này ở khắp mọi nơi! Tôi tự hào rằng tôi đã có thể đạt được động thái này.
Sau khi kết thúc dự án, vào giữa năm 2013, tôi quyết định đã đến lúc rời bỏ việc thiết lập máy tính, hỗ trợ kỹ thuật và quản trị. Tôi quyết định chuyển sang phân tích hoặc quản lý dự án. Một vị trí đã được tìm thấy nơi tôi có thể phát triển trong những lĩnh vực này. Và ở đó tôi nhận ra... Điều mà tôi không bao giờ muốn làm trong đời!
Có một khoảnh khắc khi tôi đang sắp xếp lại các trang trong báo cáo hợp đồng của chính phủ theo đúng thứ tự, tôi chợt nhận ra chuyện gì đang xảy ra. Ôi Chúa ơi, tôi đã được một phần tư thế kỷ rồi!!! Tôi đang loay hoay với những mảnh giấy, trước đó đã sao chép và dán văn bản vào đó một cách trí tuệ từ chính những mảnh giấy đó trong kỳ báo cáo trước!!! Nhưng trước đó, tôi đã làm những điều thú vị với máy chủ, tổ chức quy trình làm việc, giúp đỡ mọi người...
Đây là một bước ngoặt trong cuộc đời tôi. Một loại “khủng hoảng nghề nghiệp”. Tôi mệt mỏi với việc bảo trì. Tôi muốn tự mình tạo ra và tạo ra thứ gì đó.

Java

Tôi nhớ rằng tôi viết mã khá giỏi ở trường đại học. Tôi nhớ rằng các lập trình viên kiếm được rất nhiều tiền. Tôi nhớ rằng có một ngôn ngữ Java thú vị , một ứng dụng khách dày đặc mà chúng tôi đã triển khai và các chương trình của nó có thể chạy trên bất kỳ hệ điều hành nào. Việc tìm kiếm tài liệu về Java đã đưa tôi đến với Java Rush . Lúc này là vào khoảng tháng 10 năm 2013 . Cách trình bày thông tin và số lượng lớn các ví dụ thực sự thu hút tôi. Tôi đi làm, ngồi trước máy tính, đi làm về, tối lại ngồi vào máy tính để học. Có khi tôi ngồi đến tận khuya. Tôi đã vượt qua 10 cấp độ đầu tiên một cách dễ dàng , bởi vì... nhiều khái niệm đã quen thuộc với tôi. Để có thêm thời gian học, tôi ngừng đến phòng gym, tập tạ và tập thể dục tại nhà. Vào khoảng tháng 12, tôi dự định sẽ bắt đầu tìm việc làm không sớm hơn cuối tháng 3. Nhưng tôi bắt đầu chú ý hơn đến công việc. Vâng, đơn giản là tôi đã ghét cô ấy rồi. Đôi khi tôi trơ tráo thực hiện các tác vụ Java Rush ngay trên máy tính làm việc của mình trong giờ làm việc. Không mất nhiều thời gian để có kết quả - vào đầu tháng 1 năm 2014, họ thông báo với tôi rằng tôi chỉ làm việc cho họ cho đến cuối tháng. Tất nhiên đó là một cú sốc. Tôi rất lo lắng khi biết rằng mình sẽ không có thu nhập cơ bản trong khi phải trả tiền nhà. Tôi đã chăm chỉ đọc các bài viết như “ 100 câu hỏi phỏng vấn dành cho sinh viên Java Junior ” trong khi tiếp tục học về Java Rush .

Nhiệm vụ phỏng vấn và kiểm tra

Tôi đã đạt đến cấp độ khoảng 17 khi tham gia cuộc phỏng vấn đầu tiên. Tại một trong những tổ chức, họ giao cho tôi một nhiệm vụ thử nghiệm để viết - một ứng dụng sẽ xác định liệu có thể sắp xếp tất cả các quân domino trên một dòng hay không. Nếu có thì xuất giải pháp này. Lấy cảm hứng, tôi ngồi xuống máy tính để viết nó và... tôi kinh hoàng! Trong điều kiện nhà kính của Java Rush, việc ngồi và viết mã rất thoải mái. Nhưng ở đây chúng tôi phải nghĩ ra mọi thứ từ đầu, có thể nói là từ đầu! Đây là nơi mà những nghi ngờ và do dự xuất hiện. Tôi có cần phải trở thành một lập trình viên không? Đối với tôi việc viết mã rất khó khăn! Tôi thực sự không biết gì về Java cơ bản, kiến ​​thức của tôi rất hời hợt. Và không rõ làm thế nào để giải quyết vấn đề này. Nhưng tôi vẫn có thể tìm ra thuật toán giải trên Internet bằng cách sử dụng đồ thị - tất cả đều tập trung vào việc tìm đường dẫn Euler ( đây là từ lý thuyết đồ thị, ghi chú của người biên tập ).
Đồng nghiệp ở công việc trước đây của tôi đã luôn giúp đỡ tôi về Java, người đã viết ứng dụng khách dày nói trên bằng Java. Chính anh là người đã giúp tôi giải bài toán bằng phương pháp đệ quy. Tôi đã gửi nhiệm vụ để xem xét... 2 tuần dài chờ đợi phản hồi...

Nghề nghiệp đầu tiên

...Nhưng mọi việc đều diễn ra tốt đẹp! Họ bắt tôi, tôi đã làm được! Vào ngày 5 tháng 3 năm 2014 , tôi bắt đầu làm việc với tư cách là nhà phát triển Java . Hạnh phúc không có giới hạn, phần lớn là do tôi đã làm việc tại một công ty chuyên giải quyết vấn đề thanh toán điện tử. Và họ đối xử với nhân viên rất tốt. Chỉ cần nhìn vào văn phòng sang trọng của họ và cà phê và trà miễn phí - hồi đó đối với tôi đó là một điều mới lạ.
Tôi ngồi xuống để phân loại dự án... Và nhận ra rằng mình chẳng hiểu gì cả! Servlets, bộ lọc, trình phân tích cú pháp XML, truy vấn SQL, cam kết kho lưu trữ, nhận và đăng HTTP, kiểm tra đơn vị... Tất cả điều này đều mới đối với tôi. Có, gần đây tôi mới học cách sử dụng giao diện!
Có những lúc tôi nhìn vào mã, trèo qua chuỗi lệnh gọi phương thức, ngày càng đi sâu hơn và nhận ra rằng mình đã quên mất mình bắt đầu từ đâu! Thỉnh thoảng tôi lại có ý nghĩ đứng dậy và chạy trốn! Và rồi dị ứng mùa xuân kéo theo những vấn đề trong cuộc sống cá nhân của tôi. Bộ não đơn giản là từ chối nhận thức bất cứ điều gì. Tóm lại là tôi đã không vượt qua được thời gian thử việc. Thật là căng thẳng khủng khiếp. Tôi đã không làm được điều tôi mơ ước. Lòng tự trọng bị tổn hại nặng nề. Ngay cả tóc bạc cũng xuất hiện.

Lang thang và thử thách

Tuy nhiên, tôi quyết định tiếp tục những gì tôi đã bắt đầu. Vào tháng 7 năm 2014, tôi được thuê làm việc tại quê hương Kazan của tôi, trong một tổ chức quốc tế. Ở đó tôi đã viết Frontend trong Swing . Chương trình đã chuyển dữ liệu từ DBMS này sang DBMS khác . Ồ, và sau đó tôi đã làm khổ trưởng nhóm và các tiền bối với kiến ​​thức viết mã Java kém cỏi của mình ! Tuy nhiên, công việc này cho phép tôi mài giũa kỹ năng của mình, học các kỹ thuật cơ bản và tích lũy kiến ​​thức. Về phần mình, tôi cũng đã thực hiện một số đổi mới nghiêm túc. Trong thời gian này, tôi vô cùng nghi ngờ. Tôi vẫn thấy công việc khó khăn, thiếu kiên trì và tập trung. Nhưng tôi đã vượt qua thời gian thử việc dù rất khó khăn. Nhưng vào tháng 2 năm 2015 , trong thời kỳ khủng hoảng nhất, đã xảy ra làn sóng sa thải. Họ sa thải tôi vì coi tôi là người thiếu kinh nghiệm và mờ nhạt nhất, còn đồng nghiệp của tôi là người lớn tuổi nhất và vốn đã do dự. Cộng với máy đo căng thẳng. Tôi biết rằng tôi vẫn còn hoàn toàn mới với việc lập trình và trong thời kỳ khủng hoảng, rất ít người cần nhân sự mới. Tôi chỉ có 10 tháng kinh nghiệm với con mèo của mình . Cũng không đặc biệt thành công. Vào tháng 3, khi tôi đang tìm kiếm thì một sự kiện rất thú vị đã xảy ra. Họ viết thư cho tôi trên mạng xã hội và hỏi liệu tôi có muốn đi dạy Java không . Điều này làm tôi rất ngạc nhiên. Sau đó, hóa ra giám đốc nhân sự, một cách khá tình cờ, đã chỉ tay lên trời về phía tôi. Rốt cuộc, ngay cả những từ Java hay lập trình cũng không được liệt kê trong hồ sơ của tôi. Tuy nhiên, vì tôi thích tất cả các loại phiêu lưu nên tôi đã đồng ý đến phỏng vấn, nơi tôi được yêu cầu viết một chương trình nhỏ vào sổ tay. Tôi đã làm điều đó, nhưng tôi nhận thấy bản thân mình có khuynh hướng thiên vị trong phương pháp kiểm tra kiến ​​thức này. Tôi được mời học thử. Tôi đã chuẩn bị, viết bài thuyết trình và giảng bài thành công. Sau khi hoàn thành, tôi được thông báo rằng mọi thứ đều ổn, nhưng các bài học cần được làm lại cho học sinh từ 12-18 tuổi . Tôi đã làm điều này, nhưng kết quả là họ đã chọn một giáo viên có kinh nghiệm hơn, nhưng họ sẽ liên hệ với tôi vào năm học mới, vào mùa thu. Tôi không đặc biệt khó chịu. Vào tháng 4, tôi nhận được một công việc tại văn phòng CNTT đa ngành nổi tiếng và lớn nhất ở Kazan, nơi tôi làm việc trong nhiều dự án khác nhau. Tôi đã cải thiện các kỹ năng của mình về SQL , servlets, v.v. Ngoài ra, vào tháng 8, tôi đã chủ động cùng một đồng nghiệp bắt đầu chuẩn bị cho OCA . Vào lúc đó tôi nhận ra rằng tôi không biết những điều cơ bản về Java chút nào ! Tất cả những rắc rối này với việc khởi tạo các hàm tạo trong quá trình kế thừa, chỉ là một sự chuyển đổi điên rồ, thời gian biên dịch và thời gian chạy. Hóa ra tôi đã bắt đầu nghiên cứu tất cả những điều này chỉ hơn một năm sau khi tôi bắt đầu làm lập trình viên! Mùa thu 2015Ban tổ chức khóa học đã liên hệ với tôi và nói rằng họ đang chuẩn bị khai trương một khóa học dành cho người lớn. Hóa ra là tôi sẽ phải tự mình tạo ra tất cả tài liệu giáo dục - lý thuyết, bài tập thực hành trên lớp, bài tập về nhà. Hoàn cảnh này làm giảm đáng kể sự nhiệt tình của tôi. Sau cùng, tôi mong đợi rằng tôi sẽ tự mình chuyển tài liệu trong sách hướng dẫn và sau đó trình bày nó dưới một hình thức nào đó trong lớp. Tuy nhiên, tôi thấy một số lợi ích từ hoạt động này. Thứ nhất, trau dồi và củng cố kiến ​​thức của bản thân. Người ta nói không phải vô ích: nếu bạn muốn học hoặc hiểu điều gì đó, hãy giải thích cho người khác! Thứ hai, một lý do để vượt qua nỗi sợ nói trước đám đông. Thứ ba, một cơ hội tốt để rèn luyện trí nhớ của bạn. Thứ tư, điều này sẽ cải thiện tình hình tài chính của tôi, bởi vì... Đàn em được trả ít, nhưng tôi đã muốn đổi chiếc xe của mình từ lâu, vì chiếc Nexyusha của tôi đã mục nát hoàn toàn. Và thứ năm, bạn sẽ hài lòng với sự phù phiếm khi nhận ra rằng ai đó có thể cần kiến ​​​​thức và kinh nghiệm của bạn.
Các khóa học bắt đầu vào tháng 11 và đó là một chuyến đi tuyệt vời! Làm việc ở hai nơi. Cần phải tìm và chuẩn bị tài liệu, suy nghĩ về các chủ đề bài học và bài tập về nhà. Việc này đã chiếm hết thời gian rảnh của tôi. Nhân tiện, tôi đã tích cực quảng bá JavaRush. Là bài tập về nhà, tôi được giao một số cấp độ nhất định để hoàn thành trên trang web tuyệt vời này. Tất nhiên là lên đến cấp độ miễn phí thứ 10.
Nhưng tôi còn khuyên bạn nên mua một thuê bao. Bởi vì tôi nghĩ rằng Java Rush rất tốt để làm quen với các ví dụ. Nhưng lý thuyết cần được phát triển hơn nữa. Khóa học kéo dài bốn tháng đầu tiên này trải qua trong tình trạng căng thẳng liên tục. Nhưng! Tôi đã cải thiện đáng kể kiến ​​thức về Java của mình . Đã đổi xe. Tôi không còn sợ hãi những khán giả xa lạ: khi họ viết trong sách về hùng biện, tôi bắt đầu hứng thú trong giờ học, điều này không thể không nói đến quá trình chuẩn bị cho bài học đó. Đúng, đó là khoảng thời gian rất khó khăn khi tôi không có thời gian giao tiếp với bạn bè. Chà, tôi không nghĩ điều đó đáng nói đến việc thiếu vắng cuộc sống cá nhân. Tôi đã làm việc tại công ty lớn Kazan nói trên trong một năm một tháng. Mọi thứ đều ổn ở đó về mặt phát triển chuyên môn cho đến khi trưởng nhóm rời đi. Anh ấy đã hướng dẫn tôi và giao cho tôi nhiều nhiệm vụ thú vị, mặc dù tôi thường xuyên mắc lỗi. Với sự ra đi của ông, mối liên kết giữa ban quản lý, nhà phát triển và nhà phân tích đã bị mất đi. Nói tóm lại, sự hỗn loạn hoàn toàn đã bắt đầu trong dự án. Nhân tiện, chỉ khi kết thúc công việc của mình trong tổ chức này, tôi mới ngừng suy nghĩ về tính đúng đắn trong lựa chọn con đường phát triển của mình. Trước đó họ luôn đồng hành cùng tôi. Với nhận thức về từng khó khăn, chậm trễ trong việc giải quyết một vấn đề, một lỗi trong việc sửa một lỗi khác. Nó rất cấp bách.
Nhưng tôi nhớ rằng ngay từ đầu cuộc hành trình của mình, tôi đã quyết định chắc chắn rằng tôi sẽ đưa ra quyết định tiếp tục hay kết thúc con đường phát triển chỉ sau 5 năm. Mọi thứ diễn ra thực sự khó khăn với tôi. Tôi luôn cảm thấy mọi người xung quanh thông minh hơn tôi rất nhiều và tôi không thể nắm bắt mọi thứ nhanh như họ. Có lẽ không đáng để lên kế hoạch cho tất cả những điều này.

Thì hiện tại

Vào tháng 6 năm nay, tôi đã nhận được một công việc mà tôi vẫn làm cho đến ngày nay. Chúng tôi đang nghiên cứu một dịch vụ rất thú vị để sao lưu dữ liệu đám mây từ các dịch vụ như Google Disc, Dropbox, Office365 sang máy chủ Amazon . Tôi xin lưu ý rằng nếu không nghiên cứu kỹ chủ đề đa luồng để tiến hành bài học thì tôi đã không thể vượt qua cuộc phỏng vấn với tổ chức này, bởi vì các bài tập được giao cụ thể cho phần này. Tôi quyết định quay lại chuẩn bị cho OCA . Vào cuối mùa đông, tôi tìm thấy những nguyên liệu tuyệt vời cho việc này, nhưng không có thời gian chuẩn bị. Và như vậy, giữa đợt học thứ 2 và thứ 3, tôi có một tháng rảnh rỗi để chuẩn bị. Tất nhiên, tôi không có thời gian trước khi khóa học bắt đầu. Nhưng anh ấy vẫn đạt được mục tiêu của mình - anh ấy đã vượt qua kỳ thi Oracle 1z0-808 với 81% câu trả lời đúng và 65% đậu. Tất nhiên, tôi muốn 85% . Nhưng uống trước hơn một lít nước để “bộ não suy nghĩ tốt hơn” buộc tôi phải hoàn thành sớm hơn nửa tiếng mà không có cơ hội kiểm tra lại mọi thứ. Tuy nhiên, tôi vẫn tự hào về chứng nhận thành công này. Cuối tháng 1 năm 2017 tôi dự định đi thi OCP . Chứng nhận không có tác dụng nhiều nếu bạn nghĩ về nó. Đối với cá nhân tôi, đây là cơ hội để củng cố những điều cơ bản nhất. Bởi vì Đôi khi tôi cần phải trả lời những câu hỏi khó của học sinh. Tái bút Tôi đã là một nhà phát triển được gần 2,5 năm, nhưng tôi không coi mình là một lập trình viên như vậy. Tôi biết lượng thông tin khổng lồ mà tôi cần phải tự mình truyền đạt (thuật toán, DBMS , cấu trúc dữ liệu, công nghệ web, mẫu, giao diện người dùng, khung, v.v.). Và tôi muốn tiếp tục nghiên cứu Java Rush để phát triển chung, may mắn thay, số lượng đăng ký là không giới hạn. Không có kết thúc cho công việc! Và quan trọng nhất là tôi thích nó. Tôi muốn biết nhiều hơn, viết mã nhanh hơn và tốt hơn. Ước mơ của tôi là cuối cùng sẽ phát triển thành trưởng nhóm hoặc kiến ​​trúc sư. Nhưng còn rất nhiều việc phải làm trước đó! Tất cả những gì còn lại là quản lý thời gian của bạn một cách chính xác và ít trì hoãn hơn.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION