Chat GPT: Năm 2023, tôi có nên học ngành IT, lập trình viên không?

Nhân dịp ChatGPT đang hot rần rần trên các trang mạng xã hội, nên mình làm một bài phỏng vấn ngẫu hứng với nó về việc có nên học lập trình hay không? Khá là thú vị.

Năm 2023, tôi có nên học ngành IT, lập trình viên không?

Có thể, nếu bạn có nhu cầu và sở thích về công nghệ thông tin và lập trình, học ngành IT và trở thành lập trình viên có thể là một lựa chọn tốt. Thị trường công nghệ thông tin rất đầy hứng thú và có nhiều cơ hội việc làm tốt. Tuy nhiên, hãy chắc chắn rằng bạn đã tìm hiểu kỹ về lĩnh vực này và có năng lực phù hợp trước khi quyết định học ngành này.

Tôi nên chọn mảng nào, lập trình web, lập trình di dộng, hay big data, AI?

Tùy thuộc vào sở thích cá nhân, năng lực và mục tiêu cá nhân của bạn, mỗi mảng có thể có những ưu điểm riêng biệt.

  • Lập trình web: Nếu bạn thích xây dựng các trang web và ứng dụng trực tuyến, lập trình web có thể là một lựa chọn tốt cho bạn.
  • Lập trình di động: Nếu bạn quan tâm đến công nghệ di động và muốn xây dựng các ứng dụng cho các thiết bị di động, lập trình di động có thể là một lựa chọn phù hợp.
  • Big data và AI: Nếu bạn quan tâm đến các công nghệ liên quan đến lưu trữ và phân tích dữ liệu lớn, hoặc muốn xây dựng các hệ thống nhận dạng và trợ lý AI, thì mảng Big data và AI có thể là một lựa chọn tốt.

Khuyến cáo: Hãy tìm hiểu thêm về mỗi mảng và chắc chắn rằng bạn đã tìm hiểu đầy đủ về nó trước khi quyết định học.

Còn DevOps thì sao?

DevOps là một mảng liên quan đến quản lý và triển khai các dự án phần mềm. Nếu bạn thích làm việc trong môi trường đa nền tảng và muốn tìm hiểu về quá trình xây dựng và triển khai phần mềm, học DevOps có thể là một lựa chọn tốt.

DevOps yêu cầu một sự hiểu biết tốt về cả lập trình và quản trị hệ thống, vì vậy nếu bạn đã có kinh nghiệm trong một trong hai lĩnh vực này, học DevOps có thể là một bước tiếp theo hữu ích cho sự phát triển nghề nghiệp của bạn.

Tester có phải là một lựa chọn tốt để bắt đầu với ngành IT?

Tester là một vai trò quan trọng trong lĩnh vực phần mềm và có thể là một lựa chọn tốt để bắt đầu sự nghiệp trong IT, đặc biệt nếu bạn có khả năng tìm kiếm lỗi và thích làm việc với các hệ thống phần mềm.

Việc làm tester giúp bạn có cơ hội để tìm hiểu về quá trình phát triển phần mềm và các công nghệ mới, giúp bạn cải thiện khả năng phát hiện lỗi và tăng cường kinh nghiệm làm việc với các hệ thống phần mềm.

Tuy nhiên, nếu bạn muốn phát triển nghề nghiệp trong IT, học lập trình hoặc các vai trò khác trong quá trình phát triển phần mềm cũng có thể là một lựa chọn tốt cho bạn.

Tôi nên bắt đầu với ngôn ngữ lập trình nào hot nhất hiện nay?

Không có ngôn ngữ lập trình “hot nhất” mà là phù hợp với nhu cầu của bạn. Tùy thuộc vào mục đích và niềm đam mê cho lập trình, một số ngôn ngữ lập trình phổ biến và được ưa chuộng hiện nay bao gồm:

  • Python: dễ học, đa dạng và phổ biến trong các lĩnh vực AI và machine learning.
  • Java: phổ biến trong lĩnh vực enterprise và các ứng dụng di động.
  • JavaScript: phổ biến trong lĩnh vực web development.
  • C++: lựa chọn tốt cho lập trình nền tảng và game development.
  • Swift: chuyên dùng cho lập trình iOS.

Lựa chọn ngôn ngữ lập trình phù hợp của bạn phụ thuộc vào mục đích và niềm đam mê của bạn, vì vậy hãy tìm hiểu kỹ hơn về các ngôn ngữ để tìm ra ngôn ngữ phù hợp nhất cho bạn.

C#, Go lang, React Native thì sao?

  • C#: là một ngôn ngữ lập trình phổ biến và mạnh mẽ, được sử dụng trong lập trình Windows và các dự án .NET.
  • Go: là một ngôn ngữ lập trình mới và nhanh, được sử dụng trong các dự án back-end và máy chủ.
  • React Native: là một framework cho phép bạn xây dựng ứng dụng di động cho cả iOS và Android sử dụng JavaScript và React.

Tất cả các ngôn ngữ và công nghệ này đều có thể là lựa chọn tốt cho việc bắt đầu trong lĩnh vực IT, tùy thuộc vào mục đích và niềm đam mê của bạn. Hãy tìm hiểu kỹ hơn về các ngôn ngữ và công nghệ này để tìm ra lựa chọn phù hợp nhất cho bạn.

Tôi nên bắt đầu với Font-end hay Back-end?

Lựa chọn giữa việc bắt đầu với Front-end hay Back-end phụ thuộc vào sở thích và mục đích của bạn.

  • Front-end: nếu bạn thích giao diện người dùng và trải nghiệm người dùng, bạn có thể muốn bắt đầu với Front-end. Bạn sẽ làm việc với HTML, CSS, JavaScript để xây dựng giao diện trang web hoặc ứng dụng.
  • Back-end: nếu bạn thích lập trình logic và xử lý dữ liệu, bạn có thể muốn bắt đầu với Back-end. Bạn sẽ làm việc với ngôn ngữ lập trình như Python, Java, Ruby hoặc Node.js để xây dựng hạ tầng dữ liệu và xử lý dữ liệu cho trang web hoặc ứng dụng.

Cả hai Front-end và Back-end đều quan trọng và cần nhau để xây dựng một trang web hoặc ứng dụng hoàn chỉnh. Bạn có thể tìm hiểu cả hai và chọn một trong hai để bắt đầu hoặc có thể học cả hai để nâng cao kiến thức của mình.

Tôi có cần chứng chỉ của AWS hay Microsoft Azure?

Chứng chỉ AWS hay Microsoft Azure có thể giúp bạn chứng minh kiến thức và kinh nghiệm của mình với các dịch vụ điện toán đám mây của AWS hoặc Microsoft Azure. Chứng chỉ cũng có thể giúp tăng cơ hội việc làm và tăng giá trị của bạn trong thị trường lao động.

Tuy nhiên, chứng chỉ không phải là một yêu cầu bắt buộc cho mọi vị trí trong ngành IT. Tùy thuộc vào mục đích của bạn, bạn có thể muốn xem xét các chứng chỉ liên quan đến lĩnh vực mà bạn quan tâm hoặc muốn theo đuổi. Nếu bạn muốn trở thành một chuyên gia điện toán đám mây, chứng chỉ của AWS hoặc Microsoft Azure có thể là một lựa chọn tốt để bắt đầu.

Tôi cần bao nhiêu thời gian để có thể học xong một ngôn ngữ lập trình?

Thời gian cần thiết để học xong một ngôn ngữ lập trình phụ thuộc vào nhiều yếu tố như mức độ tập trung, số lần tập trung mỗi tuần, số lượng thời gian mà bạn có thể dành cho học mỗi ngày và trình độ của bạn trong lập trình.

Tổng quát, nếu bạn tập trung học mỗi ngày và có thể dành ít nhất 4-6 giờ mỗi ngày cho việc học, bạn có thể học xong cơ bản của một ngôn ngữ lập trình trong vòng 3-6 tháng. Tuy nhiên, để trở thành một lập trình viên chuyên nghiệp, bạn cần phải tiếp tục học và áp dụng kiến thức của mình trong môi trường thực tế.

Mức lương cho người mới bắt đầu khoảng bao nhiêu?

Mức lương cho một người mới bắt đầu trong ngành IT phụ thuộc vào nhiều yếu tố như loại công việc, vị trí, kinh nghiệm, kỹ năng và địa điểm. Tuy nhiên, trung bình mức lương ban đầu cho một lập trình viên mới tại Việt Nam khoảng từ 8-15 triệu đồng một tháng, tùy thuộc vào các yếu tố trên.

Sách hay khoá học phù hợp?

Nếu bạn muốn học một ngôn ngữ lập trình hoặc kỹ năng IT mới, có thể tham khảo các tài liệu sau:

  1. Sách: Bạn có thể tìm kiếm các sách chuyên sâu về ngôn ngữ lập trình hoặc kỹ năng IT mà bạn muốn học. Các sách học lập trình có thể giúp bạn cấu trúc lý thuyết và bài tập thực hành.
  2. Khoá học trực tuyến: Bạn có thể tham khảo các khoá học trực tuyến trên các trang web như Coursera, Udemy, LinkedIn Learning hoặc Edx. Đây là những nguồn tài liệu tốt để học về lập trình và các kỹ năng IT mới.

Lưu ý rằng, tùy vào mục đích học và mức độ kinh nghiệm của bạn, việc chọn sách hoặc khoá học phù hợp sẽ khác nhau.

Còn website nào khác không?

Có rất nhiều trang web khác có thể giúp bạn học về lập trình và các kỹ năng IT. Một số trang web phổ biến bao gồm:

  1. Codecademy: Trang web này cung cấp các bài học trực tuyến miễn phí cho các ngôn ngữ lập trình và các kỹ năng IT khác.
  2. W3Schools: Trang web này cung cấp các bài học miễn phí về HTML, CSS, JavaScript, và các ngôn ngữ lập trình web khác.
  3. FreeCodeCamp: Trang web này cung cấp các khóa học miễn phí cho các ngôn ngữ lập trình và các kỹ năng IT, bao gồm lập trình web, lập trình di động và big data.
  4. Khan Academy: Trang web này cung cấp các khóa học miễn phí về lập trình, toán học và các môn học khác.
  5. GitHub: Trang web này cung cấp các dự án mã nguồn mở, hỗ trợ cho việc học và chia sẻ kiến thức về lập trình.

Cảm ơn ChatGPT.

Không có gì, rất vui được giúp đỡ. Hãy hỏi tôi nếu còn câu hỏi gì nữa!

LÀM ĐÀN ÔNG ĐỪNG CÁI GÌ CŨNG CỐ GIỎI, CHỈ CẦN XUẤT CHÚNG MỘT KỸ NĂNG, CẢ ĐỜI BẠN SẼ NỞ HOA

Người xưa đã có câu “nhất nghệ tinh, nhất thân vinh, hay một nghề cho chín, còn hơn chín nghề.”  Nhưng đọc thêm bài viết dài một chút cũng không hẳn là một ý tồi.

Đứa bạn 1: Tôi có thể thiết kế rất giỏi

Đứa bạn 2: Tôi là một huấn luyện viên gym rất xuất sắc

Đồng nghiệp 1: Tôi cực kỳ giỏi việc nịnh sếp

Đồng nghiệp 2: Tôi thực sự rất giỏi việc đóng clip hài

Tôi: Tôi có thể làm mọi thứ mà các ông làm

1. Có một sự thật là khi bạn giỏi mọi thứ, thực ra bạn lại chẳng thực sự giỏi một thứ gì. Ngoại trừ những “siêu nhân” biết tuốt, mỗi người trên cuộc đời này chỉ thực sự vĩ đại trong một lĩnh vực hay kỹ năng gì đó, và đó là thứ sẽ nuôi sống người đàn ông cả cuộc đời.

2. Trường học dạy chúng ta phải có điểm cao ở mọi môn, nhưng trường đời chỉ thực sự cần bạn là chuyên gia trong một lĩnh vực mà thôi. Như các cụ đã nói, một nghề cho chín còn hơn chín nghề.

3. Trong cuốn sách Average is Over (Tạm dịch: Sự chấm hết của trung bình), kinh tế gia Tyler Cowen cho rằng kỷ nguyên của sự “bình thường” sắp chấm dứt.

Chỉ vào chục năm nữa, khi robot bắt đầu thay thế các công việc đòi hỏi kỹ năng tầm thấp hoặc trung bình, chiến lược sống sót duy nhất của bạn là phải giỏi ở một thứ, chỉ cần một mà thôi.

5. Giỏi nhiều thứ mới dễ, xuất chúng ở một ngành nghề mới thực sự khó. Khi bạn nghe thấy một đứa bạn, vừa đánh đàn giỏi, vừa học giỏi, vừa kinh doanh giỏi, vừa làm chồng giỏi, vừa làm bố giỏi… nói chung cái gì cũng giỏi, thì tốt nhất hãy xem gia thế của bạn ấy là ai trước.

Vì sự thực là, sẽ luôn có chi phí cơ hội, cực kỳ hiếm người có thể xuất sắc ở mọi lĩnh vực. Ngoài ra, thì để cái gì cũng biết thì vô cùng dễ, để thực sự là chuyên gia đầu ngành của một lĩnh vực thì đòi hỏi sức kiên trì lớn hơn rất nhiều.

6. Quy luật 10,000 giờ. Để thực sự xuất chúng ở một chuyên ngành nào đó, bạn cần bỏ ra ít nhất 10,000 giờ cho chúng. Nghe thì không to lắm, nhưng để ngày nào cũng bỏ ra 2-3 tiếng “luyện công” thì bạn thực sự cần có kỹ năng kỷ luật bản thân rất tốt. Nhưng biết làm sao được, nếu ghế của cha bạn không to, nhà bạn không giàu, thì đó dường như là con đường duy nhất dẫn đến thành công.

7. “Tạm được là chưa đủ.” Chắc chắc đôi khi bạn sẽ gặp những sếp dễ tính, và khi bạn nộp một sản phẩm chưa hoàn hảo nhất với sức lực của mình, họ đã khen “Em làm tốt rồi”. Cái lợi của việc này là bạn cảm thấy được trân trọng, nhưng thực ra ông sếp đang làm hại bạn.

Thỏa mãn bản thân với những kết quả chưa thực sự “chín” sẽ làm bạn mất thái độ cầu toàn, và khó có thể leo lên tầm chuyên gia, khi những việc nhỏ còn làm chưa trọn vẹn.

8. Kiên nhẫn không phải dễ dàng. Nó đau đớn và cực kỳ nhọc nhằn. Thành công chưa bao giờ là dễ. Tập trung vào một điểm mạnh của mình và đưa nó lên “cấp” cao nhất chưa bao giờ là dễ dàng. Bạn sẽ gặp khó khăn, bạn sẽ nản và muốn nhảy vòng quanh để giỏi ở mọi thứ, nhưng đó là cái bẫy.

Thời trai trẻ, đừng lãng phí.

Từ năm 20-30 tuổi, siêu tập trung vào chỉ một lĩnh vực, trở thành chuyên gia hàng đầu trong lĩnh vực đó, ngành nghề gì cũng được, và bạn sẽ không phải hối hận.

Nguồn: Tri thức trẻ
Ảnh: happy.live

Làm thế nào để tránh bị lừa đảo trên mạng?

Chào các bạn.

Trong thế giới phẳng ngày nay, với chiếc máy tính hay smartphone có kết nối Internet là bạn hoàn toàn có cả thế giới trong tầm tay.

Các bạn chỉ cần ngồi một chỗ, click chuột là có ngay thứ bạn muốn.

Tất cả các dịch vụ, tất cả các sản phẩm…

Trong phạm vi của bài viết này không đề cập đến lợi ích của Internet mang lại cho bạn, thực sự nó rất to lớn, nếu bạn biết cách làm chủ nó. Ở đây người viết muốn đề cập mặt trái của nó. Đó là việc lừa đảo qua mạng.

Có nhiều báo chí đã nói về vấn đề đề này, nhưng mình vẫn muốn chia sẻ lại bằng kinh nghiệm của mình.

Các bạn cũng có thể chia sẻ thêm kinh nghiệm của các bạn giúp mọi người hiểu rõ hơn.

Có nhiều hình thức lừa đảo trực tuyến khác nhau, nhưng mình chỉ muốn nói về việc lừa đảo sản phẩm, dịch vụ thu lợi bất chính, gây thiệt hại cho nạn nhân.

Lừa đảo qua mạng
Lừa đảo qua mạng

Cách nhận biết

Quảng cáo, giới thiệu sản phẩm rất tốt, giá thấp hơn thị trường nhiều lần.
Ví dụ: quần áo, giày dép, túi xách, đồng hồ, điện thoại, các khóa học…. nói chung là các sản phẩm kinh doanh online.

Đối tượng sẽ nắm bắt nhu cầu của bạn. Sau đó làm quen, giới thiệu sản phẩm, dịch vụ với giá thấp hơn giá thị trường….

Đối tượng luôn luôn muốn bạn chốt giao dịch càng sớm càng tốt, tìm cách khiến bạn thanh toán ngay. Trong khi không hề đề cập chính sách hoàn tiền cho bạn. Khi giao dịch hay dùng công cụ thanh toán điện tử như Bảo Kim, Ngân Lượng… không dùng tài khoản ngân hàng vì sợ lộ thông tin.

Lúc đầu rất chi là nhiệt tình, sau khi nhận được tiền, sẽ tìm cách trì hoãn giao dịch, hoặc giao sản phẩm kém chất lượng, không đúng cam kết.

Nếu bạn thắc mắc sẽ bị khóa kênh liên lạc, chặn số điện thoại, chặn Facebook của bạn. Không chịu hoàn tiền cho bạn.

Ai là nạn nhân?

Những bạn hay mua hàng online, những bạn mua khóa học, mua theme, mua sản phẩm số (phần mềm, website, code…)

Những bạn đang là sinh viên hay đã đi làm vẫn bị lừa như thường, vì mất cảnh giác.

Tâm lý chủ quan vì giao dịch giá trị thấp. Nhưng thưa các bạn, kẻ có chủ ý thì 1 đồng cũng lừa nhé.

Tin lời giới thiệu, nhưng lại là giới thiệu từ người nhà, nội bộ kẻ lừa đảo.

Cách phòng tránh tiền mất tật mang

Luôn tìm hiểu kỹ sản phẩm, dịch vụ mình sắp mua. Tại sao lại nó lại rẻ bất thường như vậy.

Kiểm tra thông tin người bán trên các diễn đàn uy tín, Google, bạn có thể thể tìm kiếm dựa vào số điện thoại, nick Facebook, email…

Nói chuyện với người bán, đề nghị dùng thử sản phẩm, nếu sản phẩm tốt, người bán chẳng sợ gì mà không cho bạn thử.

Nếu tiến hành giao dịch, thì kiểm tra kỹ thông tin người bán, thanh toán qua ngân hàng mà chủ tài khoản trùng tên CMND của họ.

Luôn xác nhận thông tin để tránh bị kẻ xấu lợi dụng. Chuyển tiền cho A mà sao vào B.

Nếu dùng dịch vụ điện thử, nên chọn PayPal, nó có chức năng mở tranh chấp, bạn có khả năng đòi lại được tiền.

Mọi tin nhắn, log chát, biên lai chuyển tiền phải được lưu lại, có lúc cần đòi lại quyền lợi.

Bạn cũng có thể giao dịch qua trung gian là người uy tín, nhờ giữ tiền hộ. (kiểu như trọng tài kinh tế).

Luôn luôn thật tỉnh táo trong mọi giao dịch online. Có thể hôm qua người ấy tốt, nhưng hôm nay đã khác.

Ở chiều ngược lại, người bán cũng sợ bị người mua lừa (mình từng bị) các bạn chỉ cần thay đổi vai trò trong bài viết trên, nó cũng hoàn toàn hợp lý.

Bài viết có thể chưa đầy đủ, mong các bạn chia sẻ thêm, chúc các bạn giao dịch qua mạng an toàn, thành công.

Bạn có dám bước ra khỏi vùng an toàn?

Vùng an toàn (comfort zone) là nơi mà chúng ta luôn cảm thấy thoải mái nhất – một công việc chúng ta đã làm quen tay bao năm qua, một loại sách mà ta luôn chọn mua để đọc hay một môi trường sống mà ở đó ta quen vẫy vùng mà không lo sợ.

Và chẳng có gì là sai nếu ai cũng thích ở trong vùng an toàn như vậy, vì nó khiến ta như “cá gặp nước”, có gì mà lo lắng vì bất kỳ ai hay thứ gì trong nơi đó cũng khiến ta dễ chịu hay được yêu thương và bao bọc. Tuy vậy, sẽ có ngày ta chợt nhận thấy: Sao cuộc sống này thật quá đơn điệu và buồn tẻ?

Để bước ra khỏi vùng an toàn, chúng ta cần rất nhiều sự dũng cảm. Trước hết, chúng ta phải chuẩn bị tâm thế rằng ở môi trường mới có thể mọi thứ sẽ không hề thuận lợi. Công việc mới sẽ có những quy trình mới, người đồng nghiệp mới, vì thế mà không phải ai cũng sẽ hiểu bạn hay bạn có thể hiểu rõ cách công việc đó được thực hiện tốt nhất.

Một loại sách mới chắc gì đã hay, vì vốn bạn chỉ thích những điều ngọt ngào mà thứ sách bạn đang thử đọc lại quá khô khan. Một nơi ở mới có nhiều phong tục tập quán mới và những con người lạ lẫm. Vì thế, sự dũng cảm dám trải nghiệm phải là điều kiện tiên quyết để bạn quyết định mở rộng hay chuyển đổi vùng an toàn của mình.

Nhưng tại sao chúng ta lại phải thay đổi nó? Có thực sự cần thiết để thay đổi hay không?

Tôi sẽ kể các bạn nghe câu chuyện mà có lẽ nhiều người trong chúng ta cảm thấy quen thuộc. Thuở nhỏ, chúng ta hay nhìn cuộc sống xung quanh bằng con mắt e dè, đầy hoài nghi và lo sợ. Cha mẹ chúng ta luôn nói rằng “ngoài kia có ông kẹ đấy, ông sẽ bắt nhốt chúng ta vào bao và bán đi”.

Và thế là chúng ta cứ quanh quẩn trong nhà, bên mẹ hay chỉ đi ra ngoài khi có người đi cùng. Rồi đến khi chọn trường đại học, chúng ta cũng sẽ chỉ dám nghe theo ý của cha mẹ. Chúng ta sợ làm khác theo những gì được dạy, cũng sợ “ngoài kia có ông kẹ” nếu mình không làm theo những gì người lớn chỉ dẫn.

Tuy vậy, khi bước vào môi trường học thật sự, chúng ta đâu thể cứ luôn sợ hãi, không dám ra khỏi nhà, hay đi học cũng không dám nói chuyện với ai (trừ những người bạn cũ). Và có khi nào bạn tự hỏi, chúng ta rồi sẽ đi về đâu khi đến lúc chúng ta phải sống cuộc đời của mình và tự ra quyết định cho những vấn đề trong cuộc sống khi người thân không còn ở đó?

Bạn không thể là một nhà giáo giỏi nếu điều bạn muốn truyền đạt không thể được diễn đạt gẫy gọn và dễ hiểu. Bạn cũng không thể là một người lãnh đạo tốt nếu bạn luôn chỉ thích làm theo ý người khác và lo sợ ý kiến của mình bị phản bác.

Rõ ràng đó chính là lúc bạn thấy mình cần “sinh tồn” theo bản năng, nếu bạn không đi thì bạn đang đứng tại chỗ, nếu bạn càng đứng ở “vùng an toàn” càng lâu thì điều đó sẽ càng khiến bạn bị đào thải nhanh.

Bước ra khỏi vùng an toàn

Cũng có những trường hợp bạn muốn mình bước ra khỏi “vùng an toàn” để mở mang kiến thức, để có nhiều trải nghiệm, để thấy thế giới này bao la và rộng lớn. Vì thế giới luôn thay đổi, luôn biến đổi không ngừng khiến cho điều ta hiểu biết càng lúc càng trở nên lỗi thời.

Vì không phải việc lặp đi lặp lại có thể khiến chúng ta là người thợ lành nghề mà chúng ta còn phải là một người thợ khéo léo và tinh tế. Bản thân ta có thấy chán với chính ta nếu như ngày nào chúng ta cũng mặc lên người những bộ quần áo như nhau từ kiểu dáng đến màu sắc? Chúng ta có thấy rằng đã quá lâu có ai đó phải trầm trồ khen ngợi vì ta có những bước thay đổi tích cực.

Ngày nay, bước ra khỏi vùng an toàn chính là “dám dấn thân và dám thay đổi”. Các bạn có thể thay đổi một cách từ từ để mình tập quen với hình ảnh con người mới, với những thay đổi quanh ta.

Có nhiều sinh viên cứ nói với tôi “em cũng không biết mình thích gì cả, cũng không biết mình có thể làm được gì nếu em ra trường”. Nếu chính em còn không biết thì làm sao tôi có thể biết để dẫn đường cho em. Chính em còn không thể hiểu em là ai và em thích gì thì cả chục bài trắc nghiệm về bản thân cũng chỉ là làm cho vui mà thôi.

Đã đến lúc em nghiêm túc nhìn nhận bản thân, và dấn thân để thử xem mình thích ngành nghề nào hay nó có phù hợp với em không. Giáo viên hay bất kỳ ai cũng chỉ có thể giúp em định hình đường đi nhưng chính em mới quyết định được mình nên đi hay không hoặc có dám thử nó hay không.

Trong thời đại công nghệ như hiện nay, việc dám dấn thân và dám nhận lấy những rủi ro cũng là những yếu tố để giúp em bản lĩnh và thành công hơn. Bước ra khỏi vùng an toàn bằng cách dám hỏi, dám nói, dám nhận chỉ trích, dám đối diện với bản thân và thất bại sẽ luôn khó khăn nhưng hãy dũng cảm lên nhé…

Cuộc sống thú vị đang chờ chúng ta ngoài kia!

8 ĐIỀU HÃY NGHĨ ĐẾN KHI BẠN BẾ TẮC

1. Không ai khôn lớn mà chưa từng trải qua nỗi đau
Đôi khi cuộc sống đóng một cánh cửa lại vì đó là lúc để cho bạn tiến về phía trước. Gặp khó khăn không có nghĩa là bạn đang thất bại. Hãy nhớ rằng nỗi đau có hai loại: loại làm bạn tổn thương và loại khiến bạn thay đổi. Thay vì kháng cự hai loại nỗi đau này, hãy chấp nhận chúng vì chúng đều khiến bạn trưởng thành hơn.

2. Tất cả mọi thứ trong cuộc sống chỉ là tạm thời
Trời mưa rồi cũng sẽ tạnh. Vết thương rồi cũng sẽ được chữa lành. Sau màn đêm tăm tối là ánh sáng của buổi bình minh. Không có gì kéo dài mãi mãi cả. Mỗi khoảnh khắc đều mang lại cho bạn một khởi đầu mới và một kết thúc mới. Mỗi giây trôi qua bạn lại có một cơ hội mới. Bạn chỉ cần nắm bắt cơ hội đó và tận dụng nó.

3. Lo lắng và phàn nàn cũng không thay đổi được gì
Những người hay phàn nàn là những người ít được việc nhất. Bạn có dành cả ngày hôm nay để than vãn về ngày hôm qua thì ngày mai của bạn cũng không khởi sắc được. Thay vào đó hãy bắt tay hành động.

4. Vết sẹo của bạn là biểu tượng của sức mạnh
Một vết sẹo có nghĩa là một nỗi đau qua đi và vết thương đã lành. Nó có nghĩa là bạn đã chinh phục nỗi đau, đã học được một bài học, lớn mạnh hơn, và tiến về phía trước. Hãy bắt đầu xem những vết sẹo của bạn như là một dấu hiệu của sức mạnh chứ không phải là dấu vết của những nỗi đau.

5. Cuộc đời là một chuỗi những cuộc đấu tranh
Kiên nhẫn không phải là chờ đợi mà là khả năng duy trì một thái độ tích cực trong khi theo đuổi giấc mơ. Bạn có thể mất đi sự ổn định và thoải mái trong một thời gian dài, thậm chí là “ăn không ngon, ngủ không yên ”. Bạn có thể phải hy sinh các mối quan hệ và tất cả những gì thân thuộc. Đôi khi bạn phải chấp nhận sự chế giễu từ người khác. Nhưng rồi bạn sẽ nhận ra rằng con đường của bạn được xây dựng nên từ những cuộc đấu tranh với những điều nhỏ nhặt nhất.

6. Bạn không cần phải để tâm đến sự tiêu cực của người khác
Khi xung quanh bạn tràn ngập sự tiêu cực, thì bạn hãy tỏ ra tích cực. Mỉm cười khi ai đó cố tình dìm bạn xuống. Hãy luôn là chính mình dù ai đó đối xử với bạn tồi tệ. Đừng bao giờ để cho sự cay nghiệt của người khác thay đổi con người bạn. Người ta vẫn sẽ xì xầm về bạn cho dù bạn đã làm tốt như thế nào. Vì vậy, hãy nghĩ về bản thân trước khi nghĩ về những gì đang diễn ra trong đầu người khác. Hãy làm những gì khiến bạn hạnh phúc và ở bên cạnh bất cứ ai làm cho bạn thường xuyên mỉm cười.

7. Chuyện gì cần đến sẽ đến
Hãy tận hưởng cuộc sống đang mở ra trước mắt bạn. Bạn có thể không đến được nơi mà bạn muốn, nhưng cuối cùng bạn sẽ chắc chắn đến được nơi mà bạn cần.
8. Điều tốt nhất bạn có thể làm là tiếp tục bước đi
Đừng ngần ngại nhận sự giúp đỡ từ ai đó. Đừng ngần ngại yêu thêm một lần nữa. Hãy tìm thấy động lực để cười mỗi ngày và làm cho người khác mỉm cười theo. Hãy nhớ rằng bạn không cần nhiều người trong cuộc sống, mà chỉ cần một vài người thật sự quan trọng với bạn mà thôi. Chấp nhận khi bạn sai và học hỏi từ nó. Luôn luôn nhìn lại và xem bạn đã trưởng thành được bao nhiêu, và tự hào về chính mình.

(Sưu tầm)

4 Cấp độ tự do đối với lập trình viên

Bài viết được dịch từ blog Simple Programmer

Cho đến hôm nay, sau một khoảng thời gian khá dài trong nghề phần mềm, tôi mới thử sắp xếp lại trong tâm trí mình về 4 cấp độ khác biệt mà các lập trình viên phần mềm có thể trải qua trong quá trình cố gắng tìm kiếm “tự do” cho bản thân họ.

Đối với phần lớn thời gian trong sự nghiệp phát triển phần mềm của mình, khi tôi là một nhân viên làm việc cho một công ty, tôi có một ước mơ là đến một ngày nào đó mình sẽ được tự do. Tôi muốn có khả năng làm việc cho chính bản thân mình. Đối với tôi, đó mới là tự do tối thượng.

Cấp độ tự do lập trình viên 1

Nhưng tôi thật là ngây thơ và đã không nhận ra rằng thực sự có các cấp độ khác nhau của cái khái niệm “làm việc cho bản thân”. Tôi cũng giả định rằng nếu bạn đã tự làm chủ, bởi vì hầu hết các lập trình viên mà tôi đã nói chuyện về chủ đề này đều có cùng cách nghĩ giống như tôi đã có – trước khi tôi biết nhiều hơn.

Trước đây tôi đã viết một bài về cách làm thế nào để bỏ công việc của bạn, nhưng bài viết này có một chút khác biệt. Bài viết này không thực sự nói về cách làm thế nào để bỏ việc, mà nói về các cấp độ khác nhau của việc tự làm chủ mà bạn có thể đạt được, sau khi bạn thôi việc.

4 Cấp độ tự do trong nghề lập trình viên

Bốn cấp độ mà tôi mô tả dựa trên mức độ tự do mà bạn trải nghiệm trong công việc của mình; chúng không có gì liên quan đến các cấp độ kỹ năng cả. Nhưng nói chung chúng ta luôn tìm cách để tiến lên những cấp độ này và hy vọng thành công trong việc đạt được nhiều tự do hơn. Vì vậy, hầu hết các lập trình viên đều bắt đầu tại cấp độ 1, và lần đầu tiên mà họ trở thành người tự làm chủ thường là cấp độ 3 – mặc dù bạn có thể bỏ qua các cấp độ trước và tiến thẳng lên cấp độ 3 này.

Dưới đây là một định nghĩa nhanh về các cấp độ này (tôi sẽ đề cập chi tiết về mỗi cấp độ trong phần tiếp theo.)

  1. Employed (làm thuê) – bạn làm việc cho một người nào đó
  2. Freelancer (làm tự do) – bạn là ông chủ của chính bạn, nhưng bạn làm việc cho rất nhiều người khác
  3. Product creator (chủ sản phẩm) – bạn là ông chủ của chính bạn, nhưng khách hàng của bạn xác định những gì bạn làm việc trên đó
  4. Financially free (tự do về tài chính) – bạn làm những việc bạn muốn và khi bạn thích; bạn không cần phải kiếm tiền

Tôi đã bắt đầu sự nghiệp của mình tại cấp độ 1 rồi bật đi bật lại giữa cấp độ 2 và cấp độ 1 một thời gian trước khi tôi có thể nhảy sang cấp độ 3. Hiện tại tôi đang làm việc để vươn lên cấp độ 4 – mặc dù, tôi thấy rằng rất dễ để ở lại cấp độ 3 thậm chí bạn có thể chuyển sang cấp độ 4.

Trên con đường đi qua, tôi đã nhận ra rằng tại mỗi cấp độ mà mình đang có, tôi thường cho rằng mình sẽ cảm thấy hoàn toàn tự do khi vươn tới cấp độ cao hơn. Nhưng cứ mỗi lần đó tôi đều nhận ra rằng mình đã sai. Trong khi mỗi cấp độ mang lại cho tôi nhiều tự do hơn, nhưng mỗi cấp độ đó cũng dường như không phải là những gì mà tôi đã tưởng tượng trước đó.

Cấp độ 1: làm thuê

ông chủ

Giống như tôi đã nói, hầu hết các lập trình viên đều bắt đầu ở cấp độ này. Thành thật mà nói, hầu hết các lập trình viên đều ở lại cấp độ này – và bạn đừng hiểu sai ý tôi, vì điều đó không có gì là sai cả – miễn là bạn hạnh phúc.

Ở cấp độ này, bạn không có nhiều tự do, bởi vì về cơ bản bạn phải làm những việc người ta yêu cầu bạn làm và bạn phải làm việc khi người ta yêu cầu bạn làm, và bạn thường gắn chặt với một vị trí địa lý nhất định. (Trong suốt bài này, bạn sẽ nhìn thấy 3 cấp độ của tự do.)

Làm việc cho một người khác không có gì là xấu cả. Bạn có thể có một công việc thực sự tốt với mức lương xứng đáng, nhưng trong hầu hết các trường hợp bạn phải đánh đổi sự an toàn với một sự bó buộc trong công việc. Bạn nhận được khoản tiền lương hàng tháng một cách đều đặn, nhưng bạn phải trả giá là phần lớn sự tự do của mình.

Nhưng điều đó không có nghĩa là bạn không có những mức độ tự do khác nhau trong việc làm kiểu truyền thống. Tôi nghĩ rằng có những cấp độ nhỏ của tự do tồn tại ngay cả khi bạn đang làm thuê cho một ai đó. Ví dụ, bạn có khả năng nhận được nhiều tự do hơn về việc khi nào thì bạn bắt đầu công việc và khi nào thì ra về, bằng cách leo lên những chức vụ và trở thành một người làm việc có thâm niên. Bạn cũng có khả năng được trao quyền tự chủ nhiều hơn một chút về công việc bạn làm – mặc dù các phương pháp Agile có thể sẽ mang chúng ta quay trở lại vấn đề đó.

Thậm chí bạn có thể có được tự do về địa điểm làm việc nếu bạn có khả năng tìm một công việc cho phép bạn làm việc từ xa. Trong quá trình tìm kiếm tự do của mình, tôi thực sự phải đánh đổi một mức lương đáng kể để được chấp nhận một công việc mà tôi có thể được tự do làm việc tại nhà. Tôi đã sai lầm khi tưởng rằng làm việc ở nhà sẽ là tự do tối thượng và tôi sẽ trở thành một người làm việc về nội dung cho một ai đó suốt cả phần còn lại sự nghiệp của mình, miễn là tôi có thể làm việc đó ở nhà. (Đừng hiểu sai ý tôi, làm việc ở nhà có những đặc quyền của nó, nhưng nó cũng có những điểm bất lợi. Khi tôi làm việc ở nhà, tôi cảm thấy có nghĩa vụ nhiều hơn trong việc hoàn thành công việc để chứng tỏ rằng tôi không phải là kẻ làm biếng. Tôi cũng cảm thấy rằng công việc của mình chẳng bao giờ kết thúc.)

Giờ đây, giống như tôi đã nói từ trước, nhiều người sẽ ở lại cấp độ 1 và có lẽ sẽ di chuyển loanh quanh, để đạt được nhiều tự do hơn thông qua những thứ như quyền tự chủ và một lịch trình làm việc linh hoạt, nhưng có những giới hạn nhất định của tự do tại cấp độ này. Không ai sẽ trả tiền cho bạn để làm điều bạn thích và nói với bạn rằng bạn có thể biến mất bất cứ lúc nào bạn muốn. Bạn cũng sẽ có những giới hạn về mức thu nhập. Bạn chỉ có thể làm ra nhiều tiền khi làm việc cho một ai đó và số tiền đó thì hầu như đã cố định trước rồi.

Cấp độ 2: freelancer (làm tự do)

làm tự do

Vì vậy, đây chỉ là một cấp độ khác mà tôi đã thực sự tưởng tượng tồn tại đối với một lập trình viên, trong phần lớn sự nghiệp của mình. Tôi nhớ là mình đã suy nghĩ về sự tuyệt vời khi được làm việc trên các dự án của riêng mình cùng với những khách hàng của mình. Tôi đã tưởng tượng rằng khi là một freelancer thì tôi có thể đấu thầu (bid) các hợp đồng của chính phủ và dành ra một vài năm để thực hiện hợp đồng đó trước khi chuyển sang dự án tiếp theo. Tôi cũng đã tưởng tượng ra một sự luân phiên khi tôi làm việc cho nhiều khách hàng khác nhau, làm việc trên các công việc khác nhau tại các thời điểm khác nhau – tất cả từ những thuận lợi trong các dự án của mình.

Khi hầu hết các lập trình viên nói về việc bỏ công việc của họ và trở thành một người tự làm chủ, tôi nghĩ đây chính là điều mà họ tưởng tượng. Họ nghĩ, giống như tôi đã nghĩ trước đây, rằng đây là cấp độ cuối cùng của tự do.

Tôi đã không mất quá nhiều thời gian khi làm freelancer để nhận ra rằng cấp độ này cũng không có nhiều tự do hơn, tức là làm việc với tư cách là một freelancer thì cũng không tự do hơn là làm thuê cho một người nào đó. Trước tiên, nếu bạn chỉ có một khách hàng lớn, giống như hầu hết tất cả những freelancer mới vào nghề, thì về cơ bản bạn ở vào một tình huống tương tự như là khi bạn đang đi làm thuê – sự khác biệt lớn nhất đó là bây giờ bạn không thể được trả tiền cho những giờ mà bạn làm biếng. Bạn sẽ có thể có nhiều tự do về giờ giấc làm việc của bạn, nhưng bạn sẽ bị ràng buộc vào dự án mà khách hàng đã thuê bạn làm và bạn có thể thậm chí phải đến tận văn phòng của họ để làm việc.

Điều này không có nghĩa là bạn không có nhiều tự do hơn, mặc dù nó chỉ là một hình thức khác. Nếu bạn có nhiều khách hàng, bạn có quyền kiểm soát nhiều hơn đối với cuộc sống của mình và những công việc nào mà bạn làm. Bạn có thể thiết lập tỉ lệ cho riêng mình, bạn có thể thiết lập giờ giấc của riêng bạn và có thể có khả năng từ chối công việc mà bạn không muốn làm – mặc dù, trong thực tế, bạn sẽ không bỏ dự án nào cả – đặc biệt là nếu bạn mới chỉ bắt đầu gia nhập cấp độ freelancer.

Đừng hiểu sai ý tôi, cũng rất tốt khi bạn có công ty của riêng mình và có khả năng gửi hóa đơn cho các khách hàng của bạn, thay vì vị bắt buộc làm việc cho một ông chủ mà có toàn quyền kiểm soát toàn bộ cuộc sống của bạn, nhưng freelancing là bao gồm rất nhiều công việc và các công việc hàng ngày có thể thực sự khó cảm thấy có nhiều tự do hơn là bạn đang làm việc cho một người nào đó.

Nếu được lựa chọn giữa việc làm freelancer hoặc làm việc cho một người nào đó, thì tôi chỉ muốn làm công việc có tiền lương được trả đều đặn hơn. Nếu là 5 năm về trước thì tôi đã không nói như vậy, nhưng giờ đây tôi biết rằng freelancing là công việc rất khó và căng thẳng. Tôi thực sự sẽ không đi theo con đường này trừ khi bạn biết đây là điều bạn muốn làm hoặc bạn đang sử dụng nó như là một bước đệm để tiến đến một nơi nào khác.

Từ góc độ thu nhập, một freelancer có thể kiếm nhiều tiền hơn hầu hết các nhân viên làm thuê. Hiện tại tôi đang làm freelancer và tôi không chấp nhận bất kỳ công việc nào có giá ít hơn $300 đô-la/giờ. Tôi đã không bắt đầu với mức tỉ lệ đó – khi tôi bắt đầu làm freelancer tôi tính phí $100 đô-la/giờ đã là một tỷ lệ đáng kinh ngạc – nhưng, cuối cùng tôi đã làm việc theo cách của mình để nâng lên được mức hiện nay. Một điều đáng suy nghĩ đó là mức thu nhập của bạn không có giới hạn. Bạn càng tính phí cao và số giờ bạn làm việc càng nhiều thì bạn càng kiếm được nhiều tiền. Bạn chỉ bị giới hạn bởi các giới hạn của cả hai yếu tố này kết hợp lại.

Cấp độ 3: tạo ra sản phẩm của riêng mình

tạo ra sản phẩm của riêng mình

Cấp độ này là nơi mà mọi thứ trở nên thú vị. Khi tôi chủ yếu làm công việc freelancing, tôi đã nhận ra rằng sai lầm chính của mình đó là không làm việc cho một người nào đó, mà bằng cách đánh đổi những đồng đô-la cho giờ làm việc của mình. Tôi nhận ra rằng là một freelancer thì cuộc đời mình không đẹp đẽ như là tôi đã tưởng tượng trước đây. Nó không thực sự tự do, bởi vì nếu tôi không làm việc thì tôi sẽ không được trả lương.

Tôi thực sự đã chấm dứt công việc freelancer và quay trở lại làm nhân viên toàn thời gian để suy nghĩ lại chiến lược của mình. Tôi càng vắt óc suy nghĩ, thì tôi càng nhận ra rằng để thực sự đạt được sự tự do mà tôi muốn, tôi sẽ cần phải tạo ra một dạng sản phẩm mà tôi có thể bán hoặc một loại dịch vụ mà sẽ tạo ra thu nhập cho tôi trong tất cả thời gian thậm chí khi tôi không làm việc.

Có rất nhiều cách để đạt đến cấp độ này, nhưng có lẽ cách phổ biến nhất đó là xây dựng một số loại phần mềm hoặc dịch vụ phần mềm (SASS) để sinh ra thu nhập cho bạn. Sau đó bạn có thể kiếm tiền từ việc bán sản phẩm và bạn làm việc trên sản phẩm đó khi nào và theo cách bạn cảm thấy phù hợp.

Bạn cũng có thể đạt đến cấp độ này bằng cách bán các sản phẩm số theo hình thức nào đó. Tôi đã có khả năng vươn tới cấp độ này thông qua một sự kết hợp giữa blog này, các ứng dụng di động mà tôi đã xây dựng, và tạo ra các khóa học có thu phí trên Pluralsight và gói chương trình Làm thế nào để tiếp thị bản thân với tư cách là một lập trình viên.

Bạn có thể khá tự do ở cấp độ này. Bạn không còn có bất kỳ một ông chủ thực sự nào nữa. Không còn một ông chủ đầu hói nào luôn ra lệnh cho bạn phải làm những gì và bạn cũng không có những khách hàng nói với bạn phải làm việc trên các dự án nào nữa. Bạn hầu như có thể làm việc ở bất cứ nơi nào bạn muốn và bất cứ khi nào bạn thích. Thậm chí bạn có thể biến mất trong khoảng vài tháng trời – miễn là bạn tìm ra cách nào đó để có thể xử lý hỗ trợ cho sản phẩm của mình.

Lúc này, điều đó không có nghĩa là mọi thứ trở nên ngon lành cành đào tại cấp độ này. Có một điều là, tôi đã tưởng rằng nếu tôi tạo ra các sản phẩm, thì tôi sẽ có thể làm việc một cách chính xác những gì mà tôi muốn làm. Điều này còn lâu mới thành sự thật. Tôi có một mức độ lớn trong việc kiểm soát những gì tôi lựa chọn để làm và tạo ra, nhưng vì tôi bị ràng buộc bởi nhu cầu kiếm tiền, nên tôi phải dành ra một phần lớn sự kiểm soát đó tới thị trường. Tôi phải xây dựng những thứ mà khách hàng của tôi sẽ trả tiền để mua.

Điều này dường như có vẻ không phải là vấn đề lớn, nhưng thực ra đúng là như vậy. Tôi luôn luôn có ước mơ được viết code và làm việc trên những dự án của riêng mình. Tôi đã mơ ước rằng khi trở thành một người tạo ra sản phẩm và tiền được tạo ra từ các sản phẩm của tôi sẽ mang lại cho tôi sự tự do đó. Ở một mức độ nào đó, nhưng tôi cũng phải chú ý cẩn thận tới mong muốn của các độc giả và khách hàng của mình và tôi phải đặt trọng tâm chính của mình vào việc xây dựng những thứ đó.

Cấp độ này cũng khá là áp lực, bởi vì mọi thứ phụ thuộc vào bạn. Bạn phải thành công mới có thể thu được tiền. Khi bạn là một người làm thuê, tất cả bạn phải làm đó là làm hết công việc được giao. Khi bạn là một freelancer, bạn chỉ phải tìm kiếm khách hàng và làm công việc đã thỏa thuận – bạn nhận được thù lao cho công việc bạn làm chứ không phải là các kết quả. Khi bạn là một người tạo ra sản phẩm, bạn có thể dành ra 3 tháng trời để làm việc trên một cái gì đó mà không nhận được đồng cắc nào cả. Không ai quan tâm về bạn đã làm bao nhiêu khối lượng công việc, chỉ kết quả cuối cùng mới quan trọng.

Về thu nhập tiềm năng thì không có giới hạn ở đây. Bạn có thể phải vật lộn chỉ để kiếm đủ sống, nhưng nếu bạn thành công, thì không có giới hạn nào về số tiền mà bạn kiếm được, vì bạn không bị giới hạn bởi thời gian. Tại cấp độ này bạn không còn phải đổi chác giữa thời gian và những đồng đô-la nữa.

Đối với tôi, việc cố gắng để leo lên cấp độ 2 không quan trọng cho lắm, tốt hơn là chỉ làm việc cho một ai đó cho tới khi bạn có thể vươn tới cấp độ 3, bởi vì ở cấp độ tự do này thì nó mới thực sự tạo ra những khác biệt lớn trong cuộc sống của bạn. Bạn có thể vẫn không có khả năng làm việc trên thứ mà bạn muốn, nhưng ít ra thì tại điểm này – một khi bạn đã thành công – tất cả những mặt khác của cuộc đời bạn bắt đầu trở nên tự do nhiều hơn.

Cấp độ 4: tự do tài chính

tự do tài chính

Tôi không thể tìm ra một cái tên tốt hơn cho cấp độ này, nhưng đây là cấp độ mà bạn không còn phải lo lắng về việc kiếm tiền nữa. Có một điều mà tôi nhận thấy khi tôi cuối cùng cũng đã đạt đến cấp độ 3 đó là phần lớn những yếu tố khiến tôi không thể làm chính xác cái mà tôi muốn đó là sự cần thiết phải tạo ra thu nhập.

Có một sự thật rằng bạn có thể làm việc trên thứ mà bạn muốn, nhưng việc cần phải tạo ra thu nhập có xu hướng ảnh hưởng đến cái bạn làm và cách bạn làm công việc đó như thế nào. Ví dụ, tôi đã thực sự muốn tạo ra một trò video game. Tôi đã luôn luôn mơ ước làm một dự án phát triển game lớn. Nhưng tôi biết rằng nó có thể không có khả năng tạo ra lợi nhuận. Miễn là tôi đang lo lắng về thu nhập, thì sự tự do của tôi sẽ bị giới hạn ở một mức độ nào đó. Nếu tôi không có một khoản thu nhập thụ động đủ để cầm cự, thì tôi không thể bỏ làm các dự án tạo cho tôi thu nhập để bắt đầu viết code cho trò video game đó được – vâng, tôi có thể, nhưng đó không phải là cách thông mình và tôi cảm thấy khá tội lỗi về điều đó.

Vì vậy, theo quan điểm của tôi, hình thức cao nhất của tự do mà một nhà phát triển phần mềm có thể đạt được đó là khi họ được tự do về tài chính. Ý của tôi về tự do tài chính là như thế nào? Về cơ bản nghĩa là bạn không phải lo lắng về tiền bạc nữa. Có lẽ bạn đã bán startup của mình với giá vài triệu đô-la hoặc bạn có một nguồn thu nhập thụ động từ bất động sản hoặc những khoản đầu tư khác mà có thể cung cấp nhiều hơn cho nhu cầu sinh hoạt hàng ngày của bạn. (Để có thông tin tốt về làm thế nào để đạt được điều đó thì tôi đề xuất bạn nên đọc cuốn sách “Cha giàu, Cha nghèo”.)

Ở cấp độ tự do này, về cơ bản bạn có thể làm những gì bạn muốn. Bạn có thể tạo ra các phần mềm gây hứng thú cho bạn, bởi vì bạn thích như vậy – bạn không phải lo lắng về khả năng sinh lời. Nếu muốn tạo ra một ứng dụng Android thì bạn bắt tay vào làm ngay. Muốn học một ngôn ngữ lập trình mới chỉ vì bạn nghĩ nó sẽ mang lại niềm vui, bạn lao vào học ngay.

Đây luôn luôn là cấp độ tự do mà tôi đã thầm ao ước. Tôi chẳng bao giờ muốn ngồi yên mà không làm bất cứ điều gì, tôi luôn luôn muốn làm việc mà tôi cảm thấy thú vị và chỉ những thứ mà tôi quan tâm. Mọi cấp độ khác mà tôi đã nghĩ sẽ mang lại sự tự do này, thì tôi đều nhận ra là chúng không thể đáp ứng được. Tôi đã nhận ra rằng luôn luôn có một cái gì đó sẽ kiểm soát cái mà tôi làm việc trên đó, có thể là ông chủ của tôi, các đối tác hoặc các khách hàng của tôi.

Điều này không có nghĩa rằng bạn không thể kiếm được tiền từ các dự án của mình. Trong thực tế, có một nghịch lý mà tôi luôn tin tưởng, nếu bạn có thể tiến tới giai đoạn này, bạn có tiềm năng kiếm được rất nhiều tiền. Một khi bạn đã bắt đầu làm việc trên thứ mà bạn muốn, bạn sẽ làm công việc đó với một sự đam mê và nó sẽ mang lại một giá trị rất cao. Đây là lúc lập trình giống như một nghệ thuật vậy. Dĩ nhiên tôi không có bất kỳ bằng chứng nào về điều này, nhưng tôi ngờ rằng khi tôi không quan tâm về việc kiếm tiền, bởi vì bạn đang làm công việc mà bạn yêu thích, thì đó là khi bạn làm được nhiều nhất.

Đừng hiểu sai ý tôi, bạn có thể có khả năng tập trung làm những gì bạn yêu thích, thậm chí nếu bạn không tạo ra bất cứ chút tiền bạc nào. Tôi biết rất nhiều nghệ sĩ sống đói kém mà vẫn theo đuổi nghệ thuật – hoặc ít ra là họ cho phép bản thân làm như vậy – nhưng, tôi không thể làm điều đó. Tôi đã cố thử, nhưng tôi luôn luôn cảm thấy tội lỗi và bị áp lực về một thực tế rằng tôi đang làm một công việc mà không sinh ra lợi nhuận. Theo quan điểm của tôi, bạn thực sự có tự do tài chính thì mới có thể trải nghiệm được tự do sáng tạo đích thực.

Tôi thực sự đang làm việc để tiến tới cấp độ này. Về mặt kỹ thuật, tôi có thể nói rằng mình đã ở cấp độ này, nhưng tôi vẫn bị ảnh hưởng lớn bởi lợi nhuận. Mặc dù, giờ đây tôi không lựa chọn các dự án của mình chỉ dựa trên các tiêu chí sẽ tạo ra nhiều tiền nhất. Tôi đang từ chối khá nhiều dự án và cơ hội mà không cảm thấy thích hợp với cái tôi muốn làm, và tôi đang cố gắng chuyển dịch để làm việc chỉ trên những thứ mà tôi quan tâm khi mà mức thu nhập thụ động của mình tăng lên.

Bạn có thể thu được gì từ tất cả những điều này?

Vâng, điều lớn nhất đó là tự do có nhiều cấp độ khác nhau và có lẽ dù gì thì bạn sẽ không muốn trở thành một freelancer. Tôi nghĩ có nhiều lập trình viên cho rằng làm việc cho chính họ bằng cách freelancing sẽ mang lại cho họ sự tự do tối thượng. Họ không nhận ra rằng họ sẽ chỉ có khả năng làm việc chính xác về những gì họ muốn làm chỉ khi họ thực sự tự do về tài chính.

Vì vậy, lời khuyên của tôi dành cho bạn đó là nếu bạn muốn kiểm soát hoàn toàn sự sáng tạo trong cuộc sống của mình và cái mà bạn làm việc, thì bạn phải trở nên tự do về tài chính. Nếu bạn muốn một cấp độ tự trị cao hơn trong hầu hết các lĩnh vực của cuộc sống thì bạn nên cố gắng phát triển và bán các sản phẩm. Nếu bạn hạnh phúc khi trở thành ông chủ của chính mình, thậm chí nếu bạn phải làm theo đơn đặt hàng của khách, thì freelancing có thể là con đường dành cho bạn. Và, nếu tất cả những điều trên dường như là một cái giá quá đắt mà bạn phải trả, bạn có thể chỉ muốn ở lại nơi bạn đang ở và tiếp tục nhận được những khoản lương đều đặn hàng tháng – không có gì là sai trái với điều đó cả.

Nguồn:

HỒ SỸ HÙNG

Hồ Sỹ Hùng thuộc thế hệ 8x, sinh ra ở Nghệ An, học ở Hà Nội, có vài năm làm việc tại Sài Gòn, và Đồng Nai. Anh là lập trình viên có nhiều năm kinh nghiệm trong lĩnh vực: C#, VB.NET, ASP.NET, SQL Server, XML, MVC, Entity Framework… và đồng thời cũng là admin của blog http://vinacode.net/. Bạn có thể liên hệ với anh qua email hungpm2000[at]gmail.com

Từng bước để trở thành một lập trình viên giỏi

Thời gian gần đây tôi có nhận được một số email mà về cơ bản đều hỏi rằng “làm thế nào để có thể trở thành một lập trình viên giỏi/ xuất sắc?”
Những dạng email kiểu này nói chung thường làm tôi cảm thấy buồn lòng, bởi vì tôi cảm thấy dường như khi bạn hỏi dạng câu hỏi này, thì bạn đang tìm kiếm một liều thuốc thần diệu nào đó khiến bạn có thể sẽ đột nhiên trở thành một lập trình viên tài ba.

Tôi nghi ngờ rằng có rất ít người trong số đã gửi email để hỏi tôi về câu hỏi này thực sự muốn biết làm thế nào để trở thành một lập trình viên xuất sắc, nhưng có lẽ họ đang chỉ muốn tìm kiếm cho mình một giải pháp nhanh chóng hoặc một câu trả lời dễ dàng.

Một mặt khác, tôi nghĩ rằng có thể có một số lập trình viên chân thật, và chỉ là họ không biết làm thế nào để đặt ra những câu hỏi cần thiết để định hướng cho tương lai của họ. Tôi nghĩ những lập trình viên này – đặc biệt là những người vừa mới vào nghề – có lẽ đang tìm kiếm cho mình một hướng dẫn từng bước để trở thành một lập trình viên xuất sắc.

Vì vậy, tôi cũng cố gắng từ chính kinh nghiệm của bản thân và những kiến thức tốt nhất mà mình có, để đưa ra một chỉ dẫn kiểu từng bước step-by-step dành cho bạn.

Lúc này đây, dĩ nhiên là tôi nhận ra rằng không có một công thức thần kỳ nào ở đây cả và rằng có rất nhiều con đường có thể dẫn đến thành công, nhưng tôi nghĩ rằng nếu làm theo những bước hợp lý được phác thảo ra sau đây thì một bạn trẻ mới vào nghề có thể vươn tới một mức trình độ khá cao và sẽ có khả năng trở thành một lập trình viên giỏi hoặc thậm chí là xuất sắc.

Bước 1: Hãy chọn lấy một ngôn ngữ lập trình, và học từ những thứ căn bản nhất

Trước khi có thể chạy, thì chúng ta phải học cách để đi trước đã. Bạn đi bằng cách học làm thế nào để lập trình trong một ngôn ngữ lập trình nào đó. Bạn đừng có học đi bằng cách cố gắng học 50 triệu thứ cùng một lúc, vì bạn không thể có phép phân thân ra như Tôn Ngộ Không được phải không nào.

Có rất nhiều lập trình viên bắt đầu bằng cách thử và nhảy vào tất cả mọi thứ một lần và không có đủ kiên nhẫn để học chỉ một ngôn ngữ lập trình duy nhất trước khi tiến lên phía trước. Họ nghĩ rằng họ phải biết tất cả những công nghệ mới đang “hot” thì mới có thể kiếm được một công việc lập trình. Trong khi đúng ra thì bạn cần biết nhiều hơn chỉ những kiến thức cơ bản của một ngôn ngữ lập trình duy nhất, bạn phải bắt đầu từ đây, vì như vậy thì bạn mới có thể tập trung được tốt nhất.

Chọn lấy một ngôn ngữ lập trình mà bạn nghĩ rằng sự nghiệp của mình về cơ bản sẽ xoay quanh nó. Ngôn ngữ lập trình đó tự bản thân nó thì không quan trọng nhiều lắm, nhưng bạn nên tính toán cả về lâu về dài nữa. Ý tôi muốn nói là bạn đừng nên thử và học một ngôn ngữ lập trình “dễ” khi bắt đầu. Hãy học bất cứ ngôn ngữ nào mà bạn cảm thấy thích thú và có thể nhìn thấy tương lai lập trình của mình trong một vài năm sắp tới. Bạn muốn chọn một cái gì đó mà sẽ mang lại giá trị lâu dài.

Một khi bạn đã chọn lấy ngôn ngữ lập trình nào đó thì bạn sẽ thử học và tìm một số cuốn sách hoặc bài thực hành mà chỉ liên quan đến ngôn ngữ lập trình đó thôi. Ý tôi muốn nói là bạn đừng tìm học các tài liệu mà dạy bạn quá nhiều thứ một lúc. Bạn nên tìm những tài liệu dành cho người mới bắt đầu mà chỉ tập trung vào ngôn ngữ đó, chứ không phải là rất nhiều công nghệ liên quan.

Khi bạn đọc xuyên suốt các tài liệu đó hoặc duyệt qua các bài thực hành mà bạn đã lựa chọn, thì hãy chắc chắn rằng bạn có thực hành viết code. Hãy làm thật nhiều bài tập có thể. Hãy thử nghiệm tất cả những gì bạn đã học được. Hãy thử gom các thứ lại với nhau và sử dụng tất cả các khái niệm mà bạn đã học được về nó. Vâng, điều này thì khá là “đau khổ”. Việc đọc hùng hục một cuốn sách từ trang đầu đến trang cuối thì rất dễ dàng, nhưng nếu bạn thực sự muốn học thực sự thì bạn cần phải thực hành.

Khi bạn đang viết code, hãy cố chắc chắn rằng bạn hiểu tất cả dòng code mà mình viết ra. Điều tương tự cũng cần làm cho bất kỳ dòng code nào mà bạn đọc. Khi viết ra những đoạn code, hãy làm chậm rãi và đảm bảo rằng bạn hiểu nó. Bất cứ điều gì mà bạn không hiểu, thì hãy tìm hiểu và làm rõ nó. Hãy dành thời gian làm điều này thì bạn sẽ không bị hổng kiến thức và mơ hồ về sau này.

Cuối cùng, hãy chuẩn bị tư tưởng là phải đọc qua một cuốn sách hoặc một hướng dẫn thực hành ít nhất 3 lần trước khi bạn có thể hiểu hết nó. Bạn sẽ không thu được phần “lập trình” trong lần thử đầu tiên – không ai từng làm được điều đó cả. Bạn cần lặp lại để bóc trần nó trước khi bạn bắt đầu có thể hiểu và thu nhận kiến thức từ nó và bạn hiểu được điều gì thực sự đang diễn ra. Cho tới một lúc bạn sẽ cảm thấy như bị lạc lối, điều đó là tốt, đó là một phần của quá trình phát triển. Chỉ việc chấp nhận nó và tiến lên phía trước.

Bước 2: Xây dựng một cái gì đó nhỏ thôi

Lúc này thì bạn đã có một hiểu biết cơ bản về một ngôn ngữ lập trình nào đó rồi, và đây là lúc để đưa những kiến thức đó vào làm việc và để nhận ra bạn đang thiếu hụt những gì. Cách tốt nhất để làm điều này là thử xây dựng một cái gì đó.

Đừng quá tham vọng tại thời điểm này – nhưng bạn cũng đừng quá nhút nhát. Hãy tìm kiếm ý tưởng tạo ra một ứng dụng mà đủ đơn giản để bạn có thể hoàn thành nó với một số nỗ lực, nhưng không phải là sẽ làm bạn mất vài tháng để hoàn thành. Cố gắng hạn chế nó chỉ trong ngôn ngữ lập trình bạn đã học nhiều nhất có thể. Đừng cố gắng để làm một cái gì đó mà phải áp dụng nhiều công nghệ khác nhau (nghĩa là, sử dụng tất cả những công nghệ từ giao diện người dùng cho đến database) – mặc dù bạn sẽ có thể cần sử dụng một vài framework hoặc API có sẵn.

Đối với ứng dụng đầu tay thì bạn có thể chọn giải pháp sao chép một cái gì đó đơn giản mà đã tồn tại rồi. Hãy tìm kiếm một ứng dụng đơn giản, kiểu như một ứng dụng dạng To-Do List, chương trình hẹn giờ tắt máy tính chẳng hạn và cố gắng mô phỏng nó. Đừng cho phép các kỹ năng thiết kế của bạn cản trở việc học lập trình.

Tạo ra những ứng dụng đơn giản trước.Tôi đề xuất bạn nên tạo ra một ứng dụng nào đó dành cho thiết bị di động, bởi vì hầu hết các ứng dụng di động thì thưởng nhỏ và khá dễ làm. Thêm nữa, việc học các kỹ năng phát triển cho di động thì rất có ích vì có rất nhiều các công ty đang bắt đầu cần các ứng dụng di động. Ngày nay, bạn có thể xây dựng một ứng dụng di động trong hầu như bất kỳ ngôn ngữ lập trình nào. Có rất nhiều giải pháp mà cho phép bạn xây dựng một ứng dụng cho các hệ điều hành di động khác nhau sử dụng rất nhiều các ngôn ngữ lập trình.

Bạn cũng có thể xây dựng một ứng dụng web nhỏ, nhưng cố gắng không nhảy quá sâu vào nhiều công nghệ phát triển web phức tạp. Về cơ bản tôi đề xuất bạn nên bắt đầu bằng một ứng dụng di động, bởi vì phát triển web thì có vẻ rắc rối hơn một chút cho người mới bắt đầu. Để phát triển một ứng dụng web thì bạn sẽ phải cần biết ít nhất là một số kiến thức về HTML, có thể một vài framework back-end và JavaScript.

Cho dù là bạn chọn cái gì để xây dựng, thì bạn có thể phải học chút ít về một vài framework – điều này thì rất tốt, chỉ đừng có quá sa lầy vào những chi tiết. Ví dụ, bạn có thể viết một ứng dụng Android khá đơn giản mà không cần phải thực sự biết nhiều về tất cả các hàm API của Android và làm thế nào Android hoạt động, chỉ bằng cách làm theo một số bài hướng dẫn đơn giản. Chỉ đừng tốn quá nhiều thời gian để cố gắng học mọi thứ về một framework nào đó. Hãy học cái mà bạn cần biết để phục vụ hoàn thành dự án của mình. Bạn có thể học về các chi tiết sau này.

Oh, và điều này có vẻ là hơi khó. Nhưng đó chính là cách bạn học như thế nào. Bạn phải vật lộn để nhận ra làm thế nào để làm một điều gì đó, sau đó bạn sẽ tìm thấy câu trả lời. Đừng bỏ qua bước này. Bạn sẽ chẳng bao giờ vươn tới đẳng cấp là một nhà phát triển phần mềm chuyên nghiệp nếu bạn không học những thứ khó khăn và nhận ra nhiều điều thú vị trong quá trình nghiên cứu. Đây là một khóa huấn luyện tốt cho tương lai của bạn.

Bước 3: Nghiên cứu về một framework

Lúc này là thời điểm để thực sự tập trung vào một framework. Vì lúc này bạn đã nắm được một lượng kiến thức kha khá về ít nhất là một ngôn ngữ lập trình rồi và đã có một số kinh nghiệm để có thể làm việc cùng một framework cho các ứng dụng di động hoặc web.

Hãy chọn một framework nào đó để học và nó sẽ cho phép bạn làm việc hiệu quả hơn trong một số môi trường. Dạng framework mà bạn lựa chọn để học sẽ được dựa trên kiểu nhà phát triển phần mềm nào mà bạn muốn trở thành trong tương lai. Nếu bạn muốn trở thành một nhà phát triển web, thì bạn sẽ muốn học một web framework cho bất cứ ngôn ngữ lập trình nào mà bạn đang làm việc trên nó. Nếu bạn muốn trở thành một nhà phát triển ứng dụng di động, thì bạn sẽ cần học về một hệ điều hành di động và framework đi kèm với nó.

Cố gắng đào sâu kiến thức của bạn về framework đó. Điều này sẽ khá mất thời gian, nhưng đầu tư thời gian để học bất cứ thứ gì về framework mà bạn đang sử dụng thì rất tốt. Đừng cố học nhiều framework vào lúc này – nó sẽ chỉ khiến phân tán sự tập trung của bạn mà thôi. Hãy nghĩ về việc học các kỹ năng bạn cần cho một công việc xác định mà bạn muốn nhận, có sử dụng framework và chính ngôn ngữ lập trình mà bạn đang học. Bạn có thể luôn luôn mở rộng tập kỹ năng của mình sau này.

Bước 4: Học về một công nghệ cơ sở dữ liệu

Hầu hết các nhà phát triển phần mềm sẽ cần phải biết về một số công nghệ cơ sở dữ liệu vì rất nhiều các ứng dụng phải có một database back-end. Vì vậy, hãy chắc chắn rằng bạn không bỏ bê việc đầu tư vào lĩnh vực này.

Bạn sẽ có khả năng nhìn thấy lợi ích lớn nhất nếu bạn học về SQL – thậm chí nếu bạn lên kế hoạch sẽ làm việc cùng cơ sở dữ liệu NoSQL như MongoDB hoặc Raven, thì việc học SQL sẽ mang lại cho bạn một nền tảng tốt hơn để làm việc sau này. Có rất nhiều công việc tuyển dụng ngoài kia mà yêu cầu kiến thức về SQL nhiều hơn là NoSQL.

Đừng quá lo lắng về nhiều loại cơ sở dữ liệu SQL. Những công nghệ SQL khác nhau thì thực ra chúng có rất nhiều điểm giống nhau và bạn sẽ không gặp phải vấn đề gì trong việc chuyển đổi qua lại giữa chúng nếu bạn biết những kiến thức cơ bản về một công nghệ SQL nào đó. Chỉ chắc chắn rằng bạn hãy học về những thứ căn bản như table, queries, và những thao tác phổ biến về database khác.

Tôi khuyến khích bạn nên chọn một cuốn sách tốt về công nghệ SQL phù hợp và tạo ra một vài dự án nhỏ, vì vậy bạn có thể thực hành cái mà bạn đang học – luôn luôn thực hành những kiến thức mà bạn đang học.

Bạn phải có đủ kiến thức về SQL để có thể:

Ngoài ra, bạn sẽ muốn học một số dạng của công nghệ object relational mapping (ORM). Cái mà bạn học sẽ phụ thuộc vào công nghệ nào mà bạn đang làm việc trên đó. Tìm kiếm những công nghệ ORM phù hợp với framework mà bạn đã học. Có thể có một vài lựa chọn ở đây, vì vậy cách tốt nhất là bạn hãy chọn lấy cái phổ biến nhất.

Bước 5: Nhận một công việc hỗ trợ một hệ thống đang tồn tại

Ok, bây giờ bạn đã có đủ các kỹ năng và kiến thức để nhận được một công việc cơ bản như là một nhà phát triển phần mềm. Nếu bạn có thể chỉ cho tôi rằng bạn hiểu những kiến thức cơ bản của một ngôn ngữ lập trình, có thể làm việc cùng một framework, hiểu về cơ sở dữ liệu và đã xây dựng được ứng dụng của riêng bạn, thì tôi chắc chắn sẽ muốn thuê bạn – cũng như nhiều nhà tuyển dụng khác.

Bảo trì một hệ thống đang tồn tại.Điểm mấu chốt ở đây là không quá nhắm vào một công việc nào đó yêu cầu trình độ cao. Đừng cố thử tìm một công việc trong mơ của bạn ngay lúc này – vì bạn vẫn chưa đủ trình độ. Thay vì đó, cố gắng tìm một công việc dạng bảo trì một hệ thống phần mềm đang tồn tại mà được xây dựng sử dụng ngôn ngữ lập trình và framework mà bạn đã học.

Bạn có thể không tìm thấy chính xác một công việc như vậy, nhưng nhiều khả năng là bạn có thể tìm thấy một công việc tốt hơn. Cố gắng ứng tuyển vào những công việc phù hợp chính xác với những công nghệ mà bạn đã được học.

Thậm chí với sự thiếu hụt nhiều kinh nghiệm, nếu bạn phù hợp chính xác với một tập kỹ năng và bạn lại sẵn lòng trở thành một lập trình viên bảo trì, thì bạn sẽ có thể tìm thấy một công việc.

Vâng, dạng công việc này có thể hơi tẻ nhạt một chút. Nó không được hứng thú như là việc tạo ra một cái gì đó mới mẻ, nhưng mục đích của công việc này không phải là mang lại niềm vui hoặc để kiếm tiền, nó là để học hỏi và thu được nhiều kinh nghiệm nhiều nhất có thể.

Làm việc trên một ứng dụng đang tồn tại, cùng với một nhóm các nhà phát triển khác, sẽ giúp bạn mở rộng các kỹ năng của mình và biết được một hệ thống phần mềm lớn thường được cấu trúc như thế nào. Bạn có thể sửa các lỗi và bổ sung thêm các đặc trưng nhỏ khác, ngoài ra bạn cũng sẽ học và đưa những kỹ năng của bạn vào hành động.

Dồn hết tâm trí của bạn vào công việc này. Học mọi thứ bạn có thể. Làm công việc ở mức tốt nhất bạn có thể. Đừng nghĩ về tiền bạc, đảm nhiệm nhiều vai trò khác nhau trong dự án này – tất cả sẽ đến sau đó – còn lúc này, bạn hãy chỉ tập trung vào để làm cho công việc hoàn thành một cách hiệu quả nhất có thể và mở rộng các kỹ năng của bạn.

Bước 6: Học những bài thực hành tốt nhất về cấu trúc (structural)

Bây giờ là lúc để bạn bắt đầu nâng cao chất lượng trong việc viết code. Đừng lo lắng quá nhiều về vấn đề thiết kế phần mềm tại thời điểm này. Bạn cần học làm thế nào để viết những đoạn “code sạch” (clean code) mà dễ dàng để hiểu và bảo trì. Để làm được điều này, bạn sẽ cần phải đọc rất nhiều và xem nhiều ví dụ về một số đoạn code tốt (good code).

Hãy bổ sung vào giá sách của bạn với những cuốn sách sau đây:

Các cuốn sách về cấu trúc ngôn ngữ xác định như:

Tại thời điểm này bạn thực sự muốn tập trung việc học của mình vào xử lý cấu trúc để viết ra những đoạn code hay và làm việc trên nhiều hệ thống đang tồn tại. Bạn sẽ cố gắng để dễ dàng thực thi một thuật toán trong ngôn ngữ lập trình của bạn đã chọn và làm nó theo cách dễ dàng để đọc và hiểu nhất.

Bước 7: Học một ngôn ngữ lập trình thứ hai

Tại thời điểm này bạn nên phát triển khả năng bằng cách học một ngôn ngữ lập trình thứ hai thực sự tốt. Bạn nên chọn một ngôn ngữ lập trình mà khác hẳn ngôn ngữ mà bạn đã biết.

Điều này có vẻ như là hơi kỳ quặc, nhưng hãy để tôi giải thích lý do tại sao việc này là rất quan trọng. Khi bạn biết một ngôn ngữ lập trình thật giỏi, thì bạn chỉ hiểu các khái niệm của phát triển phần mềm trong ngôn ngữ lập trình đó, mà việc phát triển phầm mềm thì lại vượt quá một ngôn ngữ hoặc công nghệ riêng rẽ nào. Nếu bạn dành thời gian trong một môi trường hoặc ngôn ngữ lập trình mới, thì bạn sẽ bắt đầu nhìn thấy mọi thứ theo một cách mới. Bạn sẽ bắt đầu để học một cách thực tiễn hơn là theo cách bắt chước.

Là một lập trình viên mới, bạn thường rất thích làm mọi thứ theo một cách đặc biệt nào đó mà không cần biết lý do tại sao bạn lại đang làm chúng theo cách đó. Một khi bạn đã học một ngôn ngữ lập trình thứ hai và nắm vững công nghệ, thì bạn sẽ bắt đầu tìm hiểu xem về lý do tại sao. Tin tôi đi, bạn sẽ phát triển nếu bạn thực hiện điều này. Đặc biệt là nếu bạn chọn lấy một ngôn ngữ lập trình mà bạn ghét.

Chắc chắn rằng bạn xây dựng một thứ gì đó cùng với ngôn ngữ mới này. Không cần phải hoành tráng, nhưng một cái gì đó đủ phức tạp để bắt bạn phải suy nghĩ động não thật nhiều và có thể thậm chí phải đập đầu vào tường – nhè nhẹ.

Bước 8: Xây dựng một cái gì đó có giá trị

Tốt rồi, bây giờ tiến đến việc kiểm tra thực sự để chứng tỏ khả năng phát triển phần mềm của bạn. Liệu bạn có thể thực sự xây dựng một cái gì đó quan trọng cho chính mình?

Nếu bạn tiếp tục tiến lên và tự tin để nhận một công việc xây dựng một cái gì đó, và có lẽ thậm chí thiết kế một cái gì đó cho một ông chủ của mình, bạn biết là bạn có thể làm nó. Không có cách nào tốt hơn để biết nó hơn là bắt tay vào làm nó.

Chọn một dự án mà sẽ sử dụng được toàn bộ các kỹ năng của bạn. Chắc chắn rằng bạn kết hợp cả cơ sở dữ liệu, framework và mọi thứ khác mà bạn cần để xây dựng một ứng dụng hoàn chỉnh. Dự án này nên là một cái gì đó mà sẽ chiếm của bạn nhiều hơn một tuần làm việc và yêu cầu một số suy nghĩ nghiêm túc và thiết kế. Thử làm một cái gì đó mà bạn có thể kiếm được tiền từ nó để bạn có một vài động lực làm việc.

Nên chắc chắn rằng bạn không phát triển nó ra quá lớn. Bạn vẫn không muốn mang quá nhiều tham vọng vào đây. Chọn một dự án mà sẽ thách thức bạn, nhưng không phải là một dự án mà bạn sẽ chẳng bao giờ hoàn thành được. Đây là một bước ngoặt quan trọng trong sự nghiệp của bạn. Nếu bạn có sự cam kết để theo và hoàn thành dự án này, thì bạn sẽ đi được rất xa, còn nếu bạn không thể… vâng, thì tôi không thể nói trước được điều gì.

Bước 9: Kiếm một công việc tạo một hệ thống mới

Ok, bây giờ là lúc để bạn lại tiếp tục đi tìm công việc tiếp theo. Bởi vào thời điểm này, bạn đã đạt được lợi ích lớn nhất từ công việc hiện tại – đặc biệt là nếu nó vẫn chỉ là công việc bảo trì.

Tham gia tạo ra một hệ thống phần mềm mới.Đây là thời điểm để tìm kiếm một công việc mà sẽ thách thức bạn – nhưng đừng quá nhiều. Bạn vẫn sẽ phải học rất nhiều, vì vậy bạn không muốn nhận một công việc mà quá phức tạp so với bạn. Lý tưởng là bạn nên tìm một công việc nơi mà bạn sẽ có cơ hội để làm việc trong một nhóm đang xây dựng một sản phẩm gì đó mới mẻ.

Có thể bạn không phải là người kiến trúc ra hệ thống đó, nhưng việc tham gia tạo ra một ứng dụng sẽ giúp bạn mở rộng các kỹ năng của mình và thách thức bạn trong nhiều cách khác nhau hơn là chỉ ngồi bảo trì một hệ thống phần mềm đang tồn tại.

Bạn đã có một sự tự tin trong việc tạo ra một hệ thống mới rồi, bạn vừa kết thúc việc tạo ra một hệ thống quan trọng cho riêng mình, vì vậy bạn có thể bước vào buổi phỏng vấn mà không cảm thấy quá hồi hộp và cùng với niềm tin rằng bạn có thể làm được công việc đó. Sự tự tin này sẽ giúp bạn có thể nhận được bất cứ công việc nào mà bạn ứng tuyển vào.

Hãy chắc chắn rằng bạn khiến cho nhà tuyển dụng được tập trung. Hãy nêu bật lên tập các kỹ năng xác định mà bạn đã đạt được. Đừng cố gây ấn tượng với bất kỳ ai bằng một danh sách dài dằng dặc của những kỹ năng chả liên quan gì. Tập trung vào những kỹ năng quan trọng nhất và tìm kiếm những công việc mà phù hợp chính xác với chúng – hoặc ít ra thì cũng phù hợp nhất có thể.

Bước 10: Học những bài thực hành tốt nhất về thiết kế phần mềm

Bây giờ là thời điểm để bạn đi từ một junior (ít kinh nghiệm) thành một senior developer (lập trình viên lão luyện). Các junior developer thường bảo trì các hệ thống, còn senior developer thì thiết kế và xây dựng các hệ thống của họ. (Thường là vậy, dĩ nhiên là cũng có một số senior developer chuyên đi bảo trì các hệ thống.)

Bạn đã sẵn sàng để xây dựng các hệ thống ngay lúc này, nhưng bây giờ bạn cần phải học cách làm thế nào để thiết kế ra chúng.

Bạn nên tập trung vào việc nghiên cứu vào các bài thực hành thiết kế tốt nhất và một số chủ đề nâng cao kiểu như:

Danh sách này có thể sẽ còn dài ra rất nhiều – bạn sẽ chẳng bao giờ có thể kết thúc việc học và phát triển các kỹ năng của bạn trong lĩnh vực này. Chỉ nên chắc chắn rằng hãy bắt đầu cùng với những thứ quan trọng nhất trước tiên – điều này sẽ phụ thuộc vào cái mà bạn cảm thấy thú vị và nơi mà bạn muốn đến trong sự nghiệp của mình.

Mục tiêu của bạn ở đây là có khả năng không chỉ là xây dựng một hệ thống mà một ai đó đã thiết kế ra, mà nó phải hình thành dựa trên quan điểm của chính bạn về phần mềm nên được thiết kế ra làm sao và những dạng kiến trúc nào thì phù hợp cho những loại vấn đề này.

Bước 11: Tiếp tục học

Tại thời điểm này thì bạn đã làm ra sản phẩm phần mềm, nhưng bạn cần phải tiếp tục phát triển để trở thành một lập trình viên giỏi, thậm chí có thể trở nên “xuất sắc”. Luôn tâm niệm rằng bạn sẽ luôn có một cái gì đó để học thêm.

Phải mất bao lâu thì bạn mới có thể tới được điểm này? Tôi cũng không biết chắc. Nó có thể mất ít nhất một số năm, nhưng có thể phải đến 10 năm hoặc hơn – nó còn tùy thuộc vào việc bạn cống hiến nhiều như thế nào và những cơ hội nào xuất hiện với bạn nữa.

Có một con đường tắt khá tốt đó là cố gắng và luôn luôn bao quanh bạn bởi những lập trình viên giởi hơn bạn để có thể học hỏi từ họ.

Một số điều cần làm trong suốt quá trình thực hiện các bước trên

Có một số điều mà bạn nên làm trong suốt quá trình mà bạn đang làm theo 10 bước nói trên. Nó sẽ rất khó để liệt kê chúng trong mỗi bước, vì vậy tôi sẽ liệt kê chúng một cách tóm tắt ở đây:

Dạy – Toàn bộ thời gian trong quá trình bạn đang học các thứ nói trên, bạn cũng nên dạy chúng cho những người khác. Không quan trọng là liệu bạn là một người mới bắt đầu hay là một chuyên gia, bạn sẽ có một cái gì đó có giá trị để dạy, dạy người khác thì cũng là một cách tốt nhất để học. Ghi lại tài liệu tất cả quá trình và chuyến hành trình của bạn, và giúp đỡ những người khác trên suốt con đường mà bạn đi.

Tiếp thị bản thân bạn – Tôi nghĩ rằng đây là một điều rất quan trọng đến mức tôi đã xây dựng một khóa học hoàn chỉnh về ý tưởng này. Học cách làm thế nào để tiếp thị bản thân và tiếp tục làm nó trong suốt sự nghiệp của bạn. Nhận ra cách làm thế nào để có thể tạo ra thương hiệu cá nhân cho chính bạn, xây dựng một danh tiếng cho riêng mình trong ngành công nghiệp phần mềm và bạn sẽ chẳng bao giờ sợ thiếu việc làm cả. Bạn sẽ quyết định về tương lai của chính mình nếu bạn học được cách tiếp thị bản thân. Có rất nhiều công việc phải làm, nhưng nó cũng mang lại giá trị xứng đáng. Bạn đang đọc bài viết này từ chính nỗ lực của tôi cho mục đích đó.

Đọc – Đừng bao giờ ngừng học. Đừng bao giờ ngừng đọc. Luôn luôn làm việc theo cách của bạn thông qua những cuốn sách. Luôn luôn phát triển bản thân. Chuyến hành trình tìm kiếm tri thức của bạn sẽ chẳng bao giờ kết thúc, vì việc học là chuyện của cả đời. Bạn có thể sẽ không biết được tất cả. Nếu bạn tiếp tục học trong suốt sự nghiệp của mình, thì bạn sẽ luôn luôn vượt trội hơn so với những đồng nghiệp khác.

Làm – Với mỗi điểm dừng chân trên chuyến hành trình đó, đừng chỉ học mà hãy làm. Hãy đặt mọi thứ mà bạn học được vào hành động. Thiết lập một quỹ thời gian bên cạnh để luyện tập các kỹ năng của bạn và viết code và xây dựng một số thứ. Cũng giống như việc bạn có thể đọc tất cả các cuốn sách về hướng dẫn chơi golf mà bạn muốn, nhưng bạn sẽ chẳng bao giờ trở thành tay golf số 1 thế giới như Tiger Woods nếu bạn không vác gậy đi đánh golf thực sự.

Nguồn bài viết: Hồ Sỹ Hùng, blog công nghệ vinacode.net. Bài viết đã được sự cho phép chia sẻ của tác giả bằng email.

Anh Hồ Sỹ Hùng, một developer thế hệ 8x, blog của anh có nhiều bài dịch từ các trang nước ngoài, rất phù hợp với những bạn khả năng Tiếng Anh còn yếu. Đây là blog hay cho các bạn là lập trình viên, các bạn quan tâm có thể đọc nhiều bài viết hay của anh tại vinacode.net

Cách viết một CV hoàn hảo

Sarah Berry, tác giả của một Best seller với tựa đề: “Viết bản CV hoàn hảo vào cuối tuần” sẽ chỉ ra cho bạn “những cạm bẫy” chung nhất mà các ứng viên thường mắc phải.
Nếu bạn muốn có một bản lý lịch tự thuật (CV) tốt nhất, bạn cần phải học cách tổ chức bản CV. Để hấp dẫn và thuyết phục hơn, bạn cũng nên phải thay đổi phong cách viết cho phù hợp. Sarah Berry, tác giả của một trong những cuốn sách bán chạy nhất với tựa đề: “Viết bản CV hoàn hảo vào cuối tuần” đưa ra cho các ứng viên những lời khuyên giá trị.

Trong thực tế, theo Sarah Berry, không phải là những vấn đề to tát làm hỏng các bản CV mà nguyên nhân lại nằm ở những lỗi nhỏ nhặt, dễ bỏ qua nhất. Hãy cùng tìm hiểu các lỗi thường thấy ở các bản CV, Sarah Berry sẽ chỉ ra cho bạn “những cạm bẫy” chung nhất mà các ứng viên thường mắc phải:

1. Không đưa ra thông tin phù hợp

10 năm trước đây, người ta có thể chấp nhận việc có một kiểu chuẩn cho tất cả các CV, nhưng đối với thị trường công việc ngày càng nhiều cạnh tranh như hiện nay, cái cần thiết là một bộ “y phục” phù hợp. CV giúp bạn cập nhật và thể hiện nổi bật phương cách bạn có thể giúp ích cho một công ty cụ thể. Một bản CV chung chung sẽ nói: Tôi cần một công việc, hãy giúp tôi. Một bản CV tốt cộng với thư xin việc sẽ hướng đến nội dung: Tôi yêu công ty bạn, bạn đang có một vấn đề cần giải quyết và tôi là người tốt nhất làm nhiệm vụ này. Hãy dành thời gian và cố gắng để thể hiện khả năng phù hợp với công viêc. Hãy dồn sự tập trung vào công ty chứ không phải vào nhu cầu của bạn, chỉ bằng cách đó thông điệp của bạn mới “lọt tai” nhà tuyển tuyển dụng.

Cách viết CV ấn tượng
Cách viết CV hoàn hảo

2.Không trả lời câu hỏi thông báo tuyển dụng đặt ra

Bạn thường bỏ qua câu hỏi bởi vì bạn đang vội vã hoặc là bạn tìm cách trốn tránh làm việc đó. Đừng chờ đợi đến cuộc phỏng vấn mới thể hiện rằng bạn tốt, bạn giỏi thế nào. Hãy đọc toàn bộ thông báo tuyển dụng và ghi lại những yêu cầu cụ thể của họ. Công ty đang cần những phẩm chất cá nhân nào; kỹ năng nào được coi là trọng yếu nhất; vai trò của kinh nghiệm thực tế. Bạn cần phải hiểu chính xác các yêu cầu của nhà tuyển dụng chứ không phải của bạn. CV cần trả lời được những câu hỏi cụ thể: như thế nào, cái gì, ở đâu và khi nào. Rông dài quá mức: CV của bạn dài bao nhiêu? Độ dài lý tưởng là từ 2 đến 3 trang và 1 trang đối với thư xin việc. Nếu bạn chỉ mới vừa rời cổng trường đại học, bạn sẽ có ít thứ để nói, nếu không thì cũng đừng nhồi nhét quá dài vào CV. Một trang với những thông tin cần thiết mang giá trị chắc chắn sẽ tốt hơn rất nhiều so với việc viết rông dài những thứ chẳng liên quan, dễ khiến nhà tuyển dụng mạnh tay “ném” sang một bên.

3. Đặt thông tin vào những trật tự sai

Phần giới thiệu là một trong những phần quan trọng nhất của CV. Tuy nhiên, nhiều nhà “săn việc” lại giấu những thông tin cá nhân ở cuối CV còn nhiều người khác lại bỏ qua các chi tiết như tuổi, tình hình gia đình và thông tin liên hệ. “Rao bán chính mình” là mục tiêu sống còn trong thuật viết CV nhưng phần lớn các ứng viên lại “bỏ bom” người đọc các loại bằng cấp, quá trình học tập và làm viêc. Ứng viên đã quên đề cập đến mặt hàng mà họ đang mang đi bán. Có thể khẳng định rằng, quan trọng nhất trong CV là phần viết về khả năng – thứ mà bạn đem ra bán. Bạn cần xác định rõ mức độ chuyên nghiệp và khả năng của bạn. Hãy thuyết phục và đảm bảo cho người đọc thấy rằng đầu tư vào những kỹ năng của bạn là sự lựa chọn tốt nhất.

4. Trình bày dàn trải quá trình học tập

Quá trình học tập của bạn kéo dài bao lâu? Bạn tìm cách liệt kê tất cả những kiến thức và thành tích học hành. Điều này đôi khi khiến nhà tuyển dụng nghi ngại mức độ chuyên nghiệp của bạn. Hãy nhớ rằng những phẩm chất chỉ trở nên quan trọng khi nó thuyết phục được người đọc mức độ phù hợp của bạn và các nhà tuyển dụng đang tìm kiếm những người có nhận thức về “chào hàng”. Vì vậy, hãy tập trung vào những chi tiết thực tế, cố gắng thể hiện kỹ năng “chào hàng” bằng việc nhấn mạnh khả năng và kinh nghiệm phù hợp. Đừng dùng bằng cấp giáo dục trung học “làm phiền” nhà tuyển dụng, chỉ trong trường hợp đó là chứng nhận giáo dục cao nhất của bạn hay bạn lần đầu tìm kiếm việc làm. Trọng tâm phải được đặt vào thành tích nổi bật chứ không phải vào ngày tháng.

5. Quá nhiều chi tiết về sở thích

Sở thích không cần thiết phải đưa vào trong CV. Tại sao nhà tuyển dụng lại phải quan tâm đến kỹ năng sút bóng của bạn? Hãy đưa phần sở thích ra khỏi CV nhưng chắc chắn rằng CV vẫn có một cá tính riêng. Bạn có thể nêu những đặc điểm thể hiện được thế mạnh cá nhân, khả năng hòa nhập của mình. Điều này sẽ làm cho thông điệp của bạn trở nên hấp dẫn và thuyết phục hơn. Không gửi kèm thư xin việc. Đưa ra yêu cầu mong muốn không phải là điều dễ dàng, nhất là khi công việc hiện tại của bạn không có nhiều ổn định, sức nặng lúc này càng dồn vào nhu cầu tìm một công việc mới. Hãy gói gém CV bằng một lá thư xin việc hiệu quả. Thể hiện mong muốn tìm việc bằng cách làm nổi bật những kỹ năng và mức độ chuyên nghiệp. Dành 75% bức thư nói về nhà tuyển dụng chứ không phải về bạn.
Cuối cùng, hãy xem xét lại thật cẩn thận bản CV. Liệu nó đã đủ tốt, đủ tích cực và quả quyết? Nó sẽ đánh bại đối thủ cạnh tranh hay bị đối thủ vượt mặt? Nếu chắc chắn rằng, CV xác định rõ ràng thế mạnh, giá trị và mức độ chuyên nghiệp của bạn, bạn sẽ sớm có được cuộc phỏng vấn và cơ hội cho một công việc tốt.

Nếu bạn là lập trình viên, đang viết cv xin việc, đừng quên 4 Kỹ năng quan trọng nhất đối với một lập trình viên nhé. ?

(Nguồn: Sưu tầm trên Internet)

4 Kỹ năng quan trọng nhất đối với một lập trình viên

Với rất nhiều công nghệ, ngôn ngữ lập trình và các nền tảng phát triển như hiện nay, thì rất khó để nhận ra đâu là thứ tốt nhất để bạn đầu tư thời gian và công sức học những kỹ năng quan trọng trong nghề phát triển phần mềm.

Tôi thường được nhiều người hỏi về việc làm thế nào để trở thành một lập trình viên giỏi hơn, và rằng liệu họ có nên đầu tư thời gian vào một ngôn ngữ lập trình hoặc công nghệ xác định nào đó hay không. Nhưng hôm nay, tôi sẽ liệt kê ra đây một số kỹ năng tôi nghĩ rằng đó là những kỹ năng quan trọng nhất và không bị lỗi thời mà một lập trình viên nên có, chúng sẽ mang lại cho bạn những cơ hội tốt nhất trong nghề nghiệp và giúp bạn làm việc hiệu quả hơn.

Kỹ năng nào là quan trọng nhất đối với một lập trình viên?Kỹ năng nào là quan trọng nhất đối với một lập trình viên?

1. Kỹ năng giải quyết vấn đề

Trước đây, tôi đã từng nói về sự cần thiết về việc học cách giải quyết vấn đề, bởi vì tôi nghĩ rằng đây là một kỹ năng vô cùng quan trọng đối với bất kỳ một lập trình viên nào. Công việc phát triển phần mềm thì thực ra 100% là để giải quyết các vấn đề. Nếu không có những vấn đề thì chúng ta cũng chẳng cần có những phần mềm làm chi phải không bạn?

Tất cả phần mềm đều được thiết kế để giải quyết một số vấn đề của người sử dụng và trong cái giải pháp chung đó lại có một mảng rất lớn những vấn đề nhỏ hơn nảy sinh. Không quan trọng về việc bạn đang sử dụng ngôn ngữ lập trình hoặc công nghệ nào, nếu bạn không thể giải quyết những vấn đề thì bạn không phải là một người phát triển phần mềm giỏi.

Kỹ năng giải quyết vấn đề là rất quan trọngMột điều đáng ngạc nhiên là hầu hết các lập trình viên lại rất yếu trong kỹ năng giải quyết vấn đề. Tôi thường xuyên nghe được những lời than phiền về các buổi phỏng vấn tuyển dụng rằng nó thì quá khó, bởi vì họ đã hỏi lập trình viên về cách giải quyết một vài vấn đề phức tạp. Tôi đã nói về việc tại sao những buổi phỏng vấn khó lại là một điều tốt và một phần của lý do là bởi vì họ muốn kiểm tra khả năng giải quyết vấn đề của các lập trình viên mà thôi. Tôi biết rằng có rất nhiều lập trình viên vẫn không đồng ý với tôi về quan điểm này và họ không hiểu tại sao một trang web giống như TopCoder sẽ làm tăng khả năng phát triển phần mềm của họ lên rất nhiều, nhưng từ kinh nghiệm cá nhân thì tôi biết rằng chính việc thực hành cách giải quyết vấn đề trên TopCoder là bước ngoặt trong nghề nghiệp của tôi.

Bạn hãy nghĩ về một người thợ mộc làm ví dụ. Nếu muốn trở thành một người thợ mộc thành công, thì bạn nên giỏi trong việc cắt gỗ. Bạn cũng phải có khả năng thực hiện được tất cả các dạng cắt và sử dụng nhiều công cụ khác nhau. Không quan trọng là bạn có bao nhiêu năm kinh nghiệm trong nghề thợ mộc hay bạn có khả năng thiết kế đồ mỹ nghệ tốt đến đâu, nếu mỗi lần bạn thử cắt gỗ mà bạn phải khó nhọc lắm mới hoàn thành được nhát cắt đó thì bạn không phải là một người thợ mộc giỏi.

Cắt gỗ là một kỹ năng cơ bản của nghề thợ mộc, cũng giống như giải quyết vấn đề là kỹ năng cơ bản của nghề phát triển phần mềm.

2. Kỹ năng tự học

Kỹ năng tự họcCó thể nói rằng không có một kỹ năng nào trong cuộc sống lại quan trong bằng kỹ năng học cách để học. Kỹ năng này đặc biệt quan trọng trong ngành phát triển phần mềm, bởi vì không lĩnh vực nào mà tôi biết lại có tốc độ thay đổi nhanh hơn là lĩnh vực phát triển phần mềm.

Bạn không thể biết tất cả về mọi thứ. Thậm chí bạn cũng không thể đầu tư thời gian để trở nên tinh thông dù chỉ một công nghệ hoặc framework xác định nào đó — bởi vì mọi thứ thay đổi quá nhanh! Thay vì đó bạn cần có khả năng nhanh chóng thu được kiến thức mà bạn cần cho công việc đang làm. Nếu bạn thực sự muốn có một kỹ năng mà sẽ giúp bạn luôn thuận lợi trong nghề phát triển phần mềm, thì hãy học cách làm thế nào để dạy chính mình.

Chỉ có một cách duy nhất để phát triển kỹ năng này là hãy thực hành nó. Hãy học một ngôn ngữ lập trình hoặc công nghệ mới, thậm chí nếu bạn nghĩ rằng mình sẽ chẳng bao giờ sử dụng nó. Bạn sẽ rất ngạc nhiên vì khả năng tiếp thu rất nhanh của mình, bởi vì bạn đã có kiến thức nền tảng trước đó rồi. Nếu bạn có thể nhanh chóng thích nghi với sự thay đổi chóng mặt trong ngành phát triển phần mềm và các công nghệ cũng như những nền tảng kết hợp cùng với nó, thì bạn sẽ có những kỹ năng mà sẽ luôn luôn đáp ứng được yêu cầu công việc.

Mặc dù tôi có đôi chút hoài nghi về một tuyên bố của tác giả Tim Ferris, anh ta đã viết một cuốn sách tuyệt vời tên là “Trở thành đầu bếp chuyên nghiệp trong vòng 4 giờ”, nó chứa một số kỹ thuật rất hay về cách làm thế nào để học mọi thứ một cách nhanh nhất. (Tôi cũng đang muốn viết một cuốn sách như vậy về mọi chủ đề).

3. Kỹ năng đặt tên

Kỹ năng đặt tênKhi mọi người hỏi tôi rằng công việc mà tôi làm hàng ngày là gì, tôi thường nói nghề của tôi là “đọc những thứ do người khác đặt tên và đặt tên cho một số thứ.” Vâng, thực ra không một ai hỏi tôi câu hỏi đó và tôi cũng không thực sự trả lời theo cách này, nhưng tôi chắc là mình có thể làm như vậy. Phát triển phần mềm thì tất cả là về mô tả những thứ trừu tượng. Hầu hết những thứ mà chúng ta đang xây dựng thì không thể nhìn thấy được.

Mỗi lần mà bạn viết code nghĩa là bạn đang đặt tên cho một số thứ. Khi bạn đọc code của chính mình hoặc của một ai khác viết ra, thì bạn đang cố gắng hiểu đoạn code đó thông qua tên của các thứ trong nó. Hầu như tôi có thể đoán chính xác trình độ của một lập trình viên bằng cách xem qua cách họ đặt tên các phương thức, biến và các lớp trong code mà họ viết.

Một lập trình viên mà thiếu hụt khả năng đưa ra những tên tốt tới những khái niệm và dữ liệu trong code của họ thì giống như một nhà phiên dịch mà bị câm vậy. Không quan trọng liệu bạn có hiểu một điều gì đó hay không, nếu bạn không thể giải thích điều đó một cách rõ ràng thì trong chốc lát nó sẽ rời khỏi đầu của bạn.

Cách tốt nhất để nâng cao kỹ năng này là luôn luôn thực hành nó. Tôi thường đổi tên một số thứ trong code ngay khi tôi vừa đọc và hiểu nó. Ngay khi tôi bắt đầu hiểu được phương thức đó thực thi điều gì, thì tôi sẽ thay đổi tên của nó cho phù hợp với điều tôi hiểu. Tôi sẽ làm điều này cả trong khi tôi đang đọc code, thậm chí việc này không tạo ra một thay đổi logic nào trong đó. Bạn càng tập trung nhiều vào việc đưa ra những cái tên thích hợp cho các thứ, thì bạn ngày càng trở nên tốt hơn. Điều này cũng là thứ dễ nhận thấy nhất về đoạn code của bạn. Rất khó để biết liệu code của bạn thì có đúng hoặc hiệu quả hay không chỉ bằng cách xem qua chúng, nhưng nếu tôi đọc nó và có thể hiểu được thì tôi sẽ cho rằng bạn biết bạn đang làm gì.

4. Kỹ năng hợp tác với mọi người

Kỹ năng hợp tác với mọi người

Trong danh sách này thì kỹ năng hợp tác với mọi người được liệt kê cuối cùng, nhưng trong nhiều trường hợp thì có thể nói rằng nó là kỹ năng đầu tiên và quan trọng nhất. Ở mọi nơi bạn đến đều có con người. Trừ khi bạn làm việc một mình hoặc phát triển phần mềm cho chính bạn xài, còn không thì người khác sẽ ảnh hưởng đến nghề nghiệp phát triển phần mềm của bạn.

Trước đây tôi đã nói về tại sao bạn lại không muốn chỉ trích người khác, nhưng thực ra có nhiều cách để hợp tác với mọi người hơn là chỉ trích. Tôi luôn đọc lại cuốn sách nổi tiếng của tác giả Dale Carnegie, là cuốn “Đắc Nhân Tâm”, bởi vì cuốn sách này rất quan trọng trong việc học cách làm thế nào để thành công trong cuộc sống. Nếu bạn muốn phát triển những kỹ năng của con người thì hãy đọc cuốn sách này!

Vấn đề cơ bản là loài người không phải là một sinh vật có logic, chúng ta thường hành xử theo cảm xúc. Chắc chắn là chúng ta luôn tự hào về khả năng lý trí của mình, nhưng trong thực tế thì hầu hết các quyết định mà chúng ta tạo ra thì thường bị ảnh hưởng bởi cảm xúc hơn là lý trí. Điều đó có nghĩa là trong nghề phát triển phần mềm thì trừ khi bạn có thể hợp tác hiệu quả với những lập trình viên khác, những người quản lý và thậm chí là cả khách hàng; nếu không thì bạn sẽ luôn luôn gặp phải những vấn đề rắc rối, cho dù bạn có những ý tưởng tốt đến mấy hay kỹ năng của bạn có tuyệt vời ra sao đi nữa.

Tích cực tham gia vào cộng đồng phát triển phần mềm nói chung có thể giúp bạn rất nhiều trong nghề nghiệp. Nó không chỉ là về tạo mối quan hệ, nhưng việc đưa tên của bạn ra ngoài cũng là cách hay để xây dựng một “nghiệp” tốt. Thực hiện điều này thành công là bản lề dẫn tới khả năng bạn có thể hợp tác hiệu quả với mọi người. (Bạn có muốn tạo ra một con đường tắt trong việc học cách làm thế nào để hợp tác với mọi người không? Nó thì rất đơn giản. Hãy tốt bụng!)

Thế còn những kỹ năng về thực hành thì sao?

Bạn có thấy rằng tôi vẫn không đưa vào trong danh sách trên một công nghệ xác định hoặc thậm chí một vài kỹ năng đang thịnh hành hiện nay là phát triển web và di động không? Có một nền tảng vững chắc trong một vài lĩnh vực công nghệ nào đó là điều khá quan trọng, nhưng thực ra những kỹ năng đó lại không quan trọng bằng 4 kỹ năng mà tôi đã đề cập ở trên.

Nếu bạn có thể giải quyết vấn đề, học mọi thứ nhanh chóng, đặt tên mọi thứ hợp lý, và hợp tác hiệu quả với mọi người, thì bạn sẽ có được mức thành công lớn hơn nhiều trên con đường sự nghiệp và sẽ thành chuyên gia trong bất kỳ lĩnh vực công nghệ nào.

Dĩ nhiên điều quan trọng là bạn nên học một đến hai ngôn ngữ lập trình một cách sâu sắc và có một kiến thức chuyên môn đủ rộng ở trong lĩnh vực này, nhưng miễn là đừng đi quá xa với chúng và bạn nên tập trung vào 4 kỹ năng quan trọng nêu trên để luôn phát triển trong nghề.

Nguồn bài viết: Hồ Sỹ Hùng, blog công nghệ vinacode.net. Bài viết đã được sự cho phép chia sẻ của tác giả bằng email.

Là người yêu thích công nghệ, mình hay tìm đọc các trang về chia sẻ code, blog viết về công nghệ. Tình cờ đọc được blog của anh Hồ Sỹ Hùng, một developer thế hệ 8x, blog của anh có nhiều bài dịch từ các trang nước ngoài, rất phù hợp với những bạn khả năng Tiếng Anh còn yếu. Đây là blog hay cho các bạn là lập trình viên, các bạn quan tâm có thể đọc nhiều bài viết hay của anh tại vinacode.net

17 Cách để thức dậy sảng khoái vào buổi sáng

Tất cả chúng ta đều biết rằng thức dậy và làm việc vào mỗi sáng là cách tốt nhất để đạt được các mục tiêu trong cuộc sống. Tập thể dục, học bài, làm việc, thiền định, v.v… vào lúc đó thì tốt hơn rất nhiều so với các thời điểm khác trong ngày. Tuy nhiên, hầu hết mọi người đều cảm thấy khá uể oải vào buổi sáng.

Vậy phải làm gì để khắc phục điều đó? Làm thế nào mà chúng ta có thể thức dậy và sẵn sàng ngay cho công việc?

Những cách thức dậy để cảm thấy sảng khoái vào buổi sáng

Sau đây là một số điều mà bạn có thể làm trong ngắn hạn và dài hạn để thức dậy sảng khoái và tràn đầy năng lượng vào buổi sáng. Tôi đã chia chúng làm ba phần; (1) trước khi đi ngủ, (2) trong khi ngủ và (3) sau khi ngủ dậy.

Làm thế nào để tôi có thể luôn sức dậy sảng khoái và đầy năng lượng vào buổi sáng?Làm thế nào để tôi có thể luôn sức dậy sảng khoái và đầy năng lượng vào buổi sáng?

Trước khi đi ngủ

1. Tránh sử dụng cà phê, rượu đỏ và sô-cô-la trước khi đi ngủ

Để có thể thức dậy sảng khoái thì bạn cần phải có một giấc ngủ sâu và một trong những cách tốt nhất để phá hủy giấc ngủ sâu đó chính là làm rối loạn bộ máy tiêu hóa của bạn. Bạn thực sự cần phải giữ cho nó được hạnh phúc suốt cả đêm.

Cà phê, rượu đỏ và sô-cô-la đã được khoa học chỉ ra rằng sẽ làm quấy rầy giấc ngủ của bạn nhiều hơn những thực phẩm khác. Chúng sẽ làm rối loạn hệ tiêu hóa của bạn và do đó bạn sẽ thức như sáo hoặc ngủ được rất ít và không đủ để nạp lại năng lượng chút nào cả. Hãy đừng sử dụng những thực phẩm này ngay từ sau bữa ăn trưa.

2. Tránh cãi cọ với bạn đời trước khi đi ngủ

Một trong những cách tốt nhất để có một giấc ngủ tồi tệ là đi ngủ khi mà bạn chưa giải quyết xong một vấn đề với bạn đời của bạn. Trong mối quan hệ của mình, tôi sẽ chẳng bao giờ cho phép một cuộc tranh cãi vào lúc hoàng hôn, thậm chí nếu tôi phải thỏa hiệp một chút ít với “cái tôi” của chính mình.

Trước khi bạn đi ngủ thì hãy chắc chắn rằng bạn đời của bạn vui vẻ (nhiều nhất bạn có thể) và chắc chắn rằng bạn cũng vui vẻ như vậy. Đó cũng là một trong những cách tốt nhất bạn có thể làm đối với mối quan hệ của bạn, và trong nhiều trường hợp hãy ngủ một mình.

3. Thiền định, cầu nguyện và bình tâm trước khi đi ngủ

Mỗi đêm trước khi đi ngủ thì tôi thường dành khoảng 30 phút đến một tiếng để thiền định. Đây là một phương pháp tuyệt vời vì nó cho phép bạn quẳng đi tất cả những lo toan trong ngày và quên hết những lo lắng của ngày mai. Tương lai thì không thể bị thay đổi trong lúc bạn đang ngủ và quá khứ thì đã qua và không có lý do gì khiến ta phải mất ngủ vì nó! Hãy quên nó đi.

Thiền định hoặc cầu nguyện hay làm bất cứ điều gì bạn muốn. Đơn giản chỉ việc ngồi xuống và theo dõi hơi thở của bạn là một cách rất tuyệt vời để chuẩn bị cho bạn có một giấc ngủ sâu.

4. Đừng ăn tối ngay trước khi đi ngủ

Rất nhiều người chạy thẳng về nhà sau khi làm việc, nấu một vài món cho bữa tối và ăn uống rồi leo lên giường đánh một giấc. Đây là một ý kiến tồi. Quá trình tiêu hóa cần phải mất một thời gian và bạn sẽ không muốn nằm ngủ ngay sau khi bạn vừa ăn một bữa no nê. Cố gắng dành ra một khoảng thời gian vài giờ đồng hồ giữa bữa tối và thời điểm đi ngủ của bạn, đảm bảo rằng bạn sẽ cảm thấy sự khác biệt ngay sáng hôm sau.

5. Bố trí phòng ngủ của bạn theo nguyên tắc Phong Thủy

Tôi biết rằng có rất nhiều người cho rằng Phong Thủy thì có nhiều yếu tố mê tín trong đó, nhưng hãy cho tôi vài giây để thuyết phục bạn rằng nó thực ra có rất nhiều tính “logic theo kiểu phương Tây” đằng sau đó.

Nếu bạn chưa biết Phong Thủy là một nghệ thuật của người Trung Hoa cổ xưa thông qua cách bố trí sắp đặt căn nhà của bạn theo cách cân bằng năng lượng và cảm giác bằng cách sắp đặt những đồ đạc theo một cách chắc chắn gọi là “những điểm nóng”.

Phòng ngủ là nơi quan trọng đặc biệt và tôi đã nhận ra rằng từ khi sắp xếp lại phòng ngủ của mình tuân theo các nguyên tắc Phong Thủy thì tôi đã có những giấc ngủ nhiều yên tĩnh hơn. Trong cái đặc biệt đó thì việc bố trí giường ngủ của bạn là quan trọng nhất. Phong Thủy nói rằng bạn nên ngủ ở nơi mà bạn có thể nhìn thấy cánh cửa nhưng đừng trực diện với hướng của cánh cửa đang mở. Điều này giúp chúng ta ngủ với một cảm giác an toàn hơn. Tôi có thể nhận ra lý do thực tế của điều này. Bạn có thể tìm hiểu thêm một số cách bố trí phòng ngủ theo nguyên tắc Phong Thủy tại đây.

6. Đi vệ sinh trước khi ngủ

Thậm chí nếu bạn không có nhu cầu phải đi vệ sinh trước khi ngủ thì bạn cũng nên đi giải tỏa bất cứ cái gì có thể. Lý do cho điều này đó là những quả thận của bạn sẽ tiếp tục làm việc suốt cả đêm và đến sáng thì bàng quang của bạn sẽ chứa đầy nước. Nếu mà bàng quang của bạn đã đầy ắp từ trước thì bạn có thể sẽ cảm thấy cần phải đi vệ sinh suốt cả đêm và điều này sẽ làm cắt đứt giấc ngủ quý giá của bạn.

Bạn có thể nghĩ rằng ngủ thì chỉ cần đủ thời gian là được, nhưng điều đó không đúng. Điều quan trọng là giấc ngủ của bạn phải sâu và không bị ngắt quãng, bởi vì thường có một khoảng nào đó trong giấc ngủ sẽ đưa bạn vào trong “miền ngủ sâu nhất” nơi mà bạn được nghỉ ngơi một cách hoàn toàn. Nếu phải trở dậy để đi vệ sinh thì có thể làm ngắt đứt “miền ngủ sâu” này.

Trong khi ngủ

7. Không quá nóng, không quá lạnh

Một bí quyết khác liên quan đến giấc ngủ là: giấc ngủ của bạn thường bị ảnh hưởng rất lớn bởi nhiệt độ nóng hoặc lạnh trong suốt đêm. Điều quan trọng là phải đảm bảo sự cân bằng để giữ cho năng lượng của bạn được ổn định và tránh việc nhiệt độ cơ thể thay đổi quá đột ngột.

Cố gắng tìm ra một sự cân bằng giữa quần áo và chăn mền. Ví dụ, tôi thích ngủ mà không mặc bất cứ quần áo gì nhưng cùng với một chiếc chăn (mền) dày. Nó sẽ giúp cho nhiệt độ cơ thể của tôi luôn được ổn định.

8. Luôn mở cửa sổ

Một trong những thứ tốt nhất bạn có thể làm cho sức khỏe nói chúng và giấc ngủ của bạn nói riêng đó là luôn giữ cho cửa sổ của bạn mở he hé suốt đêm. Điều này mang lại hai lợi ích.

Luôn mở cửa sổ trong khi ngủ để cho phòng ngủ được thông thoáng.

Đầu tiên, chính khoảng trống ở cửa sổ sẽ cho phép khí độc CO2 thoát ra ngoài. Lý do là cơ thể con người thở ra là chất khí CO2 độc. Và trong suốt đêm bạn sẽ thở ra rất nhiều và căn phòng của bạn sẽ bị tràn ngập bởi loại khí này. Hãy để nó thoát ra ngoài cửa sổ.

Lý do thứ hai đó là bạn cần cho phép khí oxy bay vào. Điều này cũng có thể giúp bạn điều hòa nhiệt độ của phòng ngủ.

9. Giữ cho giấc ngủ của bạn được nhất quán

Mọi người thường có một quan niệm rằng PHẢI ngủ 8 tiếng mới gọi là ngủ đủ giấc.

Điều đó không đúng.

Điều quan trọng hơn là đi ngủ và thức dậy vào cùng thời điểm mỗi ngày. Không phải ai cũng cần phải ngủ 8 tiếng cả. Trong thực tế, nếu tôi ngủ một giấc 8 tiếng thì tôi thường cảm thấy mệt mỏi và chếnh choáng toàn bộ cả ngày. Chỉ cần 6 đến 7 tiếng mỗi ngày là đủ cho tôi rồi.

Hãy bắt đầu bằng cách hẹn giờ đồng hồ báo thức của bạn tại cùng thời điểm mỗi đêm. Hãy quyên đi những nội dung đang phát trên truyền hình và lên giường đi ngủ vào đúng 23h mỗi tối. Sau một thời gian bắt đầu thiết lập đồng hồ báo thức của bạn tại cùng thời điểm mỗi ngày; thậm chí là cả vào những ngày cuối tuần. Nếu bạn không bắt đầu thức dậy mỗi sáng khỏe khoắn và hạnh phúc hơn thì tôi sẽ viết một bức thư với tư cách cá nhân để xin lỗi bạn.

10. Tránh tiếng ồn, vì nó thực sự sẽ giết chết bạn!

Gần đây tôi có đọc một bài viết trên tờ tạp chí khoa học New Scientist rằng cuộc sống của bạn thì thực sự đang bị ngắn lại bởi những tiếng ồn suốt đêm. Vâng, điều đó hoàn toàn đúng… những âm thanh inh ỏi của xe cảnh sát hoặc tiếng gầm rú của các phương tiện giao thông thì thực sự đang giết chết bạn! Tờ tạp chí này cũng nói rằng những tiếng ồn đó đã ảnh hưởng đến tim của bạn và làm bạn bị thức giấc rất nhiều lần suốt đêm và dẫn đến cơ thể của bạn bị căng thẳng và suy nhược.

Cố gắng giữ cho phòng ngủ của bạn được yên tĩnh bằng cách đeo một vài cái chống ồn vào tai. Bạn có thể đeo những cái chống ồn mà giúp bạn không còn nghe thấy những âm thanh ngoài đường, nhưng bạn vẫn có thể nghe thấy tiếng chuông báo thức để trên cài bàn bên cạnh giường ngủ.

Sau khi ngủ dậy

11. Uống một ly nước lọc

Một ly nước lọc mát lạnh vào một chiếc dạ dày (bao tử) đang trống rỗng thì thực sự mang lại rất nhiều lợi ích cho sức khỏe và cũng góp phần làm bạn tỉnh táo hơn. Lượng nước này sẽ làm kích hoạt sự trao đổi chất và làm bạn thức dậy nhanh hơn và cảm thấy sảng khoái hơn.

12. Tập thể dục

Khi bạn chệnh choạng vào buổi sáng thì việc chạy bộ trong một bầu không khí trong lành sẽ giúp bạn có thể tỉnh táo rất nhanh. Tuy nhiên, điều thú vị là khi mà bạn tập thể dục trong buổi sáng đó thì bạn sẽ thực sự có nhiều năng lượng hơn trong ngày KẾ TIẾP. Bạn càng tập thể dục nhiều thì bạn càng có thêm nhiều năng lượng và trở nên săn chắc và khỏe mạnh hơn.

13. Đừng uống cà phê… mỗi ngày

Khoa học hiện nay đã chỉ ra rằng cơ thể của chúng ta trở nên quen dần với chất cafein trong cà phê mà chúng ta uống và chúng ngày càng có ít tác dụng hơn. Điều này có nghĩa là ly cà phê mỗi ngày của bạn thì sẽ càng ngày càng ít giúp bạn có thể tỉnh táo hơn, nếu như ngày nào bạn cũng uống.

Tốt hơn là bạn chỉ nên uống ly cà phê sáng vào những lúc mà bạn cảm thấy thực sự mệt mỏi và cần một chút trợ giúp. Có lẽ những lúc bạn cần thức khuya hoặc cần thức dậy sớm và làm xáo trộn thói quen ngủ đều đặn của bạn, thì đó là lúc bạn nên có một tách cà phê.

14. Thở sâu

Điều đầu tiên bạn nên làm vào buổi sáng đó là làm một vài hơi thở thật sâu cho tới tận dạ dày (bao tử) và tập trung vào việc thức dậy. Hãy tưởng tượng bạn đang thở trong một thứ ánh sáng trắng rực rỡ sẽ khiến cho cơ thể của bạn cảm thấy hạnh phúc và thanh thoát.

15. Có một công việc gì đó hào hứng để làm

Nếu bạn thức dậy và nhảy vào một công việc bạn ghét phải làm cùng với một ông chủ luôn khiến bạn phát khùng, thì bạn sẽ không thực sự muốn thức dậy nữa. Tuy nhiên, nếu bạn có một điều gì đó mà bạn thích thú đang chờ đợi thì bạn sẽ thích thức dậy một cách hạnh phúc vì biết rằng bạn đang có một điều thú vị đang chờ đợi mình.

Nếu bạn không thể thoát khỏi lão sếp kinh khủng của mình thì bạn nên dành thời gian vào buổi sáng sớm để tham gia một vài hoạt động thể thao giúp cho bạn vui vẻ. Hãy bắt đầu ngày mới của bạn cùng với một điều gì đó vui vẻ và hạnh phúc trước khi bắt đầu công việc của mình.

16. Thức dậy dứt khoát

Khi tôi đi du lịch qua dãy núi Hy Mã Lạp Sơn ở Ấn Độ, tôi đã gặp một vị thiền sư thông tuệ và ông ta đã nói với tôi rằng, một trong những điều tốt nhất bạn có thể làm để có thể thức dậy sớm và cảm thấy tỉnh táo, sảng khoái đó là vùng dậy một cách dứt khoát. Ngay khi chuông đồng hồ báo thức của bạn kêu lên thì bạn nên thức dậy luôn mà đừng có nằm ngủ rốn để ngáy khò khò chút nào nữa.

Ông ta nói với tôi bằng một giọng nửa đùa rằng: “Bạn phải thức dậy trước khi cơ thể của bạn làm điều đó”.

17. Hãy biết ơn vì mình vẫn còn sống

Đức Phật đã nói rằng mỗi khi bạn đi ngủ thì bạn hãy xem như rằng mình sẽ không còn thức dậy nữa. Theo đó, khi bạn thức dậy thì bạn sẽ vô cùng biết ơn vì bạn còn được sống thêm một ngày. Thay vì xem ngày mới là một gánh nặng mà bạn phải “trải qua” thì bạn sẽ nhìn thấy nó là một cơ hội để làm một điều gì đó có ý nghĩa và ích lợi.

Tại sao ư? Bởi vì ai mà biết được, bạn cũng có thể chết vào tối nay cũng nên.

Khi áp dụng đúng đắn sự nhận thức này thì nó sẽ mang lại cho bạn một nguồn năng lượng rất lớn.

Kết luận về việc thức dậy một cách sảng khoái

Đối với mỗi một bí quyết kể trên, thì tôi đã thử áp dụng nó cho chính mình cũng như những người bạn của tôi. Và điều lớn nhất đó là bạn càng áp dụng nhiều bí quyết đó thì bạn sẽ càng cảm thấy sảng khoái hơn khi thức dậy mỗi sáng. Hãy thử áp dụng chúng nhé!

Nếu bạn có những bí quyết khác thì hãy bổ sung vào phần bình luận phía dưới nhé! Tôi rất muốn được nghe về chúng!

Nguồn bài viết: Hồ Sỹ Hùng, blog công nghệ vinacode.net. Bài viết đã được sự cho phép chia sẻ của tác giả bằng email.

Là người yêu thích công nghệ, mình hay tìm đọc các trang về chia sẻ code, blog viết về công nghệ. Tình cờ đọc được blog của anh Hồ Sỹ Hùng, một developer thế hệ 8x, blog của anh có nhiều bài dịch từ các trang nước ngoài, rất phù hợp với những bạn khả năng Tiếng Anh còn yếu, trong đó có mình. Đây là blog hay cho các bạn là lập trình viên, các bạn quan tâm có thể đọc nhiều bài viết hay của anh tại vinacode.net