JavaRush /Blog Java /Random-VI /Nghỉ giải lao #55. 4 mẹo để tìm cộng đồng nhà phát triển ...

Nghỉ giải lao #55. 4 mẹo để tìm cộng đồng nhà phát triển 5 kỹ năng bất ngờ mà một lập trình viên mới bắt đầu cần phải thành thạo

Xuất bản trong nhóm

4 mẹo để tìm cộng đồng nhà phát triển

Nguồn: Honeypot Một trong những yếu tố giúp các nhà phát triển phát triển nghề nghiệp là cộng đồng mà họ thuộc về. Nếu bạn vẫn chưa tìm thấy của mình, đừng lo lắng! Trong bài viết này tôi sẽ cho bạn biết làm thế nào để làm điều này. Con người không có nghĩa là ở một mình. Chính nhờ khả năng hợp tác để đạt được mục tiêu chung mà nhân loại đã đạt được sự tiến bộ. Một ví dụ tuyệt vời về sự hợp tác như vậy là cộng đồng nhà phát triển. Không giống như một số ngành chuyên nghiệp khác, các nhà phát triển tương tác với nhau rất thường xuyên và phần lớn cuộc sống của họ bằng cách nào đó được kết nối với cộng đồng mà họ tạo ra xung quanh mình. Nếu bạn là nhà phát triển nhưng chưa tìm thấy cộng đồng của mình, đừng thất vọng. Bạn có thể tham gia cùng một trong số họ ở bất kỳ giai đoạn nào trong sự nghiệp của bạn.Nghỉ giải lao #55.  4 mẹo để tìm cộng đồng nhà phát triển  5 kỹ năng bất ngờ mà một lập trình viên mới bắt đầu cần phải thành thạo - 1

1. Tìm hiểu những gì bạn cần

Trước khi lao vào vực thẳm trực tuyến để tìm kiếm cộng đồng nhà phát triển của mình, bạn nên tìm hiểu chính xác những gì bạn cần và những gì bạn đang tìm kiếm. Mỗi giai đoạn trong sự nghiệp chuyên môn của một nhà phát triển đều có những sở thích và sự khác biệt riêng. Nếu đang học Java, bạn khó có thể tìm thấy thông tin mình đang tìm kiếm trong cộng đồng Python và ngược lại.

2. Tìm kiếm cộng đồng địa phương

Jessica, thành viên của nhóm lập trình Ember, sống ở Berlin. May mắn cho cô là thành phố mang đến nhiều cơ hội kết nối với các nhà phát triển địa phương khác. “Tôi đã có nhiều kinh nghiệm họp nhóm chuyên môn và là thành viên của Trường Công nghệ Mở trong một thời gian dài, giúp mọi người tìm hiểu thêm về công nghệ.” Cô gái đã tham gia các buổi hội thảo và nhóm đồng giáo dục và nhận thấy nó rất hữu ích cho người mới bắt đầu. “Tôi được các sinh viên khác hỗ trợ và nhận được sự hướng dẫn miễn phí. Có thể nói rằng nó mang lại cho tôi tinh thần trách nhiệm, giúp tôi đến nhóm họp thường xuyên và khuyến khích tôi tự học”. Để tìm cộng đồng địa phương của bạn, Jessica khuyên bạn nên tìm kiếm trên Google. Nếu bạn sống ở một thành phố lớn, bạn có thể sẽ không gặp khó khăn gì khi tìm kiếm các cộng đồng lập trình địa phương để tham gia. Tuy nhiên, có thể một số nhóm như vậy trên mạng xã hội đã không còn hoạt động hoặc đã lâu không đăng tin nhắn trong đó. Trong những tình huống này, đừng ngại hỏi trực tiếp xem có điều gì khác đang xảy ra trong cộng đồng không. Thể hiện sự quan tâm luôn được đánh giá cao.

3. Tìm cộng đồng trực tuyến

Có một số lợi ích khi gặp trực tiếp các nhà phát triển khác. Nhưng nếu khả năng tiếp cận cộng đồng địa phương của bạn bị hạn chế, bạn gần như chắc chắn sẽ tìm được giải pháp thay thế trực tuyến. Bạn có thể đã làm việc với nhiều khung hoặc công nghệ khác nhau có cộng đồng riêng trên Discord hoặc Slack. Điều này phù hợp cho cả việc hỗ trợ trong công việc và tìm kiếm nguồn cảm hứng cho các dự án, ý tưởng mới và thậm chí là tham gia vào các dự án mở.

Dưới đây là một số nơi để tìm thấy cộng đồng trực tuyến của bạn

dev.to . Nói theo cách riêng của họ, “ngành công nghiệp phần mềm phụ thuộc vào sự cộng tác và học tập qua mạng” và dev.to cung cấp không gian cho các nhà phát triển gặp gỡ và giúp đỡ lẫn nhau, có thể là các khía cạnh kỹ thuật của mã hóa, tư vấn nghề nghiệp hoặc hỗ trợ và động lực chung. #developers trên Slack . Bạn sẽ cần trả lời một số câu hỏi để có quyền truy cập vào kênh này, nhưng khi tham gia, bạn sẽ nhận được tất cả sự hỗ trợ và lời khuyên mà bạn cần :) Hashnode . Viết một bài viết về bất kỳ chủ đề lập trình nào bạn muốn và tương tác với cộng đồng rộng lớn hơn. Đây là một cách tuyệt vời để duy trì kết nối với các nhà phát triển khác. Phụ nữ viết mã . Đó là nơi hỗ trợ dành cho phụ nữ trong lĩnh vực công nghệ, nơi họ sẽ tìm thấy các tài nguyên lập trình và không gian mở để chia sẻ ý tưởng. Reddit . Có rất nhiều subreddits cho mọi lĩnh vực mã hóa; kiểm tra một số hoạt động tích cực nhất: r/programming , r/java , r/python , r/javascript , r/reactjs r/cscareerquestions . Vòng kết nối dành cho nhà phát triển trên Facebook . Mục tiêu chính ở đây là tạo ra các cộng đồng được tổ chức tại địa phương, nơi các nhà phát triển có thể “có được các công cụ miễn phí để phát triển các kỹ năng, ý tưởng mới và thăng tiến nghề nghiệp của họ”. Tìm cộng đồng của bạn trên Facebook, tất cả các cuộc thảo luận hiện đang trực tuyến.

4. Tìm cộng đồng nguồn mở

Việc tham gia vào cộng đồng nguồn mở có thể là một phần quan trọng trong quá trình phát triển nghề nghiệp của bạn. Trở thành thành viên tích cực của cộng đồng nguồn mở có nghĩa là không chỉ đóng góp mà còn tham dự các sự kiện và hội nghị, gặp gỡ những người khác, tìm kiếm người cố vấn và kết nối mạng. Ngoài các kỹ năng có được trong cộng đồng nguồn mở (cả kỹ thuật và phi kỹ thuật), việc tham gia vào cộng đồng này mang lại cảm giác thuộc về các lập trình viên ngoài công việc hàng ngày. Có một cảm giác độc đáo trong cộng đồng nguồn mở khi làm việc trên một điều gì đó lớn lao, và theo nhiều cách, công việc đó là một đóng góp có ý nghĩa. Bạn đang băn khoăn không biết bắt đầu từ đâu? Hãy suy nghĩ về những dự án nguồn mở mà bạn thích và bắt đầu từ đó - việc này có thể đơn giản như việc tìm và sửa lỗi đánh máy trong mã. Điều quan trọng là phải bắt đầu từ đâu đó.

Phần kết luận

Mức độ hỗ trợ và khuyến khích phát triển bản thân mà một nhà phát triển nhận được trong cộng đồng chuyên nghiệp là cực kỳ cao. May mắn thay, quyền truy cập vào cộng đồng nhà phát triển có ở khắp mọi nơi, cho dù đó là nhóm truyền thông xã hội địa phương hay tài nguyên trực tuyến lớn dành riêng cho ngôn ngữ lập trình. Điều chính là tìm thấy những gì phù hợp với bạn.

5 kỹ năng bất ngờ mà một lập trình viên mới bắt đầu cần phải thành thạo

Nguồn: Codeburst Con đường trở thành nhà phát triển tự học của tôi rất dài và khó khăn. Đôi khi, nhớ lại tất cả những trở ngại và thất vọng mà tôi đã gặp phải, tôi tự hỏi liệu có đáng để bắt đầu theo cách này hay không. Và bây giờ tôi có thể nói rằng nó đáng giá. Đối với những người như tôi, người bắt đầu từ đầu, con đường học tập rất dốc. Nhưng tôi tin tưởng rằng về lâu dài lợi ích sẽ lớn hơn nỗ lực cần có để chinh phục ngọn núi này. Tất nhiên, điều này chỉ áp dụng nếu bạn thích những gì mình đang học. Tôi đã mất vài năm để hiểu rằng một nhà phát triển giỏi phải có khả năng làm được nhiều việc hơn là chỉ viết mã nhanh chóng và dễ dàng. Nhiều người mới bắt đầu không nhận ra rằng việc đạt được các kỹ năng phát triển đòi hỏi nhiều thứ hơn là chỉ khả năng viết và chạy chương trình. Vì vậy, đây là năm kỹ năng nữa ngoài việc viết mã mà mọi nhà phát triển đầy tham vọng chắc chắn sẽ cần!Nghỉ giải lao #55.  4 mẹo để tìm cộng đồng nhà phát triển  5 kỹ năng bất ngờ mà một lập trình viên mới bắt đầu cần phải thành thạo - 2

1. Sử dụng các công cụ cộng tác

Nhiều nền tảng lập trình tự điều chỉnh phổ biến tập trung vào cú pháp ngôn ngữ và cấu trúc dữ liệu. Một số cho phép sinh viên tạo các dự án cơ bản từ đầu. Giả sử một trò chơi đơn giản hoặc ứng dụng danh sách nhiệm vụ. Những bài học này rất có giá trị để bắt đầu với các kỹ năng lập trình, nhưng chúng không mô phỏng môi trường làm việc thực tế mà bạn sẽ gặp trong tương lai. Các nhà phát triển làm việc cùng nhau trong các dự án lớn và đôi khi một nhà phát triển có thể làm việc trên nhiều cơ sở mã cùng một lúc. Làm việc nhóm thường liên quan đến việc sử dụng các công cụ như Bảng tính Google hoặc Invision. Các nhóm phát triển có bộ công cụ cộng tác tiêu chuẩn của riêng họ. Công ty của tôi, giống như hàng chục nghìn công ty khác ở Hoa Kỳ, sử dụng GitHub. Tôi sẽ không bao giờ quên ngày các đồng nghiệp giới thiệu tôi với GitHub. Đầu tiên họ bảo tôi mở terminal trên máy tính của mình (tôi không biết rằng mình có thứ tương tự trên máy tính của mình). Sau đó, các đồng nghiệp của tôi bắt đầu gõ một số từ vô nghĩa vào cửa sổ bí ẩn trên màn hình của tôi. Sự vô nghĩa này hóa ra lại có tác dụng kỳ diệu, chẳng hạn như lấp đầy một số thư mục trên máy tính của tôi với đủ loại tệp chứa đầy mã. Sau đó, họ nói về "cành cây" và "lông tơ", một thứ gì đó "xa xôi". Và có vẻ như tất cả các từ đều bắt đầu bằng tiền tố “git”. Tôi biết họ nói tiếng Anh, nhưng tôi không rõ nghĩa của những lời họ nói. Nếu bạn là người mới chưa từng lập trình với các nhà phát triển khác trước đây, bạn sẽ phải học ngôn ngữ và các công cụ cộng tác. Điều này có vẻ phức tạp, đặc biệt nếu bạn chưa từng mở Command Promt. Nhưng lâu dần nó sẽ trở thành thói quen.

2. Ghi nhật ký và xử lý lỗi

Giả sử bạn đã học cách cộng tác với các lập trình viên khác và mã của bạn được gửi đến sản xuất. Khi nội dung bạn viết được hàng nghìn, thậm chí hàng triệu người dùng sử dụng, đó là một cảm giác thực sự thú vị. Nhưng khi đến giai đoạn này, bạn sẽ học được một cách khó khăn rằng các lỗi không mong muốn trong mã luôn xảy ra. Ví dụ: biến bạn tạo chưa bao giờ nhận được giá trị. Bây giờ bạn đang gọi một phương thức có giá trị null và chương trình của bạn không biết phải làm gì với nó. Đã xảy ra lỗi và bây giờ người dùng không còn quyền truy cập vào trang tuyệt vời mà bạn đã tạo nữa. Khi bạn kiểm tra chương trình, mọi thứ có vẻ đúng nên bạn thậm chí có thể không nhận thấy vấn đề. Lỗi cụ thể này có thể chỉ xảy ra 5% thời gian, nhưng đối với 5% trong số 100 nghìn người dùng thì đó là lỗi đáng kể. Bạn cần học cách ghi nhật ký, xử lý và dự đoán lỗi trong mã của mình: đây là những kỹ năng thực sự cần thiết đối với một nhà phát triển. Đúng vậy, khả năng đoán trước vấn đề là bản năng phát triển theo thời gian và kinh nghiệm. Nhưng điều quan trọng đối với người mới bắt đầu là phải nhớ rằng lỗi gần như là một phần không thể thiếu trong quá trình phát triển. Biết cách bảo vệ mã của bạn bằng cách sử dụng các loại ghi nhật ký lỗi khác nhau có thể giúp bạn tránh khỏi nhiều vấn đề đau đầu trong tương lai, đặc biệt là khi bạn được giao nhiệm vụ gỡ lỗi. Nó cũng có thể giúp xác định những vấn đề mà bạn thậm chí không biết là mình gặp phải. Ngày nay, chúng ta có quyền truy cập vào nhiều công cụ ghi lỗi khác nhau giúp dễ dàng theo dõi các lỗ hổng trong cơ sở mã. Một trong những ứng dụng yêu thích của tôi là Sentry, cho phép bạn xem thời điểm xảy ra sự cố lần đầu tiên và tần suất xảy ra sự cố. Cũng đáng nói đến là Logentries, Rollbar và Instabug. Có các chương trình giám sát dữ liệu và sự cố trên toàn hệ thống, chẳng hạn như New Relic và Datadog. Bạn có thể sẽ gặp một số sự kết hợp của các chương trình này trong sự nghiệp phát triển của mình và bạn nên học cách sử dụng chúng.

3. Phạm vi kiểm tra

Như tôi đã nói trước đây, việc trau dồi kỹ năng lập trình của bạn không chỉ đơn thuần là viết mã. Bạn cần đảm bảo rằng mã của bạn dễ hiểu đối với các nhà phát triển khác và khi ai đó mở nó hai năm sau, người đó sẽ có thể nhanh chóng tiếp thu và bắt đầu thực hiện các thay đổi. Logic bạn viết phải dễ hiểu và có thể sử dụng lại trong nhiều năm tới. Nhưng đôi khi logic của bạn sẽ phức tạp và không thể đơn giản hóa được. Có lẽ do sự phức tạp của logic kinh doanh. Có lẽ do không có thời gian. Thực tế là thời hạn đôi khi sẽ buộc bạn phải đưa ra những quyết định kỹ thuật kém lý tưởng. Và không phải lúc nào bạn cũng có thể xác định rõ ràng tất cả các trường hợp sử dụng trước khi bắt đầu công việc. Một cách để giữ mã của bạn an toàn là viết các bài kiểm tra kèm theo các thay đổi. Hầu hết các ngôn ngữ lập trình đều có các gói thử nghiệm bổ sung mà bạn có thể cài đặt. Ví dụ: đối với Ruby chúng tôi sử dụng Rspec và đối với React chúng tôi thường sử dụng Jasmine. Có nhiều loại thử nghiệm khác nhau, bao gồm thử nghiệm đơn vị (để thử nghiệm các phần logic nhỏ) và thử nghiệm tích hợp (để thử nghiệm luồng từ đầu đến cuối). Rất thường xuyên, để mã của bạn được gửi đến cơ sở mã chung, nó phải vượt qua toàn bộ bộ thử nghiệm. Khi bạn tìm hiểu cách viết chúng, bạn sẽ thêm "sự an toàn" để ngăn những thay đổi trong tương lai vô tình ghi đè lên các chức năng bạn đã viết. Phạm vi kiểm thử cũng giúp xác định hành vi dự kiến ​​vì nhiều trường hợp kiểm thử được viết bằng tiếng Anh đơn giản. Tôi không thể nói cho bạn biết đã bao nhiêu lần tôi xem lại một số tập tin được viết cách đây vài năm, thực hiện một thay đổi và phát hiện ra rằng nó đã khiến hàng tá thử nghiệm thất bại, mặc dù tôi nghĩ rằng mình đã hiểu rõ về hành vi dự kiến. . Có lần tôi thậm chí còn phá vỡ một chức năng mà tôi đã tự viết cách đây vài tháng. May mắn thay, bài kiểm tra đơn vị của tôi ngay lập tức tiết lộ điều này. Xem qua các yêu cầu kéo, tôi nhận thấy rằng các nhà phát triển thường không chú ý đầy đủ đến phạm vi kiểm tra và điều này áp dụng cho cả những thay đổi đơn giản và phức tạp. Tôi cũng có lỗi về điều này, đặc biệt là khi thời hạn quá gấp rút. Nhưng tôi có thể nghĩ đến một số dự án mà việc thực hiện thay đổi ở một chỗ sẽ dẫn đến sự cố ở bốn chỗ khác. Điều này làm tăng mức độ căng thẳng của chúng tôi và khiến chúng tôi phải làm thêm nhiều việc hơn, mặc dù chúng tôi đang phải gấp rút hoàn thành đúng thời hạn. Những tình huống như vậy có thể tránh được nếu chúng tôi dành thời gian viết bài kiểm tra đơn vị đúng thời hạn. Học cách viết chúng có thể là một công việc tẻ nhạt, đặc biệt đối với một nhà phát triển mới và việc viết chúng chắc chắn sẽ làm chậm quá trình phát triển tổng thể. Nhưng bạn bắt đầu viết bài kiểm thử càng sớm thì bạn và nhóm của bạn càng ít phải đau đầu trong tương lai.

4. Đánh giá mã

Điểm này liên quan đến điểm đầu tiên - về việc cùng nhau làm việc trên cơ sở mã. Thông thường quá trình thực hiện các thay đổi đối với cơ sở mã sẽ trông như thế này. Bạn đang viết một số mã cục bộ. Để đẩy nó đến nhánh chính của cơ sở mã, bạn tạo một yêu cầu kéo (bản tóm tắt trực quan về các thay đổi của bạn) và các nhà phát triển khác trong nhóm của bạn sẽ xem xét mã của bạn trước khi bắt đầu hợp nhất. Các nhóm khác nhau có các yêu cầu khác nhau để phê duyệt yêu cầu kéo, nhưng nói chung, bạn nên mong đợi rằng những thay đổi của bạn chắc chắn sẽ được ai đó xem xét và thực hiện. Điều đáng chú ý là bạn sẽ không chỉ gửi mã của mình để xem xét mà còn xem xét mã của người khác. Học cách đọc mã của người khác là một kỹ năng quan trọng đối với nhà phát triển và cần được phát triển trong suốt sự nghiệp của bạn. Khi tôi mới bắt đầu và được yêu cầu xem xét các yêu cầu kéo của người khác, tôi hoàn toàn không hiểu phải tìm gì. Lúc đầu tôi nghĩ rằng mình nên tìm lỗi. Một vài năm đã trôi qua và giờ đây tôi coi việc đánh giá mã giống như một cuộc kiểm tra tính đúng đắn hơn là một cuộc điều tra kỹ lưỡng. Cuối cùng, chính nhà phát triển đã gửi yêu cầu kéo là người chịu trách nhiệm xem xét mã của họ, thêm các thử nghiệm cần thiết và đóng góp mã này một cách an toàn vào cơ sở dữ liệu chung. Công việc của người đánh giá không phải là xác định các vấn đề tiềm ẩn. Ngày nay, khi tôi xem lại mã, tôi kiểm tra khả năng đọc (ví dụ: các tên biến và phương thức này có mang tính mô tả không), tổ chức và cấu trúc (liệu mã có thể được tổ chức tốt hơn để người nhìn thấy nó lần đầu tiên thấy rõ hơn không) . Tất nhiên, bạn càng làm quen với cơ sở mã thì bạn càng dễ dàng xác định các vấn đề tiềm ẩn. Nhưng bạn có thể bắt đầu học các kỹ năng đánh giá mã ngay cả khi mới bắt đầu. Trong số những điều khác, đây cũng là một cách hay để làm quen với các mẫu mã mà các đồng nghiệp giàu kinh nghiệm hơn của bạn sử dụng.

5. Tìm kiếm Google phù hợp

Không có nhà phát triển nào biết mọi thứ về lập trình, ngôn ngữ lập trình hay thậm chí là cơ sở mã của họ. Trước đây, tôi chắc chắn rằng tất cả mọi người ngoại trừ tôi đều có thể hiểu ngay những phương pháp, truy vấn và chiến lược nào nên được sử dụng trong trường hợp này hoặc trường hợp kia. Nhưng càng kết hợp với nhiều người, tôi càng nhận ra tần suất các nhà phát triển tìm kiếm trên Google để tìm câu trả lời cho câu hỏi của họ. Ngay cả những người có kinh nghiệm! Có quá nhiều chi tiết trong công việc của chúng ta cần phải ghi nhớ. Tôi nhanh chóng nhận ra rằng điều tôi yêu cầu không phải là thuộc lòng mọi thứ mà là học cách tìm kiếm câu trả lời một cách chính xác. Stackoverflow sẽ trở thành người bạn tốt nhất của bạn. Rất có thể, nếu bạn mắc kẹt ở điều gì đó thì người khác cũng đã từng mắc kẹt ở điều đó trước đó. Khi cần giải quyết vấn đề, hãy cố gắng tìm ra chính xác điều gì đang xảy ra, mô tả nó bằng từ ngữ và nhập những từ đó vào công cụ tìm kiếm. Có khả năng trình bày rõ ràng những vấn đề bạn gặp phải sẽ giúp ích nhiều hơn là chỉ ghi nhớ.

Phần kết luận

Sớm hay muộn trong hành trình phát triển phần mềm của mình, bạn chắc chắn sẽ gặp phải sự thất vọng. Không có lối thoát khỏi điều này. Nhưng bạn càng sử dụng nhiều các công cụ và chiến lược được thiết kế để giảm bớt những nỗi thất vọng này thì sự nghiệp của bạn sẽ càng có giá trị hơn. Hãy theo đuổi lộ trình và đừng bỏ cuộc.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION