Cũng như một số ngành khác, freelance có lẽ là một công việc mà nhiều người ưa thích và hướng đến. Có thể nó tự do, có thể nó chủ động trong công việc, không phụ thuộc vào sếp, không phụ thuộc vào công ty. Với ngành lập trình cũng vậy, nó cũng là một trong số các lĩnh vực có khả năng làm việc freelance rất cao. Bài viết này là chia sẻ những quan điểm của bản thân sau một thời gian ngắn làm freelancer nhé!
Thực sự thì thường lập trình viên không thích sự gò bó theo khuôn khổ nên con đường freelancer thường là con đường mà nhiều dev chọn lựa.
Vậy cụ thể thì freelancer là gì?
Freelancer là những người làm công việc tự do, không bó buộc vào một công ty nào cả. Freelancer thì có hai dạng, một là làm freelancer toàn thời gian, hai là freelancer chỉ làm buổi tối và cuối tuần. Còn ngày thường thì vẫn đến công ty làm bình thường. Với mình thì đã và đang làm ở trường hợp thứ 2, nó có thể được coi là một công việc thứ 2 của mình, mặc dù thu nhập chẳng đáng là bao 😄
Vậy từ đâu để có công việc có thể làm ở nhà?
Thông thường thì có vài cách nguồn chính mà bạn có thể nhận được công việc freelance.
Đầu tiên chính là người quen giới thiệu, hey, em ơi chị có muốn xây dựng tổ chức bán hàng cần xây dựng một website này, bữa nào rảnh cafe ngồi giúp chịu một vài ý tưởng với. Đó công việc đến dễ dàng bất chợt vậy đó, rồi sau khi làm xong, ưng ý giới thiệu truyền người này người kia thôi. Nhưng lắm khi thì lại đói mốc mỏ lên ý chứ 🙂
Thứ nữa là nhận outsource từ một công ty nào đó, công ty này sẽ có những phần mà họ không đủ nhận lực làm, họ sẽ outsource ra bên ngoài, hay có những công ty chuyên nhận dự án nước ngoài về sau đó phân tích lên kế hoạch, chia nhỏ module, phần việc sẵn hết rồi. sau đó tìm người làm hoàn thành công việc đó. Việc tích hợp hệ thống họ cũng đảm nhận luôn. Mình chỉ cần làm đúng đầu vào đầu ra cho họ là được. Bên cạnh những công ty outsources này thì có những trang web chuyên thuê với hình thức tương tự, làm thành phần nhỏ nào đó trong cả một hệ thống lớn phần mềm.
Thứ 3, bạn có thể làm từ a đến z, từ chuyện tìm dự án thông qua các trang, hội nhóm, hay lắm khi họ tìm đến tận blog của bạn để yêu cầu, miễn là bạn xây dựng thương hiệu cá nhân đủ tốt, và có đội nhóm sẵn sàng đám ứng được công việc.
Đôi khi thì bạn có những công việc thông qua những đồng nghiệp cũ, người quen của họ, những anh chị đi trước, hay chính sếp trước đây và hiện tại của bạn. Cái này thì nhiều vì họ biết bạn, họ từng đánh giá được năng lực của bạn trên công ty. Các anh chị lão làng đi trường thường hay startup kiểu như này lắm. Họ có kỹ năng quản lý, kỹ thuật, họ có kinh nghiệm, mối quan hệ và thế là họ kéo bạn vào làm thôi.
Có 3 hình thức làm freelance phổ biến trong giới lập trình viên:
Như bên trên mình có đề cập, bạn có thể nhận qua người quen nhận nguyên cả một sản phẩm, thì bạn sẽ làm cho tới khi hoàn thành sản phẩm đó và nhận một cục tiền thôi (tất nhiên là có bảo hành, bảo trì bảo dưỡng).
Tiếp đó thì bạn có thể làm theo module, bạn nhận được yêu cầu, làm đúng đầu vào đầu ra, họ có đội ngũ kiểm thử ok thì bạn nhận tiền (thường là nhận tiền rất chậm hơn bạn nghĩ)
Cuối cùng là làm theo thời gian, đơn cử thì một công ty hay một anh leader nào đó nhận dự án về chia task, bạn làm đủ giờ đủ tiếng, không quy định thời gian cụ thể nào trong ngày, địa điểm ra sao, miễn là làm xong task phần đó phần đó, thời gian đó mà bạn đồng ý ban đầu thì bạn nhận tiền theo giờ, 5$/h, 10$h hay hơn thế nữa thì tùy vào thỏa thuận giữa bạn và anh trưởng nhóm mà thôi.
Ngoài ra còn một số hình thức khác như thiết kế template, plugin đẩy lên trên website sẵn, rồi kiếm tiền trên số lượt tải về và sử dụng.
Vậy khi nào thì có thể làm freelanncer?
Điều này thì dựa vào chính bản thân bạn. Về năng lực thì bạn phải đủ sức để có thể làm được việc đó đã, khó thể nào mà một sinh viên mới ra trường vẫn còn đi học việc, chỉ biết làm mấy đồ án demo nho nhỏ có thể nhận được một dự án lớn hoàn chỉnh. Nếu bạn sáng dạ một chút thì bạn có thể nhận một hai cái dự án nhỏ của mấy chị bán hàng online, về nghiệp vụ không quá phức tạp, kỹ thuật không đòi hỏi quá cao siêu thì vẫn có thể nhận được. Mới ra trường mình toàn nhận mấy cái 1, 2 triệu nghĩ lại thấy bèo nhèo hết sức.
Về khả năng đánh giá, phân tích nghiệp vụ và bức tranh tổng quát, cái này lại là một điều khó mà bạn cần học dần dần, thường thì đi làm công ty một vài năm rồi thì bạn mới có kinh nghiệm cho những vấn đề này, nhưng bạn vẫn có thể làm thông qua những anh chị leader nhận dự án mà mình đã nói bên trên họ sẽ giúp bạn kiến trúc, phác thảo những phần cần làm, và tích hợp hay xử lý những issue phát sinh trong quá trình làm.
Về khả năng quản lý thời gian, cái này có lẽ mình thấy khó, có thể bạn làm toàn thời gian, cả một ngày chỉ làm freelance thì bạn vẫn phải tự tổ chức sắp xếp phân loại quỹ thời gian của bản thân để có thể hoàn thành được công việc. Thường thì bạn sẽ hay bị cuốn theo những hoạt động thường ngày, những cuộc chơi, những tiếng gọi hấp dẫn mà quên đi công việc hiện tại. Sự trì hoãn cũng khiến bạn gặp khó khăn, vậy nên nếu ai làm freelancer mình lại đánh giá cao về tính kỷ luật và khả năng sắp xếp công việc của họ.
Làm sao để tự mình quản lý được một dự án freelance?
Một dự án freelance nhiều bạn cho rằng thứ khó khăn nhất là tìm kiếm nguồn việc, ừ thì cũng đúng đó nhưng theo mình nó chưa phải là thứ khó khăn nhất khi dấn thân vào lĩnh vực này. Thứ khó khăn nhất mà mình thấy đó chính là quản lý chất lượng và tiến độ dự án làm sao phù hợp với ngân sách ban đầu. Nếu bạn tự mình nhận dự án làm từ a tới z hay bạn quản lý một team để vận hành dự án. Có lẽ điều đầu tiên bạn đối mặt là về làm sao để định giá phần mềm bạn sẽ làm, dựa vào đâu, làm như nào, chức năng ra sao, thời gian hoàn thành, thời gian bàn giao toàn bộ dự án. Để tính toán được những vấn đề này thật sự khó, bạn không thể dùng cảm tính để định lượng và định giá sản phẩm được. Mọi thức đều phải phân tích và liệt kê một cách cụ thể thì bạn mới hi vọng có thể chạy được dự án ít nhất là hoàn thành đúng kỳ hạn đã. Chưa kể về mặt chi phí, tiền mà bạn định giá và lấy của khách hàng cũng phải được tính toán song song với số chức năng bạn nhận. Lời ăn lỗi chịu nên bạn mà đánh giá theo cảm tính là khả năng bạn sẽ nhận được cay đắng là rất cao. Nếu quá thấp thì bạn không đủ công cán, nếu quá cao thì khách hàng không chịu. Sự đàm phán thỏa thuận dạng như này cũng cần được bồi đắp và học dần dần và đó chính là nguyên nhân bạn nên đi làm trước rồi hãy nhảy ra làm freelancer hoặc chỉ nhận dự án thật nhỏ rồi lớn dần dần lên.
Sự thật không thể phủ nhận là một khi dính đến chuyện tiền bạc thì cho dù chó quen thân đến mấy cũng khó mà giải quyết ổn thỏa được khi bạn không làm rõ ràng ngay từ đâu. Ngoài những chuyện tính toán chức năng và giá cả ra thì đôi khi bạn còn phải lường trước được những kỳ hạn thanh toán bàn giao, đừng để nợ công chồng chất, những chất xám bạn bỏ ra đã không nhận lại được thì thôi lại còn không đủ tiền mà trang trải ăn uống mà làm tiếp.
Một vấn đề nữa đặc thù cho riêng phần mềm là khả năng thay đổi nó khá cao, không phải bạn nhận làm A thì nó sẽ là A, mà nó còn thay đổi thành B, phát sinh thành C, đập bỏ thành D. Đó có lẽ là rủi ro lớn nhất và đau đầu nhất khi tự mình quản lý một dự án. Biến số ban đầu khi nhận có thể thay đổi khiến cho những tính toán của bạn đổ sông đổ bể trong phút chốc. Khi này thì khả năng đàm phán và những giấy trắng mực đen khi ký sẽ giúp bạn giảm thiểu rủi ro. Việc thay đổi chỉ trong vùng chấp nhận được thì bạn có thể làm với mức giá cũ, nếu thay đổi quá nhiều khiến phần lõi sản phẩm phải đập đi làm lại thì sao bạn có thể chấp nhận được, bạn lấy gì để đảm bảo cho bạn đây. Quản thực không dễ để tính trước.
Khó khăn thì nhiều lắm, không chỉ dừng lại ở đó đâu. Với kinh nghiệm ít ỏi của mình thì có lẽ cũng chưa thể giúp bạn liệt kê được hết ở đây. Phải trải qua nhiều lần thương đau thì mình mới có thể cập nhật dần dần 😄
Dưới đây là một số tips khi bạn chạy một dự án freelancer mà mình thấy được trong quá trình làm việc nhé!
- Bạn cần có kỹ năng giao tiếp để tiếp cận trao đổi, thương lượng, đàm phán, bàn bạc, thậm chí là phân tích để hiểu được nhu cầu khách hàng.
- Hãy bắt đầu từ Freelancer lập trình bán thời gian, một dự án nhỏ, hay một module nhỏ nào đó.
- Tạo cho mình một profile tốt và xác định rõ những thế mạnh của bản thân từ ngôn ngữ, công nghệ hay kinh nghiệm.
- Đừng nhận quá nhiều dự án cùng một lúc, ít đảm bảo, tạo uy tín và đi từ nhỏ lên.
- Cân bằng và quản trị thời gian của bản thân thật tốt trước khi bắt đầu tham gia một dự án, tránh trễ deadline là phải đền hợp đồng đó.
- Chia thành nhiều giai đoạn nhỏ nghiệm thu và nhận feedback cũng như thay đổi kịp thời từ khách hàng sớm nhất đồng thời thanh toán tiền theo từng giai đoạn đó. Đừng nên tất tay rủi ro cao lắm.
Trên đây là bài viết theo quan điểm cá nhân của mình, có gì thiếu sót hoặc bạn có những kinh nghiệm đúc rút nào đắt giá từ công việc freelance thì có thể bình luận phía dưới nhé!
Thân!
#ntechdevelopers