阅读更多

22顶
2踩

互联网

原创新闻 一位资深IT自由职业者的2010年回顾

2011-01-29 11:18 by 见习编辑 jobbole 评论(24) 有19218人浏览

  编者按:本文作者Matt Raible是一位资深的UI架构师,从事IT行业咨询的自由职业者。他同时也是App Fuse的作者,著有《Spring Live》。Matt选择从事自由咨询是因为他认为自由咨询可以带来更高的收入,同时也比全职工作更自由。Matt提到的更高收入会有多高?编者根据 Matt博客中一篇文章的描述,推断雇用Matt的费用每小时至少需要数百美元。以下是Matt Raible回顾自己2010年的文章内容。

  2010年是一个heckuva年,可能是我所有特别喜欢的事情之一。它以很多早有预料的开心的事情开始,以诸如旅行、滑雪和放松活动结束。我现在只 能抽时间来写这篇文章。在2010年伊始,我有很多目标,头一个就是:快乐/幸福。其他目标有:跑步、滑雪、山地骑车和完成The Bus。我同样也有一些职业目标,包括开源、会议、发表文章和学习新技术。我大约完成了75%的个人目标和50%的职业目标。因为在过去一年中有着很多愉 快的经历,因此,对于这两个百分比,我感到很满意。

  2009年12月,我开始在时代华纳有线电视公司(TWC)工作,担任Web开发的首席架构师。受雇于帮助他们组建一个能勤奋工作的开发团队,以便尽 快建立他们的在线视频系统。1月在弗吉尼亚州,在雇佣几位敏捷教练后,我们开始用敏捷方法培训成员。在那个月,我只写了一篇关于《development infrastructure stacks》的技术文章。在TWC和我现在的gig,我发现下面的组合很受用:

  • 源码控制:SVN
  • 源码查看器:FishEye
  • Wiki: Confluence
  • Bug追踪器:JIRA
  • 持续集成: Hudson

  我们在TWC公司尝试过几个月的Git,但后来转到SVN,因为在我们最为紧张的一个开发周期中,出现了“代码删除”问题。在这期间,我和孩子们(伯 乐在线注:Matt有两个孩子:Abbie和Jack)都没有去滑雪,我们写了《How to be a Super Hero》和《The Adventures of Upside Down Man》。

  在二月,我重拾Grails知识,开始艰难地教那些不懂Java的开发人员。首先,有很多关于Grails和Groovy的书籍只针对Java开发人 员。第二,那些我尽力去教的开发人员,他们更有兴趣学Java。既然我教Grails失败了,我们后来就选择Spring和jQuery来构建我们的应 用。因为我们的大多数开发最后都以(ActionScript/Flex、 Objective-C和jQuery/HTML)构建UI,因此,当初的选择还是不错的。

  在二月初,我家遭贼,我的笔记本在卧室被盗。还好备份工作做的到位,我并没有丢失任何数据。此外,商业保险弥补了我的损失。我父母过来帮我重建了客 厅。我写了一篇《My Future of Web Frameworks Presentations》。同时,因为《Jack was flying past both Abbie and I and giggling while doing it》,作为他的父亲我感到非常自豪。

  到三月初,我们在TWC公司招聘组建了一个10人的团队。作为庆祝, 我们去Jackson Hole旅行了一趟。在此次旅行中,最让我高兴的是,看到团队非常团结。Kudos和Chris组成这样一个优秀团队,并一起组织了这样令人难忘的旅行。 对于来年的旅行,我们都向往不已。

  接下来一周,我飞往拉斯维加斯,参加 ServerSide Java Symposium 大会。其中关于Cloud、 Web Service APIs、 Flex和 Spring 3的会议,以及卡梅隆的《Lessons Learned from the Internet Age》我尤为喜欢。大会结束后,我写了《Future of Web Frameworks and GWT vs. Flex Smackdown presentations》。我的三月是以Trifecta结束的。

  在复活节,我买了一台iPad,几天后看了一下。七个月后,虽然我不再迷恋iPad了,但认为它还是比Galaxy Tab好。我用的不是很多,除了在旅程中看电影。我的iPad主要是小孩在用,他们大多数是在玩游戏和NetFlix。之后,我们去俄勒冈州拜访我父母, 并庆祝我母亲光荣退休。四月末,因为工作上的事情,还去了一趟西雅图。

  我回到丹佛后,电视关了一个月。我记录下了6月初期的一些经历。在Memorial Day周末,我去Moab山玩山地自行,在沙漠摇滚音乐节上had a blast。在Porcupine Rim骑车花了4.5小时,行程26.75英里。路上经历了几个非常惊险的地方。

  六月开始了我们一年一度的Red Rocks骑车之行。在睡了六个小时后,第二天我在Elephant Rock越野行进25英里。第二天,我乘上飞机,前往爱尔兰,参加“爱尔兰软件展会”。我姐姐加入我的行程,我们和Jamie、Rob、John和 Josh有一起过得特别开心。返回工作后,我和客户谈论到这次假期时显得尤为太尴尬。

  在父亲节,我父母驱车来到丹佛,我们在Great Sand Dunes野营,度过了一个快乐的周末。过了Dunes后,我父母和孩子开车去Cabin,沿途还去了黄石公园。6月24日,星期四,我在Lodo参加我好友Jason的生日派对。

  我今年最喜欢的旅途是去The Cabin,感觉像在家一样。我母亲在四月退休,不久后,父母便搬回蒙大拿。看到他们那样幸福,真的非常高兴。我特别喜欢畅想在未来经常去拜访他们,拜访 所有在Swan Valley的亲戚。孩子们和我连夜赶回丹佛(950英里,用了14.25小时),然后回到TWC公司工作。

  七月末,去Lost Coast参加Jess和Lili的婚礼 。十分壮观的Party过后是宴会,宴会持续到傍晚。Clint和我发誓要早点睡觉,但我们结果一直聊到关门。Jess和Lili是营造难忘之夜的功臣,尤其是他们在婚礼上的跳舞和具有感染力的幸福。

  八月,在庆祝了本博开通八周年后,我们开始了工作上的“60天冲刺”。这“60天冲刺”的目标就是重写我们的视频门户、iPad和索尼蓝光应用程序。我们雇佣Method来设计,为自己挑选了名下的特性后,投入了工作。我在10月记录下了这些努力带来的成功。

  我忘了把在丹佛Cruisers “圣人和罪人”的骑车之行记录下来,还有在Red Rocks听B.B. King所带来的乐趣。

  八月16日是Abbie和Jack开学的第一天。八月末,我们庆祝了Jack的6岁生日,还有去密苏里参加了我堂妹Amy的婚礼。

  九月,我们完成了“60天冲刺”的大都数任务,Trish和我在周末开车去Estes公园参加“苏格兰-爱尔兰节日”。我们骑车(碰巧)遇到阅兵,痛饮了一些啤酒,甚至在河边的住处垂钓。

  十月来的好快,我写了《ol团队如何运作》和《defended the Age of Frameworks》。在10月末,我们搬到TWC公司在Wynkoop的Lodo办公室。那周末的万圣节,我们扮成了超级英雄。

  十一月一开始就是Abbie的生日,Trish也来了,她是第一次见孩子们。后来我们开始了疯狂旅行,我们买了套票,观看Broncos和 Kansas的城市比赛。然后第二天早晨飞往阿姆斯特丹参加Devoxx(同时发布了AppFuse新版本)。周四有个演讲,(演讲过后)不久就发布了 《Comparing JVM Web Frameworks presentation》。在The Cabin过感恩节时,我把旅程中的事记录下来了。

  我从蒙大拿飞回,在Lodo办公室停留了几日后,和Trish搭飞机一起前往Rich Web Experience。我的演讲进展不错,激发了一些讨论。我们赶往Key West庆祝会议季节的结束。

  我返回丹佛,度过了在TWC公司的最后几个星期,又去玩了几天的滑雪,然后前往犹他州参加OverStock的面试。虽然我很喜欢在TWC公司的时 光,但我的合同到期了,并且作为一个全职员工,并没有我向往的假期。OverStock的面试是两天,第二天还去了SnowBird滑雪。我对 OverStock这家公司(包括人和面试过程)的印象非常深刻,在去机场的路上,我接受了他们的offer。

  我们回到丹佛,我尽力完成AppFuse 2.1,然后我们在汽艇上和朋友一起庆祝新年。

  2010年我并没有写很多技术文章,大致是因为在TWC公司缺少学习新东西的机会。我期望在Overstock会有所改善,希望能在来年能有更多的技术文章。

  在2009年的年终回顾中,我写到:
  " 我希望在2010年的3场大会上演讲(或者参加3场大会)、完成The Bus、还有滑雪和山地骑车。" 现在回顾2010年,除了没有完成The Bus,其他的都完成了。

  伯乐在线注:译文对原文有所删减,但整体上已经将Matt在2010年工作和主要的庆祝活动译成中文。
  


  译文来源:伯乐在线 - 职场博客 - 自由职业
  译文链接:http://www.jobbole.com/entry.php/477

  原文:Raibledesigns  文章推荐: Martin  编译:伯乐在线 敏捷翻译组 - 关关

来自: www.jobbole.com
22
2
评论 共 24 条 请登录后发表评论
24 楼 syq689 2011-03-04 16:11
这样的生活蛮好,至少对于一个技术人员来说!
23 楼 ayaga 2011-02-13 17:48
lndalian2000 写道
中国人为了吃饱饭.能住上房.拼命工作.

依然不幸福.外国人不用怎么干活.活的也不错啊.

这说明了.

1.中国为什么发展这么快.不用多久就能追上他们.

2.中国为什么能有这么多FUBAI浪费都用不了的钱.

22 楼 xfuajiao 2011-02-11 09:11
appfuse 用过,
感谢牛人。
21 楼 lndalian2000 2011-02-09 17:26
中国人为了吃饱饭.能住上房.拼命工作.

依然不幸福.外国人不用怎么干活.活的也不错啊.

这说明了.

1.中国为什么发展这么快.不用多久就能追上他们.

2.中国为什么能有这么多FUBAI浪费都用不了的钱.
20 楼 proud686 2011-02-09 09:49
这样的生活真羡慕啊
19 楼 飞语001 2011-02-09 09:10
距离自己太遥远
18 楼 jiaochar 2011-02-05 14:52
狗屁不通,这个技术有个屁点关系啊,也置首页?
17 楼 BruceXX 2011-02-05 09:33
生活和工作同样重要,我想起以前工作和游戏的日子就。。。
16 楼 diqizhan 2011-01-31 11:18
想到平时我们天天忙着工作,想到人生,就觉得悲哀。
15 楼 Joo 2011-01-31 11:06
这根自由职业有什么关系 貌似是某年在某公司的流水而已
14 楼 Frankie199 2011-01-30 23:59
八月的那个“60天冲刺”在9月说完成了大部分后,10月就无下文了。看来是没有完成了,呵呵
13 楼 youjianbo_han_87 2011-01-30 13:59
哎,在天朝就没这么爽咯,上个网还要被强。。。
12 楼 bangyan2003 2011-01-30 13:55
个人认为不如我发的bloch访谈.google首席java架构vs TWC web首席架构
11 楼 volking 2011-01-30 00:01
好像大部分时间都是在玩!我很不淡定
10 楼 dowson2002 2011-01-29 22:31
美国自由职业者的一年~~
9 楼 liyaxi 2011-01-29 22:08
生活不是工作, 工作不是生活, 生活就是工作, 工作就是生活。
追求一种。。。。。。 在天朝谈追求肯定是要让人拍砖的。。。。
8 楼 weidewei 2011-01-29 21:57
很是羡慕啊
7 楼 Allen 2011-01-29 21:50
Matt的AppFuse在当年确实给了我很多指导和启发,不知现在如何了。
6 楼 黑暗浪子 2011-01-29 19:56
做了一年就跳槽了,为啥在天朝IT工作者做了一年找工作就这么难呢?
5 楼 lzj0470 2011-01-29 17:22
怎么都是写他玩得心得.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VC++界面编程之--自定义CEdit(编辑框)皮肤

    自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. CEdit光标的处理; 2. 当是密码提示时,需要弹窗提示用户大写打开。 3. 需要处理窗口文字的滚动。 这样看来,工作量会很大,而且效果也不一定好。 我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的一些特性,以保证原有的效果,并减轻我们开发的工作量。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283

  • 【转】CEdit & CRichEdit 使用技巧

    注:m_edit1代表ID为IDC_EDIT1的CEdit控件的control类型的变量m_richedit1代表ID为IDC_RICHEDIT1的CRichEditCtrl控件的control类型的变量--------------------------------------------------------------------------------1.设置edit只读属性方法一:m_

  • VC 关于CEdit基本用法

    总结Visual C++中CEdit的一些用法:1. 获取CEdit中的值 1. int num1,num2,num3; char ch1[10],ch2[10],ch3[10];GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);num1=atoi(ch

  • C++ MFC操作基础 以及 常用控件 - CEdit

    关闭窗口 //这是通过类向导自动生成的 如果看不懂推荐去看我的另一篇博客: //https://blog.csdn.net/qq_20330595/article/details/82382480 void NewDailog::OnClickedSeeYou() { //关闭程序 //DestroyWindow(); //AfxGetMainWnd()->Se...

  • CEdit 类(文本控件)

    CEdit类提供了Windows 编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows 编辑控件并将其与CEdit对象连接。构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用Cr...

  • VC++ CEdit 和 CComboBox类 的使用 例程(vS2010)

    完整的描述了在MFC中对于CComboBox的内容的存取

  • MFC控件之编辑框CEdit

    028MFC控件之编辑框CEdit,MFC的编辑框及平时用的输入框,可以往里面输入文本或数字,编辑框对应的MFC类为CEdit,CEdit提供了窗口编辑框的功能

  • 一个精美的CEdit控件

    一个精美的Edit控件(可以实现仅支持整型、无符号整型、浮点型、无符号浮点型)

  • VS C++编辑框建立类向导CEdit

    1、在编辑框中鼠标右键选择建立导线类; 2、在Menber Variables中双击IDC_TEXT,我的编辑框ID以及改成 IDC_TEXT了; 3、Member variable name:自己命名,我命名的是m_text; Category:选择Control; Variable type:选择CEdit;确认即可; 4、 5、完成。 ...

  • MFC CEdit获取编辑框内容

    使用ID:先定义一个CString类型的变量m_str,然后调用GetDlgItem(编辑框ID)->GetWindowText(str),这样就可以轻松获取到编辑框的内容。使用控件变量:我们就必须为编辑框绑定一个CEdit类型的控件变量(这里假设变量是m_EditX)。// 获取X CString csX; m_EditX.GetWindowText(csX);

  • CEdit类的一些用法

    CEdit类提供了Windows 编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows 编辑控件并将其与CEdit对象连接。构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用Create。CEdit从CW

  • MFC动态创建CEdit控件

    在项目开发时,可能遇到动态创建控件的情况。如根据当前用户的数量,动态创建控件显示用户信息等情况,需要动态常见静态文本框和编辑框等。 此时,利用控件类中Create()函数进行动态创建,默认是显示状态。如: 头文件定义:CStatic *p_MyStatic; CPP中实现: p_MyStatic = new CStatic(); p_MyStatic->Create("静态文本框

  • CEdit

    CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。   可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows编辑控件并将其与CEdit对象连接。   构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用C

  • VC++中CEdit控件使用笔记

    向CEdit中追加文本(原来文本不变)已经让滚动条始终在底部方法一:(效率不高) CString strTemp; GetDlgItem(IDC_EDIT_OUTPUT)->GetWindowText(strTemp); strTemp += strAppendText; GetDlgItem(IDC_EDIT_OUTPUT)->SetWindowText(strT

  • 获取控件上的文本值---例子是CEdit 的七种方法

     1.         int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10); num1=atoi(ch1); num2=atoi(ch2); num3=num

Global site tag (gtag.js) - Google Analytics