分享 从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力

howiehu · 2014年03月01日 · 最后由 mogodb 回复于 2015年03月07日 · 10248 次阅读
本帖已被管理员设置为精华贴

从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力

原文地址: http://blog.huhao.name/blog/2014/03/01/become-a-freelancer-3/


作者:胡皓

Blog:From Soldier to Programmer - 胡皓的博客

GitHub:https://github.com/howiehu

Twitter:howiehu

新浪微博:Howie-Hu


前作: 《从士兵到程序员再到 SOHO 程序员 (一) - 起航》 《从士兵到程序员再到 SOHO 程序员 (二) - 求职》


自从上一篇文章(《从士兵到程序员再到 SOHO 程序员 (二) - 求职》)到现在又过去了差不多 3 个月的时间,也是时候来总结一下这三个月来的经历和经验教训了。

很多朋友告诉我,前两篇文章带给大家了许多“正能量”和“激情”,但是这一次,我要用我的实际经历来给大家泼泼凉水。 所有的努力和奋斗在初始阶段都不会是一帆风顺的 ,这个道理你知我知,我也提前有心理准备,但是后来所遇到的很多问题却超出了自己的预想。

到了现在自己回过头想一想,其实人生的旅途也需要敏捷,所有的变化都是合理的,如果变化过大,说明先前总有哪个地方没做好,埋下了隐患。最后,既然发生了变化,就要勇于去处理解决以及适应变化。

接下来我会先总结一下这 3 个月来的工作和成长经历,然后说一说除了工作以外更加重要的现实阻力。

游击战:必经阶段

这三个月有了两次工作机会,都是创业公司,创业团队,但是都在相互试用之后没能继续下去。为了保护公司隐私,以下不会说太多的工作细节。

第一家公司的人都充满激情,也非常的诚恳和靠谱。他们的产品已经上线,但是因为公司人事变动,没有全职的开发人员,更没有 CTO 或者 PM 这样富有技术经验的人来沟通和规划工作,所以我等于是在半救火的情况下加入的。由于我是刚刚转型到 Ruby on Rails 不久,面对一个缺乏整体设计和必要测试代码的已经上线的现有项目,压力非常大。这些压力或者说是不适合来自于:

  • 都说实际项目的维护和开发能学到更多的东西,但是这在对技术还不够熟练,且没有人能够及时沟通或者完全没人能帮助你的情况下来说是相当困难的。
  • 我是唯一的全职开发人员,另一个曾经的技术核心出国留学,沟通时差 + 其他公司人员对技术都缺乏足够的了解,这种情况下可以说是孤立无援。
  • 项目本身缺乏测试代码,或者可以说是测试根本跑不起来,项目代码耦合度很高,而且已经上线,所以所有的功能性修改对我的技术状况来说都有眼前一黑的感觉。
  • 开发人员过少,日常维护性工作很多,这对注意力和精力都是一种挑战。

所以,在相互尝试了一个多月以后,我建议公司寻找足够的,技术能力更强的人来继续开发工作,这份工作机会就这样结束了。

第二个工作机会是好朋友所在的公司,产品也已上线,正在争取关键性的投资,所以项目进度很紧张。但是由于我这个好朋友的缘故,项目的技术基础非常优秀,TDD 做的非常好,换句话说他已经到了“没有测试就不会写代码”的程度。他对技术的要求和工作流程的要求都非常的严格和正规,可以说是相当靠谱的人和项目,能遇到这么规范的项目的机会真的不多。其实我知道自己与实际要求的差距,项目进度压力也很大,所以我一开始是抱着尝试,学习,实践和帮忙的态度去兼职工作的。但是最终则是自己的问题导致了这份工作的结束。

原因很简单,正当一切都逐渐步入正轨,自己的技术状态也渐入佳境的时候,家里出了一些非常令人烦恼的状况,导致我不能将精力集中在工作上,而这时候我一边扛着家庭烦恼一边工作,最终将自己搞得内伤,也让项目在关键阶段的一个非常重要的功能延误了。

虽然好朋友和老板知道情况后都表示理解,但是这样一个严重的失误让我实在是不好意思再继续干下去,也需要时间调整下自己的状态,所以这份工作也在两周前结束了。

通过这件事,也暴露出来在家办公的一个最大弊端: 工作和生活非常容易混在一起,而且家庭琐事和自己的心情非常容易对工作状态造成极大的影响,因为在家里没办法像在单位那样能够利用环境分散注意力

以上的两次工作经历让我对我自己的技术水平和状态产生了许许多多疑惑,这个时候,恰逢貔貅团队到西安一游,得到了与 RubyChina 管理员 / RubyConfChina 的组织者 吕国宁 进行面对面交流的机会。我将我的疑惑告诉了他,他首先肯定了我选择远程工作的努力,并且对我说了一句话:

这个阶段很多现在远程工作的朋友都经历过,就是要去不断的游击,寻找最适合自己的项目,当你坚持过几个月之后,就会发现自己的技术水平也提升了,这时你再去面试,能够展现出相当于 1 到 2 年 Ruby on Rails 工作经验的技术水平的话,还愁找不到合适的远程工作吗?

这句话对我来说受益匪浅,说明我所经历的这些阶段都是正常的,方向是正确的。

进步:必然产物

虽然短短 3 个月的工作经历,都没能长期做下去,但是这 3 个月中,还是有不少的进步。

1. 技术进步显著

  • 先前所学的所有理论知识都得到了实践,清楚认识到了所存在的不足,也对所学知识有了巩固;
  • 对所学技术有了更系统和深入的了解,当回过头再去看书的时候,能够有更多眼前一亮或者茅塞顿开的感觉;
  • 接触到了实际的好的代码与不好的代码,这对于转型到 Ruby on Rails 是非常重要的经验;
  • 尤其是在好朋友那里工作的经历,让我对规范化的项目有了深刻的认识。

2. 理论知识进一步丰富

这段时间通过边工作变查找相关资料,学习和收集了很多工作中会用到的有用资源,同时还在调整自己状态的过程中看完了以下几本书:

  • 《Remote》
  • 《The Rails 4 Way》
  • 《高效程序员的 45 个习惯:敏捷开发修炼之道》
  • 《程序员的思维修炼:开发认知潜能的 9 堂课》

这每一本书读完后都会有一种 Level Up 的感觉,也强烈推荐给大家!

阻力:资金与家庭

以上说了工作的经历和收获,接下来就要说一说在这三个月中深刻感受到的最大的阻力。

1. 资金压力

资金压力是最关键的问题之一,这取决于你能撑多久,更严重点还会影响到家庭和睦夫妻关系。

如果你没有任何诸如房租、房贷、车贷、养娃这样的大额固定开支压力的话,那么恭喜你,你的存款将会长久的支持你不断的无忧无虑学习和实践下去,直到你羽翼丰满。

但是只要你有上述内容的任何一项,那么你就要认真思索一下像我这样去走向 SOHO 理想是否对你来说适合了:

  1. 你的存款不会支持你太久;
  2. 不要相信父母、老婆、亲戚能够 100% 的理解和支持你,当遇到由资金压力所产生的你意想不到的问题时,他们会给你更意想不到的压力,星星之火真的可以燎原;

如果你有超过一项的上述资金压力时,那么请你千万别像我这样走 SOHO 这条路,珍爱生命,三思而后行。

2. 家庭 == 后盾

资金压力说完了,现在要重点说说家庭,俗话说家庭是你的港湾,也是你坚强的后盾,但是这一切是需要建立在真正的理解和支持你之上的。

长辈

这是我遇到的非常现实的一个问题,家里的长辈们在你下决定的时候鼓励你支持你,同时也会告诫你。但是当你遇到困难或者不顺的时候,才会发现在他们心中,你所做的一切都是: “没有稳定工作”

接下来的一切话你都不会喜欢听,诸如“三十而立,要真正的立起来”,“追逐梦想没错,但是不能给父母和家庭带来压力”等等……

其实这里面包含了太多的代沟,也包含了太多的长辈对咱们这个行业的不理解,同时更不会理解你所追求的工作和生活方式。

我想过让他们去看看《Remote》,但是你们觉得他们会去看吗?所以,笑笑就好,当然也要考虑清楚前面所说的资金压力,你还能撑多久,如果算好即将撑不下去的时候,那么赶紧采取措施吧,有技术不愁找不到好工作。

夫妻

其实长辈的影响并不是最主要的,夫妻关系才是根本,所谓家庭是你避风的港湾,家庭是你坚强的后盾,归根到底绝大多数都是说夫妻关系,这方面不多说了,有老婆的自然明白,没老婆的嘛……好好孝敬和哄好父母吧……

根本原因:自己

其实总结了那么多,说白了最终还是原因在于自己,这里面不光包含了技术方面,更多的是生活经验,技术问题总是能招到解决的办法,但是生活中出现的问题可就不是那么好解决了。我们往往将很多的注意力放在了自己的理想和技术追求上,但是放在生活上到底有多少呢?

换句话说,在决定踏上 SOHO 这条道路之前,你的技术准备和生活准备, 真的准备好了吗

接下来

那么接下来我怎么走?其实没有什么可以避讳的,很简单:

在资金压力达到红线之前,调整好自己的状态,继续不断提高自己的技术水平,努力去寻找真正适合自己的远程工作机会。

如果成功了,大家会看到续作去总结工作经验。

如果失败了,大家会看到一个血淋淋的失败案例,算是给大家做一个参考了。

May the force be with me!

远程风险也很大,祝福一路顺风

在手机上看到你的文章。忍不住爬起来,开电脑来赞一个! 想调整调整了,随时欢迎来"骚我"。

加油 anyway👍

写出了我的心声!!!!鼓掌!!

其实,做技术,也是遵循“摩尔定律”的。技术的提高不会根薪资的提高成正比的,到了一定阶段,提升会很困难。之前我爱人警告过我。。但是我不信,现在我信了!万事开头难,remote 也是一样的。尤其是家庭事情比较多的情况下,现在如果我有事情要做(周末),我必须去公司,或者找一个咖啡馆,一个人,在没有别人打扰的情况下去完成,在家里的话各种打扰啊。呵呵!具体请参考 @yorzi 的微信(跟孩子相比,工作太不值得一提了)呵呵。 加油!

皓哥,加油啊~你可是我的榜样啊!

同路人,兄弟,前进的道路上有你的战友。

愿楼主生活步入正轨。

工作和生活非常容易混在一起,而且家庭琐事和自己的心情非常容易对工作状态造成极大的影响,因为在家里没办法像在单位那样能够利用环境分散注意力。前半句挺同意的。

昨天看到帖子后,跟皓哥私聊了一会。皓哥其实有 5 年多 .net 开发经验,早已达到技术主管级别。

我觉得皓哥转入 Rails 技术主要是兴趣,以及对远程办公方式的向往。但是阶段性的努力后,最需要的是一种阶段性的证明或认可,我跟皓哥接触下来,认为皓哥跟 Ruby 高手之间的距离,用很短时间就能抹平,现在差的就是一个契机而已,皓哥坚持!加油!事业上得事情方向对了没有啥需要担心的,所以唯有祝愿你生活幸福。

12 楼 已删除

好事多磨,加油

#11 楼 @lgn21st 额,夸张了,可能你有点误解哈哈,我离技术主管自认为还有不少差距,只是先前担任过大型项目的 PM 经验而已……我的技术经验其实自己总结下来排除浪费和不够注意力的时间应该是 3 年左右吧。

不要放弃,Daniel 的建议和判断很准确,现在就是怎么能够坚持度过一个"被认可"的阶段,被认可首先是自己认可自己,然后,度过黎明前的黑暗,后面就是一路向前。加油!

#16 楼 @yorzi #11 楼 @lgn21st #13 楼 @allenwei 你们对我的支持,帮助和意见都非常宝贵,也是我坚持的动力之一。

#17 楼 @howiehu 本人创建了个 1 个 remote 学习交流群,求兄弟入会。

161862699

#6 楼 @jarorwar 有远见啊,我家人就以为工资会永远看涨的...

很有借鉴意义,加油!

非常理解

再来这里顶一个~ fighting!

总结的好,想 LZ 致敬!

其实关键的是家人的支持,最重要是家人理解你的工作。不理解如何支持?当然沟通最重要。有婴儿的就比较麻烦点。本人已经辞工在家 soho 两三年了,工作语言是 PHP 和 JavaScript。

27 楼 已删除

顶!!!!!!!!!!!!!

我也是自由职业,大学基本全部在研究技术了直到毕业实习什么的都是==不知道的人以为我死宅玩游戏。。。后来去了某公司对于办公室政治以及核心开发人员离职实在压力大果断辞职在家一边玩(户外)一边学习(BTW 我是时间管理控 买爱疯就是因为某时间管理 APP)到去年 6 月份正式接单 重点每天工作感觉跟玩似的 这个玩不是疯玩那种感觉大家懂的。重点收入理想家庭有矛盾对于我这种决定要做了 怎么厚脸皮都要尽力做好的人家里人也慢慢支持。不过还是有人说我是在家玩游戏== 管他们呢。还有说下。。。本人 22 无牵无挂 安静但也闹腾的三线城市 收入方面可以说已经跟被北上广看齐。。重点是自由的每天安排自己的时间这个太爽!

我很快也会加入你们的行列。加油,兄弟

看看!

#29 楼 @yiran 能说说有什么接单的渠道吗?无论国内国外

看了半天,没想到最后发现楼主就是我司的。

#34 楼 @Seabornlee 额,看来是时候写第四篇了哈哈……

#11 楼 @lgn21st 你爱人可能对远程工作不大了解,如果不顺,是很难得到支持的,楼主都想了什么方法来得到她的支持呢?

#29 楼 @yiran 某时间管理 APP,这个软件对你帮助大么?

38 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号