Dạo gần đây, mình thấy trên nhiều group Facebook, nhiều bạn thắc mắc “Thu nhập mấy ông lập trình viên sao cao quá vậy?”.
Sau khi ngẫm nghĩ một hồi, mình quyết định viết bài này để chia sẻ với các bạn về "8 cách mà các ông lập trình viên hái ra tiền" để mọi người tường tận hơn về nghề developer, sự linh hoạt của công việc này trong tình hình dịch bệnh phức tạp hiện nay.
Cách 1: Trở thành một lập trình viên chuyên nghiệp ở công ty
Bắt đầu một công việc ở công ty là cách đơn giản và phổ biến nhất để kiếm thu nhập một cách bền vững. Ngoài ra, môi trường ở các công ty sẽ giúp bạn học hỏi được nhiều kinh nghiệm thực tế (kinh nghiệm code từ các developer khác, kinh nghiệm quản lí team từ sếp, kinh nghiệm quản lí dự án) .
Mức lương của lập trình viên ở công ty sẽ phụ thuộc vào nhiều yếu tố khác nhau (địa điểm, năng lực cá nhân, ngôn ngữ,..) nhưng nhìn chung mức lương của lập trình viên tại các vị trí sẽ dao động như sau:
- Đối với intern : 3tr-5tr
- Đối với fresher : 7tr-12tr
- Đối với junior : 14tr-20tr
- Đối với senior : > 20tr
Để trở thành một lập trình viên giỏi ở công ty, ngoài việc nắm chắc các kiến thức nền tảng trên trường đại học như cấu trúc dữ liệu giải thuật, OOP, database,... chúng ta còn cần phải biết cách sử dụng cách công nghệ, framework mới để tăng hiệu suất cho quá trình phát triển dự án. Ngoài ra, vốn tiếng anh tốt và các kĩ năng mềm sẽ là bước đệm quan trọng giúp bạn thăng tiến dài lâu hơn trong công việc.
Cách 2: Trở thành một Freelancer
Tôi không thích làm việc ở công ty, tôi lười tới văn phòng, tôi thích ngồi tại nhà làm việc hơn. Vâng, freelancer sẽ là công việc phù hợp với bạn.
Khi trở thành freelancer, bạn sẽ tự mình tìm kiếm, phát triển và triển khai dự án cho khách hàng. Khách hàng của bạn có thể là những người quen biết, hoặc những người được matching thông qua các freelancer platform. Hiện tại các nền tảng freelancer nổi tiếng có thể kể đến như freelancer.com, upwork.com, vlance.vn (ở Việt Nam),... Thu nhập của 1 freelancer sẽ phụ thuộc vào quy mô của dự án. Do đó, có lúc freelancer sẽ kiếm được rất nhiều nếu chốt được dự án ngon, nhưng cũng có những lúc sẽ rất đói nếu không kiếm được dự án để làm.
Nếu bạn đã có nhiều kinh nghiệm sau nhiều năm làm việc, có một nền tảng khách hàng tốt, có một skill đặc biệt ít người có thì việc trở thành một freelancer là điều hết sức tuyệt vời. Tuy nhiên, nếu chưa đảm bảo các yêu cầu trên thì việc trở thành freelancer phải được cân nhắc thật kĩ bởi vì:
- Khi làm trong 1 project ở công ty, ta học hỏi được rất nhiều thứ (kinh nghiệm code từ các developer khác, kinh nghiệm quản lí team từ sếp, kinh nghiệm quản lí dự án). Khi chuyển sang làm freelancer sẽ không còn cơ hội học hỏi những điều trên
- Vấn đề khó khăn nhất hiện tại với freelancer là bạn phải tranh giành khách hàng với hàng triệu developer khác. Các developer đấu đá nhau và đẩy giá của project xuống ngày càng thấp. Khách hàng thường mong muốn chi phí nhỏ nhất.
- Làm freelancer không thoải mái như bạn nghĩ. Bạn tốn rất nhiều thời gian để tìm kiếm khách hàng, nói chuyện với khách hàng, bàn bạc các tính năng mới họ yêu cầu, phải làm thoả mãn khách hàng và mong họ vui vẻ cho mình một review tốt để tăng giá trị cho profile.
Cách 3: Xây dựng một kênh Youtube
Trở thành một youtuber không còn là điều xa lạ đối với chúng ta khi mà mọi content trong cuộc sống thường ngày đều có thể chuyển thể thành video.
Khi trở thành một youtuber trong lĩnh vực lập trình, bạn có thể đăng tải các video để chia sẻ về kinh nghiệm lập trình của mình, chia sẻ về cuộc sống của lập trình viên, chia sẻ về những công nghệ mới mà bạn thấy hay hoặc đơn giản là chém gió về sở thích của bạn. Các kênh youtube nổi tiếng bạn có thể tham khảo qua để phát triển content cho kênh như: Traversy Media, Joma Tech.
Kênh youtube giúp bạn kiếm được thu nhập thụ động dựa trên số lượt xem. Khi kênh của bạn có nhiều lượt đăng ký, các thương hiệu sẽ đặt quảng cáo vào giúp kênh có thêm thu nhập.
Cách 4: Viết blog
Tôi - người đang viết bài viết này là một blogger trong số hàng ngàn blogger khác trên viblo.
Khi trở thành một blogger, bạn sẽ sử dụng kiến thức và ngôn từ của mình để chia sẻ kinh nghiệm dưới dạng bài viết. Bạn có thể có cho mình một website blog riêng hoặc đăng bài viết lên các blog platform như spiderum, viblo, medium. Khi blog của bạn đã có một lượng user truy cập nhất định, bạn có thể đặt quảng cáo vào trang web để kiếm thêm thu nhập thụ động. Đặc biệt, với lượng traffic cao, việc bạn nhận được lời mời cộng tác từ những người bán hàng online là chuyện thường tình.
Việc viết blog còn giúp bạn nâng cao khả năng viết lách của bản thân, xây dựng thương hiệu cá nhân, hệ thống hoá các kiến thức mình đã học. Thật tuyệt phải không nào!
Cách 5: Trở thành mentor
Với kiến thức và kinh nghiệm của mình, bạn có thể trở thành mentor kèm cho các bạn học sinh, sinh viên, newbie muốn tìm hiểu về lập trình.
Thu nhập khi trở thành mentor cũng giống như bạn đi làm gia sư. Nếu lớp học của bạn có nhiều người theo học thì nguồn thu nhập từ việc mentor có thể trở thành thu nhập chính của bạn. Ngoài ra, trong ngành công nghệ thông tin, việc mentor có thể thực hiện dễ dàng trên môi trường online (Google Meet, Zoom,...). Thật tuyệt vời trong thời điểm dịch covid bùng phát hiện nay.
Để tìm kiếm mentee, bạn cần xây dựng profile cá nhân cho thật hoành tráng và thường xuyên tương tác với các cộng đồng lập trình trên facebook, twitter,...
Cách 6: Tạo khoá học
Tương tự như mentor, tạo khoá học cũng là một cách để bạn bán kiến thức và kinh nghiệm của mình. Tuy nhiên, thay vì giảng dạy trực tiếp, bạn sẽ lưu trữ các bài học dưới dạng video.
Thu nhập từ việc tạo khoá học là cực kì lớn. Hãy xem qua khoá học web của bác Andrei trên Udemy: https://www.udemy.com/course/the-complete-web-developer-zero-to-mastery/. Bạn có thể thấy bác có tới 150,000 students join vào khoá học. Với mỗi student, bác kiếm được 130$ thì khi nhân lại, ta có thể tính được thu nhập cực khủng mà bác này có được thông qua 1 khoá học (19tr USD ???). Ngoài Udemy ra, ta còn có các trang web nền tảng khoá học khác như Pluralsight, Lynda, Unica,...
Để có một khoá học thành công, bạn cần đầu tư rất nhiều vào bài giảng, nội dung, lĩnh vực giảng dạy. Đôi khi bạn cần nắm bắt nhanh các công nghệ mới, hot, thuộc hàng trending để đáp ứng sự thay đổi chóng mặt trong giới công nghệ.
Cách 7: Tạo ra sản phẩm thương mại
Tạo ra một sản phẩm phần mềm để đáp ứng nhu cầu của khách hàng cũng là một cách để kiếm thu nhập cho lập trình viên.
Bạn sẽ lên ý tưởng, khảo sát thị trường, xây dựng và triển khai dự án phần mềm. Đó có thể là một mobile app, một desktop app, một website cung cấp các tính năng mà người dùng cần. Nếu sản phẩm của bạn thực sự hữu ích cho người dùng, bạn sẽ có trong tay một lượng khách hàng nhất định. Khi đã có khách hàng rồi thì bạn có vô vàng cách để kiếm tiền: đặt quảng cáo, cung cấp các gói thành viên, cung cấp giá cho các dịch vụ,...
Tuy nhiên, việc tạo ra một sản phẩm thương mại thành công rất là khó khăn và còn phụ thuộc vào rất nhiều yếu tố (ý tưởng, nguồn vốn, marketing,..).
Cách 8: Contribute cho các Open Source Project
Nếu bạn chưa có ý tưởng để phát triển thành sản phẩm thương mại, bạn có thể cống hiến cho các dự án mã nguồn mở trên Github.
Có vô vàng dự án open source trên Github. Từ những framework khổng lồ như Flutter, React,... cho đến những thư viện cơ bản như Slide, các extension cho các IDE,... Bạn có thể nắm bắt các dự án Open Source trending ở link này: https://github.com/trending Việc phát triển dự án Open Source giúp bạn học hỏi được nhiều best practice coding từ các guru - những developer lão làng trên thế giới. Ngoài ra, nếu dự án Open Source của bạn hữu ích cho cộng đồng, đừng ngần ngại đặt một button "Buy me a coffee" bên dưới, để cộng đồng donate cho dự án của bạn.
--- Kết bài
Hi vọng thông qua bài viết, các bạn đã biết được cách mà các ông lập trình viên kiếm được tiền để mua sữa cho con. Để lại comment nếu có vấn đề gì thắc mắc nhé!