Lời nhắn gửi tới lập trình viên tương lai

Vì vậy, bạn quyết định trở thành một lập trình viên.

Có lẽ bạn quan tâm đến việc tạo ra một cái gì đó mới.

Có lẽ mức lương lớn đang thu hút bạn.

Có lẽ bạn chỉ muốn thay đổi lĩnh vực hoạt động của mình.

Không phải vấn đề.

Điều quan trọng là bạn quyết định trở thành lập trình viên.

Làm gì bây giờ?

Lời nhắn gửi tới lập trình viên tương lai

Và có một số cách tiếp cận.

Đầu tiên: đến trường đại học chuyên ngành CNTT và nhận được giáo dục chuyên ngành. Phương pháp tầm thường nhất, tương đối đáng tin cậy, cực kỳ dài, cơ bản nhất. Sẽ hiệu quả nếu bạn vẫn đang học xong hoặc bạn có đủ phương tiện để tự nuôi sống bản thân từ một rưỡi (tốt nhất là nếu bạn nắm bắt mọi thứ nhanh chóng và có thể bắt đầu làm việc vào năm thứ 2) đến bốn (nếu kết hợp công việc và học tập không phải là điểm mạnh của bạn) năm.

Điều quan trọng cần biết ở đây là gì?

  • Cần phải chọn đúng trường đại học. Xem chương trình đào tạo, xếp hạng. Một chỉ số tốt là các cuộc thi từ trường đại học. Nếu các đội của trường đại học ít nhất định kỳ lọt vào top XNUMX tại các kỳ thi Olympic lập trình tương đối lớn, thì việc viết mã ở trường đại học sẽ không phải là một điều thô sơ (mặc dù thực tế là cá nhân bạn có thể không quan tâm đến các kỳ thi Olympic). Chà, nói chung, các quy tắc thông thường: không chắc chi nhánh Bratsk của Đại học bang Baikal sẽ giúp bạn trở thành một người đầy đủ sức mạnh.
    Ví dụ về các trường đại học tốt: Đại học bang Moscow/Đại học bang St. Petersburg (rõ ràng), Baumanka (Moscow), ITMO (St. Petersburg), NSU (Novosibirsk). Bất chấp tất cả sự nổi bật của họ, bạn hoàn toàn có thể nhận được chúng với ngân sách phù hợp nếu bạn không nhắm đến các bộ phận hàng đầu.
  • Không chỉ là một trường đại học. Mặc dù thực tế là bạn sẽ được đào tạo toàn diện về mọi thứ nhưng điều này vẫn chưa đủ. Do tình trạng quan liêu, chương trình đào tạo hầu như sẽ luôn tụt hậu so với xu hướng hiện đại. Tốt nhất - trong một hoặc hai năm. Tệ nhất - trong 5-10 năm. Bạn sẽ phải tự mình tạo nên sự khác biệt. Chà, điều hiển nhiên là: nếu bạn nghiên cứu tài liệu cùng với những sinh viên khác, thì mỗi người trong số họ sẽ là đối thủ cạnh tranh ngang nhau của bạn. Nếu bạn tùy ý đi trước, bạn sẽ trông đẹp hơn nhiều trên thị trường.
  • Hãy tìm việc làm càng sớm càng tốt. Tôi bắt đầu làm việc vào năm thứ hai. Khi kết thúc đại học, tôi đã là một nhà phát triển cấp trung chứ không phải là một sinh viên khiêm tốn không có kinh nghiệm. Tôi nghĩ rõ ràng là sau khi tốt nghiệp đại học, kiếm được 100k dễ chịu hơn kiếm được 30k. Làm thế nào để đạt được điều này? Đầu tiên, xem điểm A và B. Thứ hai, đi đến các cuộc gặp gỡ, lễ hội, hội nghị, hội chợ việc làm. Theo dõi thị trường và cố gắng kiếm được một công việc với tư cách là sinh viên/thực tập sinh bán thời gian ở bất kỳ công ty nào mà bạn ít nhất phù hợp. Đừng sợ những hội nghị trả phí: họ thường đưa ra những mức giảm giá rất hấp dẫn cho sinh viên.

Nếu bạn làm theo tất cả những điểm này, thì đến khi nhận bằng tốt nghiệp, bạn có thể trở thành một chuyên gia cực kỳ giỏi với kinh nghiệm làm việc và kiến ​​thức cơ bản phong phú, điều mà những người tự học thường bỏ qua do tính chất không áp dụng được. Chà, lớp vỏ có thể giúp ích nếu bạn đi ra nước ngoài: họ nhìn vào món này khá thường xuyên ở đó.

Nếu bạn không tuân thủ... Chà, bạn có thể đạt được điểm bằng cách làm theo quy trình, sao chép và chuẩn bị cho kỳ thi qua đêm. Nhưng bạn nghĩ mình sẽ có khả năng cạnh tranh như thế nào? Tất nhiên, tôi không nói rằng bạn cần đạt điểm A ở mọi thứ. Bạn chỉ cần trau dồi kiến ​​thức. Sử dụng suy nghĩ thông thường. Hãy nghiên cứu những gì thú vị và hữu ích, đừng quan tâm đến điểm số.

Lời nhắn gửi tới lập trình viên tương lai

Điều quan trọng không phải là những gì họ đang cố gắng truyền tải vào bạn. Điều quan trọng là điều gì thú vị và phù hợp

-

Hơn nữa, cách thứ hai: khóa học lập trình. Internet hoàn toàn tràn ngập những lời đề nghị giúp bạn trở thành học sinh cuối cấp chỉ sau 3 tháng học. Chỉ cần một danh mục đầu tư, họ thậm chí sẽ giúp bạn tìm được việc làm. Chỉ 10k một tháng thôi.
Có lẽ điều này sẽ hiệu quả với một số người, nhưng hoàn toàn là IMHO: điều này hoàn toàn nhảm nhí. Đừng lãng phí thời gian và tiền bạc của bạn. Và đó là lý do tại sao:

Một người ở xa CNTT sẽ không thể hiểu được đặc thù của nghề trong 3 tháng. Không đời nào cả. Có quá nhiều thông tin cần tiếp thu, quá nhiều thứ cần hiểu và hơn thế nữa, có quá nhiều thứ để làm quen.

Thế thì họ sẽ bán gì cho bạn? Họ sẽ bán cho bạn một “kỹ năng cơ khí”. Không cần đi sâu vào chi tiết, họ sẽ chỉ cho bạn những gì bạn cần viết để có được kết quả chính xác này. Với hướng dẫn chi tiết và sự giúp đỡ của giáo viên, bạn sẽ viết một số loại ứng dụng. Một, tối đa hai. Đây là danh mục đầu tư. Và sự trợ giúp trong việc tìm việc làm là gửi các vị trí tuyển dụng cho cấp dưới từ các công ty lớn, nơi bạn khó có thể nhận được một cuộc phỏng vấn.

Tại sao cái này rất? Rất đơn giản: điều rất quan trọng đối với một lập trình viên là phải suy nghĩ một cách trừu tượng. Một lập trình viên giải quyết các vấn đề có thể được giải quyết bằng hàng tỷ cách khả thi. Và nhiệm vụ chính là chọn một cái đúng nhất trong số hàng tỷ cái và thực hiện nó. Việc tạo một hoặc hai dự án theo hướng dẫn sẽ cung cấp cho bạn một số kiến ​​thức về ngôn ngữ lập trình nhưng sẽ không dạy bạn cách giải quyết các vấn đề trừu tượng. Để rút ra một sự tương tự: hãy tưởng tượng rằng họ hứa sẽ dạy bạn định hướng, đưa bạn đi dọc theo một vài tuyến đường đi bộ đơn giản và sau đó nói rằng bạn đã sẵn sàng chinh phục rừng taiga một mình vào mùa đông. Chà, sao cơ, bạn được dạy cách sử dụng la bàn và đốt lửa mà không cần diêm.

Tóm lại: đừng tin những người hứa sẽ “cuốn” bạn trong thời gian ngắn. Nếu điều này có thể xảy ra thì mọi người đã trở thành lập trình viên từ lâu rồi.

Lời nhắn gửi tới lập trình viên tương lai

Bên trái: Những gì bạn sẽ được dạy. Đúng: Bạn sẽ được yêu cầu điều gì ở nơi làm việc?

-

Cách thứ ba - con đường được đa số lựa chọn. Tự học.

Cách khó khăn nhất nhưng có lẽ là cách cao quý nhất. Chúng ta hãy xem xét nó chi tiết hơn.

Vì vậy, bạn quyết định trở thành một lập trình viên. Bắt đầu từ đâu?

Trước hết, bạn cần trả lời cho mình câu hỏi: tại sao bạn lại muốn điều này? Nếu câu trả lời là “Ồ, tất nhiên là nó không đặc biệt thú vị, nhưng họ phải trả rất nhiều tiền”, sau đó bạn có thể dừng lại ở đó. Đây không phải là nơi dành cho bạn. Ngay cả khi ý chí của bạn có đủ để sàng lọc hàng đống thông tin, viết hàng nghìn dòng mã, chịu đựng hàng trăm thất bại mà vẫn kiếm được việc làm, thì kết quả là nếu không có tình yêu với nghề, điều này sẽ chỉ dẫn đến kiệt sức về mặt cảm xúc. Lập trình đòi hỏi một nỗ lực trí tuệ rất lớn và nếu những nỗ lực này không được thúc đẩy bởi sự đáp lại cảm xúc dưới hình thức hài lòng với một vấn đề đã được giải quyết, thì sớm hay muộn bộ não sẽ phát điên và tước đi khả năng giải quyết bất cứ điều gì của bạn. . Không phải là kịch bản dễ chịu nhất.

Nếu bạn chắc chắn rằng bạn quan tâm đến điều này, thì bạn có thể quyết định chi tiết cụ thể - chính xác bạn muốn làm gì. Nếu bạn không biết các lập trình viên có thể khác nhau như thế nào, Google có thể giúp bạn.

Tôi sẽ viết ngay lời khuyên đầu tiên để bạn không quên: hãy học tiếng Anh. Tiếng Anh là cần thiết. Bạn không thể đi bất cứ đâu mà không có tiếng Anh. Không đời nào. Không có tiếng Anh bạn không thể trở thành một lập trình viên bình thường. Đó là nó.

Tiếp theo, nên vạch ra một lộ trình: một kế hoạch mà bạn sẽ phát triển theo đó. Nghiên cứu chi tiết cụ thể, xem xét các vị trí tuyển dụng trong chuyên ngành của bạn, tìm hiểu sơ qua loại công nghệ nào được sử dụng ở đó.

Lộ trình ví dụ cho một lập trình viên phụ trợ (tất nhiên không phải dành cho tất cả mọi người, đây chỉ là một trong những lựa chọn khả thi):

  1. Cơ bản về html/css.
  2. Trăn. Cơ bản.
  3. Lập trình mạng. Tương tác giữa python và web.
  4. Các khuôn khổ để phát triển Django, bình. (lưu ý: để hiểu chúng là loại "django" và "bình" nào, bạn cần xem các vị trí tuyển dụng và đọc những gì được yêu cầu ở đó)
  5. Nghiên cứu chuyên sâu về trăn.
  6. cơ bản về j.

rất, Tôi lặp lại, rất một kế hoạch sơ bộ, bản thân mỗi điểm đều rất lớn và nhiều chủ đề không được đưa vào (ví dụ: kiểm tra mã). Nhưng đây ít nhất là một kiểu hệ thống hóa kiến ​​\uXNUMXb\uXNUMXbthức nào đó sẽ cho phép bạn không bị nhầm lẫn về những gì bạn biết và những gì bạn không biết. Khi chúng tôi nghiên cứu, chúng tôi sẽ thấy rõ hơn những gì còn thiếu và lộ trình này sẽ được bổ sung.

Tiếp theo: tìm tài liệu bạn sẽ sử dụng để học. Các tùy chọn chính có thể:

  • Các khóa học trực tuyến. Không phải những khóa học “tháng 3 trong XNUMX ngày”, mà là những khóa học dạy một điều cụ thể. Thường thì những khóa học này là miễn phí. Ví dụ về các trang web có khóa học thông thường: thảo nguyên, coursera.
  • Sách giáo khoa trực tuyến. Có phần mềm miễn phí, phần mềm chia sẻ, trả phí. Bạn sẽ tự mình tìm ra nơi nào nên trả tiền và nơi nào không. Ví dụ: học viện html, tìm hiểu.javascript.ru, sách django.
  • Sách. Có rất nhiều, rất nhiều trong số họ. Nếu bạn không thể lựa chọn, hãy có ba lời khuyên: hãy cố gắng đọc những cuốn sách mới, bởi vì... thông tin trở nên lỗi thời rất nhanh; Nhà xuất bản O'Reilly có chất lượng khá cao và trình bày bình thường; Nếu có thể, hãy đọc bằng tiếng Anh.
  • Cuộc gặp gỡ/hội nghị/bài giảng. Không quá hữu ích về mặt thông tin phong phú nhưng cực kỳ hữu ích về cơ hội giao tiếp với đồng nghiệp, đặt câu hỏi liên quan và làm quen với những người mới. Thậm chí có thể tìm được một chỗ trống.
  • Google. Nhiều người đánh giá thấp, nhưng khả năng tìm ra câu trả lời cho một số câu hỏi là rất quan trọng. Hãy thoải mái tra Google những điều bạn không hiểu. Ngay cả những người cao niên dày dạn kinh nghiệm cũng làm điều này. Khả năng tìm kiếm nhanh chóng thông tin về điều gì đó về cơ bản cũng giống như việc biết thông tin đó.

Được rồi, chúng ta đã quyết định về nguồn thông tin. Làm thế nào để làm việc với họ?

  1. Đọc/nghe kỹ. Đừng đọc khi bạn mệt mỏi. Đi sâu vào ý nghĩa, đừng bỏ qua những điểm tưởng chừng như hiển nhiên. Thường thì quá trình chuyển đổi từ điều hiển nhiên sang điều khó hiểu diễn ra khá nhanh chóng. Hãy quay lại và đọc lại.
  2. Ghi chép. Thứ nhất, bạn sẽ dễ hiểu ghi chú của mình hơn khi có nhiều thông tin. Thứ hai, bằng cách này, thông tin được tiếp thu tốt hơn.
  3. Thực hiện tất cả các nhiệm vụ mà nguồn gợi ý cho bạn. Mặc dù không, nhưng không phải như thế. LÀM Tất cả nhiệm vụ mà nguồn cung cấp cho bạn. Ngay cả những điều tưởng chừng như đơn giản. Đặc biệt là những thứ có vẻ quá phức tạp. Nếu bạn gặp khó khăn, hãy yêu cầu trợ giúp ngăn xếp chồng lên nhau, ít nhất là thông qua Google dịch. Các bài tập được viết đều có lý do, chúng cần thiết để tiếp thu chính xác tài liệu.
  4. Hãy tự mình nghĩ ra các nhiệm vụ và thực hiện chúng. Tốt nhất nên thực hành nhiều hơn lý thuyết. Bạn bảo quản tài liệu càng chặt thì khả năng bạn sẽ không quên nó trong một tháng càng cao.
  5. Tùy chọn: tự tạo các câu đố khi đọc. Viết ra những câu hỏi khó ở một nguồn riêng, sau một tuần hoặc một tháng, hãy đọc và cố gắng trả lời. Nếu nó không hoạt động, hãy thử lại.

Và chúng tôi lặp lại 5 điểm này cho từng công nghệ được nghiên cứu. Chỉ bằng cách này (với việc nghiên cứu kỹ lưỡng về lý thuyết và thực hành dày đặc), bạn mới phát triển được nền tảng kiến ​​​​thức chất lượng cao để có thể trở thành một chuyên gia.

Và dường như mọi thứ đều đơn giản: chúng ta học từng công nghệ một, hiểu Zen và đi làm. Sự việc là vậy nhưng không phải vậy.

Hầu hết những người học lập trình đều làm như sau:

Lời nhắn gửi tới lập trình viên tương lai

bức ảnh thực sự bị đánh cắp do đó

Và ở đây bạn cần xem xét từng bước chi tiết hơn:

Bắt đầu: Bạn không có kiến ​​thức. Điểm khởi hành. Vẫn chưa có gì rõ ràng, nhưng có lẽ nó cực kỳ thú vị. Con đường bắt đầu lên dốc nhưng nhẹ nhàng. Bạn sẽ sớm leo lên

Đỉnh cao của sự điên rồ: “Hoan hô, bạn đã hoàn thành vài khóa học đầu tiên của mình! Mọi việc đều ổn!” Ở giai đoạn này, sự hưng phấn từ những thành công đầu tiên làm lóa mắt. Có vẻ như thành công đã đến rất gần, mặc dù thực tế là bạn vẫn đang ở giai đoạn đầu của cuộc hành trình. Và trong khi phấn đấu để đạt được thành công này, bạn có thể không nhận thấy việc rơi xuống hố nhanh chóng của mình sẽ bắt đầu như thế nào. Và tên của hố này:

Thung lũng tuyệt vọng: Vậy là bạn đã hoàn thành các khóa học cơ bản, đọc một số cuốn sách và quyết định bắt đầu viết thứ gì đó của riêng mình. Và đột nhiên không hoạt động. Dường như cái gì cũng biết nhưng kết hợp thế nào cho hiệu quả thì chưa rõ. "Tôi không biết bất cứ điều gì", “Tôi sẽ không thành công”. Ở giai đoạn này nhiều người bỏ cuộc. Trên thực tế, kiến ​​thức thực sự tồn tại và nó không hề bốc hơi đi đâu cả. Yêu cầu rõ ràng và hỗ trợ đơn giản biến mất. Chương trình thực sự bắt đầu. Khi bạn phải di chuyển trong một không gian có mục tiêu nhưng không có giai đoạn trung gian, nhiều người sẽ rơi vào trạng thái sững sờ. Nhưng trên thực tế, đây chỉ là một giai đoạn học tập khác - ngay cả khi mười lần đầu tiên, mọi thứ đều trở nên xấu xí bằng cách nào đó, với nỗ lực to lớn. Điều quan trọng là hoàn thành vấn đề nhiều lần, ít nhất bằng cách nào đó. Lần thứ mười một mọi chuyện sẽ dễ dàng hơn. Vào ngày thứ năm mươi, một giải pháp sẽ xuất hiện mà bạn có vẻ hài lòng. Vào ngày thứ một trăm nó sẽ không còn đáng sợ nữa. Và rồi nó sẽ đến

Độ giác ngộ: Ở giai đoạn này, ranh giới giữa kiến ​​thức và sự thiếu hiểu biết của bạn hiện rõ ràng. Sự thiếu hiểu biết không còn đáng sợ nữa; có sự hiểu biết về cách vượt qua nó. Việc điều động trong không gian sẽ trở nên dễ dàng hơn mà không cần phải đưa ra quyết định. Đây đã là vạch đích rồi. Với tư cách là một chuyên gia, đã nhận ra những gì mình còn thiếu, bạn sẽ hoàn thiện và củng cố những gì cần thiết và bước vào sân với một tâm hồn bình tĩnh.

Cao nguyên ổn định: Chúc mừng. Đây là vạch đích. Bạn là một chuyên gia. Bạn có thể làm việc, bạn sẽ không bị lạc lối khi phải đối mặt với những công nghệ xa lạ. Hầu như mọi vấn đề đều có thể khắc phục được nếu bạn nỗ lực đủ. Và mặc dù đây là vạch đích nhưng nó chỉ là khởi đầu của một hành trình còn lớn hơn nữa.

Con đường của lập trình viên.

Chúc may mắn với điều này!

Văn học để đọc tùy chọn:
Về việc trở thành lập trình viên và hiệu ứng Dunning-Kruger: .
Cách khó để trở thành lập trình viên trong 9 tháng (không phù hợp với tất cả mọi người): .
Danh sách các dự án mà bạn có thể thực hiện độc lập trong quá trình học: .
Thêm một chút động lực: .

Nguồn: www.habr.com

Thêm một lời nhận xét