Skip to main content

7 đặc điểm nổi bật cần có của một lập trình viên xuất sắc


Là một lập trình viên xuất sắc bao gồm nhiều yếu tố hội tụ chứ không phải chỉ giỏi viết code. Justin James đã liệt kê những đặc điểm nổi bật cần có của các lập trình viên để họ có thể bước vào hàng ngũ cấp cao trong nghề nghiệp của mình.

Là một lập trình viên xuất sắc bao gồm nhiều nhiều yếu tố hội tụ chứ không phải chỉ giỏi viết code
Để trở thành một lập trình viên xuất sắc, bạn cần phải có đầy đủ đặc điểm giúp cho kỹ năng, kinh nghiệm và kiến ​​thức của bạn kết hợp nhuần nhuyễn để làm việc. Có một số lập trình viên có trình độ cao để phát triển trong công việc nhưng họ sẽ không bao giờ thành công bởi thiếu những yếu tố cần thiết khác.
Dưới đây là 7 đặc điểm nổi bật cần có để trở thành một lập trình viên xuất sắc:


1. Học kỹ năng “kỹ thuật mới” và “phi kỹ thuật” theo cách riêng của mình
Lập trình viên kém chỉ học hỏi những điều khi nó hoàn toàn cần thiết. Lập trình viên giỏi học các kỹ năng “kỹ thuật mới” xuất hiện. Còn lập trình viên xuất sắc không chỉ học các kỹ năng “kỹ thuật mới” cho riêng mình mà còn học kỹ năng “phi kỹ thuật”. Họ sẵn sàng đón nhận nguồn kiến thức mà những người khác có thể không bao giờ quan tâm.
Đặt điều đó trong hoàn cảnh cụ thể, các lập trình viên kém chỉ học XAML khi họ bắt đầu một dự án sử dụng WPF. Lập trình viên giỏi đã học nó một năm trước bởi vì họ cảm thấy thú vị. Lập trình viên xuất sắc lại chăm chỉ đọc hướng dẫn thiết kế các ứng dụng WPF, lý thuyết khả năng sử dụng, hoặc học một số khóa học như nghiên cứu chẳng hạn, để làm cho UIS trở nên đặc biệt hơn.
2. Biết nhìn vào thực tế, không giáo điều
Tuân thủ cứng nhắc các “quy tắc bất thành văn của lập trình” là một điều rất khó thực hiện với lập trình viên. Một lập trình viên giỏi sẽ luôn biết nhìn vào thực tế, căn cứ tình hình cụ thể chứ không chỉ giáo điều theo sách vở. Điều ấy có nghĩa là phải biết sáng tạo và học hỏi. Sẽ có lúc bạn viết code mà không học hỏi cách thực hiện của người đi trước. Nhiều khi bạn bế tắc khi không biết phải viết code như thế nào. Nhưng hãy nhớ rằng sẽ không bao giờ có bad-code nếu có nhiều hơn một cách để viết nó, trừ khi bạn đã cạn kiệt khả năng sáng tạo.
3. Biết cách nghiên cứu để tìm ra giải pháp
Nghiên cứu để tìm câu trả lời có nghĩa là bạn sẽ làm nhiều hơn việc chỉ gõ một số từ khóa vào một công cụ tìm kiếm hoặc đăng một câu hỏi tại Stack Overflow hoặc các diễn đàn MSDN. Tôi từng nhập vấn đề vào công cụ tìm kiếm mà không tìm ra kết quả. Mỗi câu hỏi tôi đăng trên Stack Overflow hoặc các diễn đàn MSDN cũng không bao giờ có được một câu trả lời thỏa đáng. Nhưng tôi vẫn giải quyết được vấn đề và nghĩ cách chuyển vấn đề sang một hướng đi khác. Tôi không phải là nhà ảo thuật, tôi chỉ biết làm thế nào để tìm câu trả lời hoặc phát hiện ra nguyên nhân gốc rễ.
Có nhiều vấn đề là tình huống, và nếu bạn phụ thuộc vào công cụ tìm kiếm hoặc các diễn đàn, bạn có thể lãng phí rất nhiều thời gian để đi xuống một cái hang thỏ (ý nói đi vòng vèo, lãng phí thời gian) và có thể không bao giờ nhận được một giải pháp như ý. Bạn hãy nghiên cứu kỹ vấn đề để phân tích nguyên nhân gốc, tìm hiểu đầy đủ về hệ thống cơ bản để tìm manh mối và giải pháp khác. Và hơn hết, bạn hãy tìm hiểu thật kỹ để có cái nhìn xa hơn về một vấn đề trước khi đi sâu vào nó.
4. Có niềm đam mê
Bạn không thể bước lên đỉnh cao trong nghề này mà không yêu công việc. Có một số lập trình giỏi nói rằng: “Với tôi, nó đơn giản chỉ là một công việc”. Nhưng nếu đó là ý nghĩ của bạn, bạn sẽ không thể sẵn sàng làm bất cứ điều gì để thành công. Ý kiến này của tôi khiến rất nhiều người bất mãn, bởi vì họ cảm thấy đó là một sự xúc phạm cá nhân. “Tôi là một lập trình giỏi, nhưng tôi còn có những ưu tiên khác cho cuộc sống của tôi.” Tôi hoàn toàn hiểu được, tôi cũng có những ưu tiên khác nữa. Nhiều khi tôi ghét phải nói ra điều đó, nhưng khi đam mê công việc, tôi sẵn sàng (mặc dù không mong muốn) từ bỏ những ưu tiên khác để hoàn thành thật tốt công việc của mình. Đó không phải là một sự xúc phạm. Nếu bạn không sẵn sàng rút khỏi tất cả các điểm dừng khác, bạn không thể đạt được thành công, đấy là sự thật.
Bạn phải có niềm đam mê lập trình nhiều hơn nữa – bạn cũng phải vui mừng và tự hào về công việc của bạn, công nghệ bạn đang sử dụng, ông chủ của bạn, dự án của bạn, và tất cả những cái khác. Tôi đã thấy một số lập trình viên giỏi và thậm chí các lập trình viên xuất sắc chỉ làm việc ở mức độ bình thường bởi vì một số thứ không thích hợp với họ. Chẳng hạn như họ ghét dự án hoặc là phải sử dụng một công nghệ mà họ không thích. Tôi đã có một dự án phát triển, đã làm việc với dự án đó. Nhưng tôi không thích nó ngay từ lúc đầu. Nếu bạn thấy mình trong tình huống đó, bạn cần phải giải quyết ngay lập tức bằng cách khám phá điều gì đó về công việc, dự án được nhận, hoặc ra khỏi đó. Dự án đó sẽ không có giá trị nếu bạn không đam mê nó.
5. Để cái tôi của mình lại phía sau
Nhiều lập trình viên có cái tôi rất lớn. Bạn thông minh hơn, hiểu biết nhiều hơn, hoặc có kinh nghiệm hơn người khác không có nghĩa là bạn giỏi hơn người đó. Bạn cần phải đối xử với mọi người một cách tôn trọng, biết lắng nghe và thực tâm xem xét những ý tưởng của người khác. Bạn hãy yêu cầu giúp đỡ khi cần thiết và không coi thường bất cứ ai khác. Bạn cũng nên quan tâm nhiều hơn về việc giúp đỡ các đội khác thành công nếu được họ tín dụng cho công việc đó.
6. Có tinh thần kinh doanh
Các lập trình viên giỏi nhất không phải chỉ biết đến kỹ thuật. Họ có cảm giác thực sự của các doanh nhân và cảm thấy mình thực sự làm chủ trong các sản phẩm. Đối với họ, sự thành công của sản phẩm không chỉ phục vụ việc tăng lương. Bởi vì họ có tâm huyết trong các dự án, làm việc vì lợi ích của dự án và muốn tiến xa hơn nữa trong công việc.
7. Đo hai lần, cắt một lần… nhưng không đo quá ba lần
Một trong những sai lầm tồi tệ nhất một lập trình viên có thể làm là lao vào viết mã mà không có bất kỳ ý tưởng gì về nó. Khi lập trình viên xuất sắc bắt tay vào viết mã, đó là vì các thông số kỹ thuật rất giống với một mô hình họ thực hiện trước đây. Và khi họ đang phải đối mặt với một vấn đề mới, họ nghĩ ngay đến kế hoạch và nghiên cứu sâu hơn.
Điều quan trọng nhất của lập trình viên xuất sắc là không để cho mình bị hút vào cái bẫy “tê liệt phân tích”. Bạn phải biết thận trọng hơn về một số điều (ví dụ bất cứ thứ gì liên quan đến tiền hoặc dữ liệu cá nhân). Bạn cũng cần tính toán cẩn thận trước khi làm (Đo hai lần, cắt một lần…) nhưng đừng để mất quá nhiều thời gian cho việc đó (Đừng đo quá ba lần).
Điều quan trọng nữa là sau khi bắt đầu viết mã, bạn phát hiện một có một vài điểm sai sót nào đó và thấy cần phải điều chỉnh kế hoạch thì hãy tạm dừng kế hoạch đó lại. Các lập trình viên giỏi nhất mà tôi biết sẵn sàng hy sinh một kế hoạch nếu nó không còn phù hợp hoặc phát hiện nó có những thiếu sót không thể khắc phục.
Cuối cùng, chúc bạn sớm trở thành một lập trình viên tuyệt vời nhất!
Justin James là kiến ​​trúc sư hàng đầu về Conigent. Ông còn là nhà phát triển phần mềm, nhà văn viết bài cho TechRepublic và Pro Wrestling Torch.

Nguồn từ : http://cocktails.dred.vn/2013/05/05/7-dac-diem-noi-bat-can-co-cua-mot-lap-trinh-vien-xuat-sac/

Comments

Popular posts from this blog

So sánh những framework hỗ trợ viết ứng dụng trên SmartPhone

Khi lập trình trên SmartPhone bạn không nhất thiết phải học những ngôn ngữ đặc thù trên từng loại hệ điều hành thì mới có thể lập trình được. Ví dụ như muốn lập trình trên iOS thì phải học ngôn ngữ Objective-C hay Swift, muốn lập trình được trên Android thì học ngôn ngữ Java, muốn lập trình trên WinPhone thì học ngôn ngữ C#. Hiện nay có rất nhiều những framework giúp đỡ cho các bạn rất nhiều khi các bạn muốn viết trên nhiều nền tảng smartphone bằng ngôn ngữ mà bạn yêu thích. Theo mình thấy thì hiện nay có 3 loại như: Native App, Hybrid Mobile App, Native Cross-Platform App. 1. Native App: là những ứng dụng sử dụng những framework và ngôn ngữ lập trình của hệ thống cung cấp sẵn. Ví dụ như bạn muốn lập trình iOS thì phải cài XCode, học ngôn ngữ Objective-C hay Swift, lập trình Android thì cài Android Studio và học ngôn ngữ Java. - Ưu điểm: Hiệu năng thực thi ứng dụng trên nền tảng nhanh và hiệu quả. Không bị phụ thuộc vào bên thứ 3. Khi phát hành ứng dụng trên những Mobile Store cũng dễ...

Hướng dẫn dùng Serverless sử dụng Lambda AWS

1. Lambda function là gì? AWS Lambda cho phép bạn chạy mã mà không cần cung cấp hay quản lý máy chủ. Bạn chỉ phải trả tiền cho thời gian xử lý thông tin đã sử dụng. Với Lambda, bạn có thể chạy mã cho gần như toàn bộ các loại ứng dụng hay dịch vụ backend – tất cả đều không cần quản trị. Chỉ cần tải đoạn mã của bạn lên và Lambda sẽ lo hết những gì cần làm để chạy và mở rộng mã của bạn với mức độ có sẵn cao. Bạn có thể thiết lập mã của bạn tự động kích hoạt từ các dịch vụ AWS khác, hoặc gọi trực tiếp từ bất cứ ứng dụng web hay di động nào. Chi phí chạy trên lambda function rẻ so với chi phí bạn mua 1 con server, duy trì và quản trị nó ( ví dụ như bạn phải xử lý bất đồng bộ những request, khi lượng user bạn tăng đột biến bạn phải có cơ chế auto scale, chứ không thì server bị sẽ bị treo, khi server bị treo bạn phải tự động khởi động lại sẽ mất thời gian,... ).

Hướng dẫn deploy 1 static web trên GitHub domain

Hiện tại GitHub đã hỗ trợ 1 tool gh-pages dùng để bạn publish 1 static web lên trên GitHub. Cái này rất tiện nếu bạn muốn làm những bản demo cho khách hàng xem và không muốn mua 1 con server riêng để deploy và mất phí duy trì. Bạn có thể xài account free của GitHub để làm việc này luôn. Để demo tool này cách xài như thế nào mình xin dùng 1 free template ' paper-dashboard-react ' bạn có thể dùng bất kỳ free template nào có sẵn trên mạng về xài và sửa chúng lại. Bạn mở terminal lên và di chuyển đến folder chứa file 'package.json', cài tool gh-pages theo chế độ development như sau: npm install gh-pages --save-dev Sau đó bạn mở file 'package.json' lên thêm giá trị 'homepage' và 2 đoạn script 'predeploy' và 'deploy' bằng gh-pages như hình sau: Bạn mở file public/index.html và sửa lại chỗ 'manifest': Sau khi sửa xong hết những chỗ này và giờ bạn muốn deploy thì chỉ cần chạy đoạn script sau: npm run deploy Khi bạn chạy lần đầu tiên ...