Skip to content

Những kinh nghiệm làm Freelancer trên Upwork

Đôi nét về mình:

Mình bắt đầu gia nhập hệ thống freelance online lần đầu tiên vào tháng 10/2012, thật tình cờ là đến tháng 10/2017, mình quyết định thay đổi sự nghiệp chuyển sang làm việc như là freelancer / remote 100%. Qua kinh nghiệm 5 năm lăn lộn với Elance rồi tới Upwork mình muốn chia sẻ để các bạn có thể chuẩn bị tốt hơn khi gia nhập thị trường toàn cầu này. Vì mình không giỏi viết lách nên các kinh nghiệm này chủ yếu viết theo dạng Q&A, các bạn có thể hỏi thêm để mình bổ sung vào sau.

Làm gì để kiếm tiền online?

Với Upwork chúng ta có thể làm rất nhiều dạng công việc, từ Admin, Kế toán, Marking, Data Scientist. Tuy nhiên mình là lập trình viên nên chỉ có kinh nghiệm trong mảng này hi vọng các bạn khác có thể đóng góp thêm kinh nghiệm.

Về lĩnh vực lập trình các bạn có thể làm được rất nhiều thứ, từ viết web đơn giản, sửa lỗi giao diện, cho đến các công việc System Admin, tạo Docker hoặc phức tạp hơn có thể làm những dự án về AI, MachineLearning.

Khi bắt đầu làm freelance các bạn nên lựa chọn một thế mạnh của mình và tạo ra thị trường ngách của chính bạn. Ví dụ mình chuyên làm về Piwik, do khi xưa có kinh nghiệm xây dựng hệ thống analytics cho báo VNExpress. May mắn là dự án Piwik vẫn còn phát triển rất mạnh cho đến hiện tại, nên dự án nhiều, mình không cần phải tìm Job nữa, mà khách hàng thường tìm với mình với keyword đứng top trên Upwork.

Nhưng không có nghĩa là bạn ngồi đợi dự án đến mà phải biết chủ động tìm và sắp xếp công việc của mình.

Làm bao nhiêu thời gian – Kiếm bao nhiêu tiền là đủ?

Nếu các bạn làm part-time

– Tùy vào thời gian của mình, sắp xếp lại mỗi tuần dành ít nhất 5 đến 10 tiếng cho việc này, vì nếu ít hơn làm có vẻ không hiệu quả và không được nhiều dự án. Còn nhiều hơn thì tùy sức khỏe, đừng để nó ảnh hưởng đến cuộc sống.

– Để trả lời câu hỏi bid bao nhiêu là vừa cho dự án. Thì đây là kinh nghiệm của mình. Với các dự án theo project hoặc milestone, tự ước lượng và quy đổi ra giờ làm việc. Nếu bạn có 1 công việc full-time. Hãy tính lương theo giờ của bạn. Rồi sau đó lấy số đó nhân lên gấp đôi để tính lương cho freelance. Con số đó mới xứng đáng cho thời gian công sức bạn bỏ ra. Trừ khi bạn mới gia nhập, chưa có nhiều lịch sử, hoặc đang cần tiền gấp.

Nếu các bạn làm full-time freelancer, thì các công thức phức tạp hơn một chút. Vì có thể có lúc ăn không hết, lúc tìm không ra. Phải sắp xếp linh động thời gian của mình để tối ưu được thu nhập trong lúc vẫn cân bằng được với cuộc sống. Thu nhập của bạn lúc này sẽ tùy thuộc vào độ kỷ luật hay là độ lười của mỗi người. Mình chưa có kinh nghiệm nhiều về cái này, khi nào có sẽ viết kỹ thêm.

Chuẩn bị hồ sơ đẹp để được chú ý

– Hình đẹp – Vâng cái đầu tiên nhà tuyển dụng thấy không phải là tên bạn, mà là hình của bạn (vì Upwork che mất tên). Upwork có hướng dẫn để chọn ra bức hình tốt nhất cho hồ sơ của bạn.

– Chức danh – Job Title cần phải nêu rõ ràng bạn làm gì, nếu được ghi rõ cái mình làm, ví dụ Yii, Laravel, Spark … Keyword – nên lựa chọn kỹ  cho search engine, và khách hàng thấy.

– Giới thiệu bản thân, phần này mình nghĩ không quan trọng cho lắm, giống như phần Cover Letter trong CV thôi. Bởi vì khách hàng ít đọc cái này bằng lúc là Proposal.

– Lịch sử kinh nghiệm làm việc – cái này rất rất quan trọng. Bởi vì nó ảnh hưởng đến việc lựa chọn. Chỉ đơn giản số giờ đã làm việc + số tiền kiếm được đã chứng minh cho khách hàng thấy mình là người làm được việc. Cố gắng phải giữ số Job Success và Top Rate.

– Portfolio. Nếu trước đây từng có job thành công, bạn có thể link trực tiếp đến job đó. Không cần nói chi tiết quá nhiều, chỉ cần 1 hình chụp nếu có hình và vài dòng về project. Nếu bạn chưa từng làm trên Upwork, thì phần Portfolio phải được đầu tư kỹ càng vào về các dự án đã làm trong quá khứ.

– Cố gắng mà làm test vào cho hồ sơ, nếu trống trơn không ai dám thuê đâu. Test trên Upwork là free, ngoài ra được retake lại nên cứ chuẩn bị tháng này làm không được thì tháng sau là. (Hiện tại chỉ có test Python mình trong top 10%, còn lại toàn điểm bình thường khá tệ hic hic).

Muốn tham khảo các profile đẹp các bạn có thể tham khảo từ những thành viên khác ở đây

https://www.upwork.com/cat/developers/

Kinh nghiệm khi bid job

Nên dùng chức năng save search để có thể thông báo những job trong lĩnh vực mạnh của mình. Có job là nó tự động gửi thẳng email thông báo. Các bạn nên bid sớm bởi vì theo kinh nghiệm của mình, bid càng trễ thì sẽ thua những người khác nhanh hơn. Và nếu khách hàng post sau 2 ngày thì coi như khó mà có còn cơn hội, không nên tốn nhiều thời gian vào nó.

Mỗi tháng sẽ có 60 connect để bid job. Nên dùng thế nào đây? Với kinh nghiệm lúc mới làm của mình, nên chia nó ra thành từng ngày để bid. Nếu đầu tháng bạn bid hết connect giữa tháng lại có project hay mà không còn đủ, thì phải chấp nhận nâng cấp tài khoản hoặc ngậm ngùi nhìn người khác ẳm mất. Việc chia ra như vậy còn tăng thêm cơ hộ tìm được việc tốt của bạn.

Nếu cảm thấy mình khá rảnh rỗi, nên đi dạo bid để tìm job phù hợp, hoặc lên lịch sớm cho những tháng tiếp theo. Bid thì phải bid ngay để chọn người, nhưng nếu khách chọn được bạn rồi thì tùy vào khả năng mà bạn có thể sắp xếp thời gian làm việc ổn nhất.

Những khách hàng nào cần nên loại

Tùy vào từng thời điểm mà các bạn nên lựa chọn khách hàng của mình, cũng như khách hàng lựa chọn Freelancer, hãy nghĩ đây là mối quan hệ cộng tác giúp đỡ nhau thôi. Mình luôn quan niệm giúp khách hàng hoàn thiện dự án, hơn là làm việc cho họ.

Những khách hàng mới thường có ít kinh nghiệm, hay bị freelancer chê, vì sợ bị giật… Nếu bạn đã làm lâu, thấy dự án khá dễ với mình làm được thì nên chọn. Tuy nhiên budget những dự án này không to, làm cho đỡ chán hoặc khám phá khách hàng mới vẫn ổn. Tuy nhiên đừng tham những dự án thế này, còn phải để cho các freelancer khác mới vào nghề chứ. Tuy nhiên cũng nên chọn khách đã verify phương thức thanh toán.

Khách hàng một số quốc gia và vùng không nên bid… Đặc biệt nếu chưa có profile mình không muốn nêu ở đây sợ lại vấn đề kì thị, phân biệt. Khách hàng đến từ Âu, Mỹ Úc thường đem lại kết quả tốt cho dự án.

Nên loại bỏ những dự án làm bài tập về nhà. Vâng nếu bạn rất cần tiền bạn có thể bid, những dự án dạng vậy không làm đẹp profile bạn hơn bao nhiêu đâu.

Những dự án có quá nhiều người bid, hoặc đã phỏng vấn khá nhiều người cũng không nên tốn thời gian vào làm gì vì cơ hội sẽ thấp. Trừ khi bạn có 1 proposal không thể nào tốt hơn.

Chăm sóc khách hàng cũ

Phải cảm ơn họ, vì họ đã giúp mình trong công việc, đôi lúc khách hàng cũ quay lại và quay lại vì chất lượng và thái độ của bạn. Nên chừa 1 khoảng thời gian cho khách hàng thân thiết này. Có thể lấy quỹ dự phòng 10% thời gian cho công việc đặc biệt ở trên cho khách hàng cũ.

Có thể khi khách hàng quay lại rate của bạn đã cao lên gấp đôi, bạn nên giữ rate cũ có tăng lên đôi chút, cùng với lời nhắn cho họ biết rằng kinh nghiệm mình đã tăng, chất lượng tốt hơn, thời gian nhanh hơn. Thường sẽ được họ bonus hoặc chấp nhận mức rate hiện tại của bạn.

Advertisements

Piwik-Bigquery-Project

BigQuery_500px.pngpiwik.png

  1. Introduction:
  • Nowadays, Piwik is the best open-source web analytics. It could be easy to use, simple to install and has a lot of customization. Many companies used it within their cooperation. With Piwik, people could easily to have in-house analytics tool with all their data.
  • Piwik could easily to handle 100.000 pageviews a day. The Piwik’s bottleneck is database resource for archive processing. I made Piwik to handle 40 millions requests a day. But with special customization – Oracle Cluster Database, Tracking Queue, Database sharding. These customization need a lot of development and system administration work. There is no effectiveness way to make Piwik has scalability.
  • BigQuery is a low cost enterprise data warehouse for analytics. That can easily to handle GB to PB data, without worry about scaling. BigQuery standard SQL is compliant with the SQL 2011.
  • As BigQuery cost is based on scan size of data. We could reduce the cost of running database cluster. 1TB for just $5, that is the amount need to processing 50GB a day (24 time running archive processing). With my own experience we need 4 server with 16 CPU core and 32GB Ram to handle such large data each day which might cost $2000 a month with AWS (and more if you use your own servers).
  • This project purpose is make a Piwik installation that could run easily on Google cloud environment with BigQuery as core Archive Processing. We might have our own analytics software running on Google Infrastructure, the same as current Google Analytics 360 offer without payment $150.000 a year to get our own raw data.

Next:

System Architecture

Chrome (browser) Extension might hack your bank

Chrome and Extension

  • Chrome is the gateway to interact with the Internet worlds.
  • People trust their browser, Extended Validation SSL, bank’s website, Windows, Mac, ISP… but the third party extension could to many dangerous without any notice to user.
  • Hacker could control everything behave of user just using an extension.

Ultimate permission of Extension.

  • Look at this permission, is it dangerous?Screen Shot 2017-06-24 at 10.19.40 PM
  • Extension could see what user’s seeing, know what user entering… And create a completely fake webpage with this permission.  It’s called Javascript Injection attack.

Demonstration

  • An online banking service with SMS OTP verification for online money transfer.
  • Simple POC using javascript and inject via an Chrome’s extension.

Screen Shot 2017-06-24 at 10.12.41 PM.png

  • Fake fields are inserted into the HTML, real input with hacker’s account number fields are hidden.
  • SMS OTP is by-passed because of no destination account in the SMS content.

Screenshot_2017-06-24-21-56-32-121_com.android.mms

  • The OTP was used for another transaction.

Recommendation?

Users:

  • If you don’t know anything. Don’t install any plugin/extension or software that install a extension.
  • If you are advance user, using web browser incognito mode or anther browser with no plugin enabled for bank transaction. We can trust no-one in the Chrome Extension Web Store.

Bank:

  • Add destination account to the OTP.
  • OTP token hardware with transaction signing

A05_NewPin_EN

Google Chrome:

  • More secure permission system.
  • Ask permission to edit HTML content for each website.

 

 

 

 

 

Get the log line with date range

If you want to extract log with prefix is date time like this

[2017-05-01 02:00:06,300] this is a log line details

We might use the awk command following with the condition

awk -F'[]]|[[]'   '$0 ~ /^\[/ && $2 >= "2017-05-01 00:00" { p=1 } $0 ~ /^\[/ && $2 >= "2017-06-01 00:00" { p=0 } p { print $0 }' details.log >  2017-05.log

 

 

Google Maps traffic, It is not “The world’s local navigation”

There is no debate about the market share of the map and navigation anymore. Google Maps beat all other competitor by the Android Phone. Apple navigation is some kind of useless in Vietnam, it shows 32minutes for 28km through the centre, Google map tells 1hh15, more feasible. Other competitors have own advantages, Vietmap, Vietbando, Here, sygic, but no one has released the same function based on user collected data, realtime traffic data.

 

3897227_google-maps-1Traffic data – image: tinhte.vn

While the traffic data is a useful reference information, we can not rely on this for navigation. Why?  But it still not something that can be used while driving, it’s not safe to check on the screen rather than focus on the road, where any moto-bike might appear from any direction on anytime.

The voice control is just for some one doesn’t know clearly about the city and need turn to turn direction. It doesn’t give any recommendation rather estimation when we arrive.

The traffic in Vietnam is chaos, any algorithm which is success on other places can’t be applied in here. Even Hanoi and Ho Chi Minh City have different driving regulations.

From my point of view, with experience of more than 10 years driving through the city, I have some idea to make a useful local navigation which could help traffic in Vietnam a lot.

What do I need?

I drive a lot. My Moto bike reached 50.000km for 4 years. 35km everyday, just go around the city 🙂 I live in the north of city, but sometime I worked in the south). I knew many route, knew how the city’s traffic growing, and some how, how people driving in the city. I have a good habit, be on time. Based on my experience, I might predict exactly which route I should go to the destination to be on time. But it’s just for moto-bike, I’m driving a car now, there are many factors could affect the journey…

  1. I need a navigator help me to be on time.
    It’s not just how I can drive to the destination. The importance is when I’ll arrive. The Google Now has remind to leave, but I can’t rely on this one. I has experience that Google map told me it’s take 40 minutes to the destination, actually more than 1 hours.
  2.  I need an assistance. 
    Rather than just giving me option to choose, I want an assistance should choose the route for me. I have total 4 main routes which could lead me to the office. But the shortest is not the fastest, it based on when I start, which weekday, any special construction, or just a back to school day :).
  3. A precious time to start 🙂
    Believe me or not, sooner is not better (see the shortest is not fastest). There is some time frame in the date that some route/place is peaceful. If we choose exactly time to start with careful prediction, we might save time and money.  Go to work at 5am that I could be at the office at 5am55 but it is not a good idea.
  4. Crowdsourcing traffic data
    It’s not just live traffic data, It seem useless on the road for car, we can’t not easily to change the route while we on a traffic jam. We should predict it and prevent it happen.
    People have routine, it might change overtime, but I’m sure that most of the people would choose the same route for same destination for daily schedule. Go to work, go home, even the taxi, uber, which based on the passenger pattern.  Read through the people mind, we might predict exactly what would happen.
    With user data, we might guess exactly the vehicle, (moto-bike which is most usage but not available on Google maps, car, bus, taxi).
    Based on the traffic data, we might upgrade the Map data automatically, forbidden road, one way road,  car turn forbidden based on time, speed limit, internal roads …
  5. Know me better
    It should know how I drive, do I prefer this road.
  6. All in one place to help a better live
    Imagine that Google Assistance, ask you to go to bed sooner if you want to wake up at 6am, start driving no later than 6:45 to be at the meeting at 8. You might drive 15 sooner for most pleasure driving and save the gasoline or choose the highway for fastest road.
    30 minute later. Hey you, it seem like we have an accident in the next corner, don’t worry, I will help you out, make an u-turn an turn right at the crossroad  (just like realtime satellite navigation on action movies) . It seem like you would be late for the meeting. Do you want me to make a call to re-arrange?

What can I do?

Google can not know the city better than me. Although I can’t not access to the raw traffic data or the Google user history. But I could provide a myself experience based on location history. Use my knowledge of algorithm to help myself to to work. If I’m lucky enough, I could ask my friend from FPT to provide some traffic data based on CCTV, which some kind of a city project.

Let wait what I can do.