分享“我的作为自由职业者的那些日子”

2024-06-21 20:48

本文主要是介绍分享“我的作为自由职业者的那些日子”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在一篇博客上看到这篇文章,挺喜欢的,转过来供大家参考

2006年夏天,一个朋友告诉我,我可以在一个叫做Rent A Coder(现在叫做vWorker)的网站做编程,挣些外快。我当天就注册了。由于在一个项目上耽误的时间,没有来得及做,我就对“编程挣钱”的想法失去了兴趣。我几乎忘记了这个事儿。

很快两年后,我在北美洲的一个大学攻读博士学位,身上只有一种学生的visa卡,口袋里空空。很多月里,我都是靠学校的奖学金维持生活,直到有2个月,他们忘记了给我打款。哦,一个半月只吃大米的日子真是享受… 很糟糕,也很刺激。

这段“黑暗”的日子让我意识到,我应该干点什么来防止这种日子再次发生。我一直很喜欢编程;我的博士攻读的是计算流体动力学(Computational Fluid Dynamics)的编码方法。我的不足?我只会Fortran这种一种语言,对C语言只有初级水平。当然,我非常擅长写小的Bash和awk脚本,能用来处理我的数据文件,我知道的也就这些了。

我重新激活了Rent A Coder上的帐号,开始寻找一些小的项目。我的第一个“项目”是一个区区5美元的C程序,为了这5美元,我给这个挑剔的客户干了1个星期(对于新手,这是个好事,一个挑剔的客户会督促你实现更强健的程序,提高你的水平)。一周后,我提交了代码(用来统计任务的,通常的输入数据的文件会有10-100MB),还要完成“C语言(第二版)”这本书里的所有习题:-)。

我以一个只知道写简单的“Hello World”的初学者开始了我的这个C语言项目,到了一周的结尾,我已经学会了使用C语言,能用它来处理大型数据流。当然,我的C程序都是以Fortan为样板,依葫芦画瓢出来的,在我的博士项目里也是这么干的。我对Fortan非常的熟悉,1999年我就参加了Fortran学习的课程。

从这第一个C语言项目后,客户开始每周都给我一个C语言任务,我要的报酬越来越多,因为任务开始变的复杂(使用Liunx上的系统程序包做并行程序编程)。此时,我也开始研究C++了。

我学东西很快,这是我跟其他竞争者比较时最大的优势,因为我的数学很好,运用这些知识我可以在几天内学会一门新的语言。我非常积极的寻找新的项目,第一年我干的非常努力和辛苦。

头一年末尾,在Rent A Coder上,我已经能从一个新项目上挣到100美元了。我从来不拒绝新客户:要做一个Flash和ActionScript的交互式凸显程序?没问题,我几天就能学会…Processing?这是什么?哦,OpenGL方面的,没问题,我可以做。Python,Ruby,JavaScript,C#,Matlab。那是一段很刺激的时期。

另一方面,作为一个新手,你需要跟那些具有各种经济水平的程序员竞争,这会使价格拉的很低,一个人不可能靠做这些项目为生。竞争在初级水平层面上尤为残酷,特别是挑剔的客户只愿意出10美元,还要不停的往项目里加新的需求。

做自由职业的第二年,我不再任何项目都接了,我开始挑选客户,接每个项目愿意出至少要500美元的客户。这样的交易不错,一个月4到5个项目,在加拿大,我的收入也算中等水平了。后来我也开始挑选项目了。很烂的项目不再接受。这感觉很好!

2年多来,我已经从每个项目5美元,到了一年3到4万美元了,我对编程的知识突飞猛进,我还参加了数据结构的课程。我在那个网站上已经跻身前500名了(总共有20万会员)。这来之不易,有时候我需要每天工作8到12小时来完成一个项目,或学习一种框架。

现在,我有了一些私人客户,可以直接给他们干活,我有充裕的时间来做自己的一些事情,例如开一个编程博客,写一个Scheme语言的解释器,或写苹果应用商店里的程序。我偶尔的还到那个网站上干活(现在叫做vWorker里),只做一些有兴趣的项目(通常是并行程序编程和图形计算)。我不需要再四处找项目,现在我可以竞标参与我感兴趣的项目。一旦你能跻身前100名,你基本上就能自己定价,只干自己想干的项目了。

但这最重要的你要知道的是,做自由职业只是你事业的第一步,你的最终目标应该是挣一些具有主动性的钱,例如开发苹果应用商店程序或直接面对你的客户,而不是一辈子干的活都是去实现别人的梦。

这篇关于分享“我的作为自由职业者的那些日子”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082301

相关文章

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck