Điều gì tạo nên một lập trình viên lý tưởng, trong suy nghĩ của bạn? Đó có phải là một chiếc máy tính đã viết mã từ khi chúng mới 7 tuổi và tạo ra những ứng dụng hàng triệu đô la không? Đó có phải là một nhà phát triển có kinh nghiệm với 10 hoặc 20 năm trong biz, người biết mọi ngôn ngữ (tất nhiên là chỉ những ngôn ngữ giỏi) và có thể xây dựng một trang web trong thời gian bạn phải lấy một tách cà phê khác? Có phải là một nghệ sĩ viết mã có thể viết mã đẹp đến mức khiến mọi người đồng loạt phát khóc vì sợ hãi và nghiến răng ghen tị không?
Ờ, có thể không? Chà, tất cả những lập trình viên mơ ước đó nghe khá hay. Nhưng bạn có tin tôi không khi tôi nói rằng có kỹ năng lập trình điên rồ không phải là tất cả? Và lập trình tốt chỉ chiếm một nửa số người lập trình giỏi?
Bây giờ rõ ràng bạn không thể là một lập trình viên giỏi nếu bạn không biết cách viết mã. Nhưng tôi cảm thấy đôi khi các khía cạnh khác, phi máy tính của việc trở thành một lập trình viên lại bị bỏ qua một chút. Có rất nhiều điều về việc trở thành một nhà phát triển chuyên nghiệp hoàn toàn không liên quan đến việc viết mã và mọi thứ liên quan đến việc trở thành một nhà phát triển chuyên nghiệp. Các chuyên gia thực sự là những người hoàn thành công việc đúng thời hạn, biết cách trở thành một cầu thủ của đội (không chỉ là người hùng xuất hiện và cứu rỗi cả ngày) và cuối cùng là tài sản đối với chủ nhân hoặc khách hàng của họ.
Vậy thì dấu hiệu của việc trở thành một nhà phát triển giỏi là gì? Dưới đây là một vài điều mà tôi đã thu thập - Tôi chắc chắn rằng còn nhiều nữa.
1. Viết mã sạch.
Vâng, điều này thực sự là về mã hóa. Tôi đã nói mã hóa là một phần của nó, phải không? 🙂 Về cốt lõi, mã tốt trước hết hoạt động, có thể hiểu được đối với các nhà phát triển khác và có thể được cấu trúc lại mà không gây ra quá nhiều đau khổ. Mã giao tiếp với máy tính, nhưng cũng được cho là giao tiếp với con người. Tôi không thể cho bạn biết bao nhiêu lần tôi đã phải quay lại mã cũ của vài tháng và dành quá nhiều thời gian chỉ để nhớ lại những gì trong quá khứ mà tôi đã nghĩ. Các chức năng, nhận xét và tài liệu được tổ chức tốt và được tổ chức tốt sẽ hoàn vốn gấp mười lần trong khoảng thời gian mà nó sẽ tiết kiệm cho những người khác (bao gồm cả bạn!) Trong tương lai.
Thông tin thêm về cách viết mã tốt (liên kết không liên kết, đừng lo lắng!):
Mã sạch
Lập trình viên thực dụng
Tái cấu trúc:Cải thiện thiết kế của mã hiện tại
2. Luôn cập nhật các xu hướng.
Tất cả chúng ta đều biết xu hướng phát triển web ngày càng thay đổi nhanh chóng như thế nào. Tôi không nói rằng bạn cần phải là một lập trình viên chim ác là và theo đuổi tính năng mới nhất mới nhất. Nhưng ở đầu bên kia của quang phổ, nếu bạn trở nên thoải mái và sau đó tự mãn, bạn sẽ trở thành một lập trình viên khủng long, điều này còn tồi tệ hơn nhiều. Có một phương tiện hữu ích, nơi bạn nỗ lực để đạt được thành thạo một số kỹ năng cốt lõi, nhưng ít nhất phải nắm rõ các xu hướng và tin tức khác đang diễn ra.
Dưới đây là một số ấn phẩm có thể giúp bạn đi đầu trong ngành luôn thay đổi của chúng tôi. Vui lòng tham gia và bình luận với bất kỳ bài viết nào khác mà bạn thấy hữu ích.
Hacker News
A List Apart
Smashing Magazine
CSS Tricks
3. Hãy cởi mở với những điều mới và học chúng một cách nhanh chóng.
Nếu bạn vẫn đang trong giai đoạn bắt đầu học viết mã, đừng quá khắt khe với bản thân. Tôi không gợi ý rằng bạn sẽ có thể thành thạo Angular trong một tuần. Nhưng hãy cởi mở với khả năng rằng đối với bất kỳ vấn đề nhất định nào, giải pháp có thể là thứ mà bạn chưa biết. Và "chưa" là một sự khác biệt quan trọng. Vì điều đó mà bạn không biết? Đó chỉ đơn giản là thứ mà bạn có thể học cách thực hiện và thêm nó vào bộ công cụ của mình.
Điều quan trọng là cố gắng học những điều mới càng nhanh và hiệu quả càng tốt. Bởi vì bạn chọn một thứ gì đó càng nhanh thì bạn càng có nhiều thời gian để viết mã và học những thứ mới khác. Học các kỹ năng viết mã tự nó là một kỹ năng mà bạn có thể học.
4. Tập trung và làm việc hiệu quả.
Tất cả chúng ta đều biết rằng con người không thể làm được đa nhiệm, vì bộ não của chúng ta hoạt động với một sợi duy nhất. Những gì chúng ta có thể làm là chuyển từ nhiệm vụ này sang nhiệm vụ khác, nhưng nó không hiệu quả lắm và thực sự là không lý tưởng. Tuy nhiên, tùy thuộc vào công việc hoặc hoàn cảnh của bạn, sự gián đoạn có thể chỉ là một phần của cuộc sống hàng ngày đối với bạn. Điều đó càng làm cho việc tận dụng tốt nhất khoảng thời gian hữu hạn mà bạn có để viết mã.
Cố gắng tách biệt thời gian làm việc và không làm việc càng nhiều càng tốt và đừng để chúng tràn vào nhau quá nhiều. Ví dụ, liên tục lướt Facebook vài phút một lần sẽ làm giảm năng suất của bạn. Khi bạn làm việc, bạn có thể giúp tập trung bằng cách đóng bất kỳ tab trình duyệt nào khác và cố gắng làm việc ổn định cho đến khi đạt điểm chuẩn hợp lý. Sử dụng bộ đếm thời gian pomodoro hoạt động liên tục trong 25 phút hoặc lâu hơn cũng có thể giúp bạn tập trung vào nhiệm vụ duy nhất trước mắt.
Đọc thêm:
Deep Work của Cal Newport
5. Ước tính chính xác thời gian cần thiết để hoàn thành nhiệm vụ.
Đây là một khó khăn, và phải thừa nhận rằng bản thân tôi vẫn đang nỗ lực để hoàn thiện hơn. Nhưng có thể đánh giá chính xác khả năng của bạn theo giờ là một kỹ năng rất có giá trị. Cho dù bạn đang làm việc cho một công ty hay cho chính mình, một ước tính sai sẽ làm rối tung tiến trình của các dự án và tạo ra công việc cho những người khác xung quanh bạn. Tệ nhất, đánh giá quá thấp thời gian hoàn thành một dự án sẽ khiến bạn hoặc người sử dụng lao động mất tiền.
Một lưu ý nhanh về điều này:không phải lúc nào bạn cũng có thể xác định chính xác thời gian cho X số giờ, được thiết lập hoàn hảo. Thông thường, bạn có thể đưa ra một phạm vi hoặc thậm chí có thể nói rằng bạn không thể đưa ra ước tính thực tế vì bạn cần thêm thông tin về các thông số của dự án. Một cách để bạn có thể bắt đầu ước tính mất bao lâu để hoàn thành một dự án là theo dõi thời gian của bạn khi viết mã. (Điều này cũng đi đôi với # 4, bởi vì ước tính của bạn sẽ tốt hơn khi bạn không duyệt Reddit trong nửa thời gian)
6. Có thể giải thích các khái niệm về công nghệ cho những người không am hiểu về công nghệ.
Vâng, thật khó chịu phải không? Khi bạn vui vẻ lướt qua các khối mã và phương pháp, rồi bạn phải bước vào thế giới thực và giải thích tất cả cho những người không phải là lập trình viên? Tại sao họ không thể chỉ nhìn vào mã nguồn của bạn và lấy nó?
Lập trình viên theo khuôn mẫu là một kẻ cô độc, không muốn gì hơn là chui xuống một hang động dưới lòng đất và sử dụng bàn phím mà không bị thế giới bên ngoài làm phiền. Bản thân tôi thừa nhận rằng khi tôi đang cố gắng tìm ra một vấn đề đặc biệt khó chịu, việc bị gián đoạn thực sự có thể phá vỡ bước tiến của tôi và khiến tôi trở nên cáu kỉnh. Nhưng cũng giống như bạn, những người không chuyên về công nghệ mà bạn làm việc cùng có một chức năng quan trọng. (Đối với người mới bắt đầu, họ nói chuyện với tất cả mọi người, vì vậy bạn không cần phải làm thế!)
Làm việc tốt với mọi người trong nhóm của bạn có nghĩa là bạn cần giải thích nội dung mã cho họ và theo cách mà họ sẽ hiểu được. Bước đầu tiên của việc này là hiểu rằng trong khi bạn có thể nhìn nhận thế giới về các vấn đề mã hóa cần khắc phục, những người khác hoạt động dựa trên các nguyên tắc như tiền bạc, thời hạn và khách hàng.
Nếu bạn có thể tìm ra cách nói chuyện với người khác theo thuật ngữ của họ và với vốn từ vựng của họ, bạn sẽ tiến một bước dài để trở thành một cầu thủ tuyệt vời của đội. Giả sử bạn được yêu cầu thêm một số tính năng vào dự án của mình. Thay vì hét lên, "Không, điều đó thật ngu ngốc, tôi không muốn!" và quay trở lại hang động của bạn, giải thích rằng tính năng đó sẽ thêm 20 giờ làm việc nữa và thời hạn có thể cần được lùi lại.
7. Đừng mang cái tôi của bạn làm việc.
Đạt được 100% điều này mỗi ngày là điều không thể đối với tất cả trừ những người giỏi nhất trong chúng ta. Nhưng ít nhất chúng ta có thể cố gắng không bị thúc đẩy hoàn toàn bởi cái tôi của mình khi làm việc. Điều đó có nghĩa là gì? Điều đó có nghĩa là bạn không chỉ muốn làm cho mình trông đẹp hơn. Bạn muốn dự án của bạn, nhóm của bạn và công ty của bạn trông tốt. Nếu bạn làm việc chăm chỉ để giúp đỡ người khác và đảm bảo thành công cho tất cả mọi người, không chỉ cho bản thân bạn, mọi người sẽ thích làm việc với bạn.
Nếu bạn cố chấp dẫm lên người khác để đạt được những gì bạn muốn cho chính mình, bạn đang đốt cháy cây cầu. Và bạn sẽ ở giữa nó khi nó sụp đổ. Chắc chắn, bạn có thể kiếm được một số lợi nhuận ngắn hạn, nhưng bạn có thực sự muốn trở thành tên khốn mà mọi người khác ghét làm việc cùng không?
8. Đừng che giấu những sai lầm của bạn.
Không ai thích lộn xộn. Đó là duy nhất của con người. Nhưng khi trở thành một người chuyên nghiệp, chúng ta phải chinh phục được sự thôi thúc rất con người đó là che giấu những sai lầm của mình trước mọi người.
Nếu bạn mắc một sai lầm sẽ ảnh hưởng tiêu cực đến dự án, điều tốt nhất bạn có thể làm cho bản thân và những người khác mà bạn làm việc cùng là làm sạch ngay lập tức. Nói với người giám sát của bạn, nói với khách hàng, bất cứ ai bạn cần nói và bắt đầu thực hiện phân tích. Đôi khi, việc che đậy sai lầm của bạn và hy vọng không ai thông báo có thể có tác dụng, nhưng nếu bạn bị phát hiện thì điều đó sẽ làm mất lòng tin một cách nghiêm trọng và nó có thể gây nguy hiểm cho dự án hoặc thậm chí là công việc của bạn.
Giờ đây, bạn không cần phải báo cáo từng mớ hỗn độn nhỏ nhặt nữa. Nhưng đối với những sai lầm sẽ cần thêm thời gian để sửa chữa hoặc làm hỏng điều gì đó quan trọng, xin vui lòng giúp đỡ bản thân và mọi người. Về lâu dài sẽ tốt hơn.
9. Có thể yêu cầu người khác giúp đỡ và giúp đỡ người khác.
Đừng ngại đặt câu hỏi nếu bạn gặp khó khăn hoặc không hiểu điều gì đó. Nếu bạn đang thực hiện một dự án có thời hạn, đừng mất hàng giờ đồng hồ để tự tìm ra điều gì đó khi bạn có thể yêu cầu trợ giúp và có giải pháp trong vòng chưa đầy một giờ.
Bạn cần phải cân bằng nó với việc tự mình đi xa nhất có thể, bằng cách sử dụng Google, StackOverflow hoặc Slack. Nhưng tôi nghĩ rằng có xu hướng này, đặc biệt nếu bạn đang ở trong một công ty, muốn độc lập và có thể làm bất cứ điều gì mà không cần trợ giúp. Nó thực sự có thể khiến bạn mất thời gian. Điều đó thật khó khăn, nhưng hãy nuốt niềm tự hào của bạn và thừa nhận rằng bạn cần được giúp đỡ. Bạn sẽ học hỏi và hoàn thành công việc của mình nhanh chóng hơn.
Tất nhiên, mặt trái của điều này là giúp đỡ người khác khi họ cần giúp đỡ. Khi tôi mới bắt đầu với tư cách là một nhà phát triển web, tôi đã dựa rất nhiều vào những người có kinh nghiệm hơn ở công ty của mình và điều đó thực sự đã giúp tôi trở nên tốt hơn. Khi tôi có nhiều kinh nghiệm hơn, những người mới hơn thường yêu cầu tôi giúp đỡ. Bị gián đoạn không phải là phần thú vị nhất của chương trình, nhưng đó cũng là một phần của việc trở thành người chơi trong nhóm. Nếu bạn đang ở giữa một số đoạn mã sâu, bạn có thể nói với họ rằng bạn sẽ quay lại với chúng sau vài phút. (Trừ khi vấn đề của họ thực sự khẩn cấp)
Khi ai đó yêu cầu bạn giúp đỡ, hãy cố gắng giúp đỡ họ theo cách sẽ giúp họ đạt được thành công trong lần tiếp theo. Thay vì chỉ cho họ câu trả lời, hãy cung cấp cho họ một chút bối cảnh để họ hiểu các nguyên tắc cơ bản và cách giải quyết vấn đề. Bạn biết đấy, toàn bộ điều "dạy một người đàn ông câu cá" 🙂
Có món nào trong số này gây được tiếng vang hay không? Không đồng ý với bất kỳ người nào trong số họ? Hãy để lại bình luận bên dưới!