【一月征文】第一天,第一次,我们陪你活动圆满落幕!我们收到了许多读者、作者的来信,我们听见了你们最开心、最难过、最私密的第一次,womany 团队也想偷偷告诉你我们的第一次!womany 团队里唯一的男生,也是有点资深的工程师小蟹,想和你分享他在 womany 第一次向梦想靠近、完成梦想的喜悦!(精彩回顾:属于我们的第一次

在 2006 年,我还在念书的时候,有部日剧叫做《东京朋友》,内容描述四位女主角寻找梦想、同时学习克服梦想与现实之间冲击的故事。这部日剧有个我非常喜欢的标语:“最初描绘的梦想,你现在还记得吗? ”( 一番最初に描いた梦を、あなたは今も覚えてる?)。

时间走到 2013 年,我因缘际会看了一本旧书《在清洁公司,发现梦想经理人》,里面反覆提到的核心要点,是询问:“你的梦想是什么?”

你的梦想是什么?我是 womany 的网站工程师小蟹。而我的梦想,是成为网站架构师。

我在 2013 年,很开心的达成这个梦想的第一步。

在订定这个梦想之初,我还只是一个新手工程师。当时因为想要找网站的参考元素,但是经验太少毫无头绪,于是求助于资深工程师同事。在他的引导与讨论之中,我才知道原来有架构师这种角色,这也是我第一次对自己的努力有了明确的目标。

网站架构师是个非常重要的角色。引述唐凤在 SocialCalc 开发经验谈 一文中,提到 Fred Brooks 的想法:“概念的完整性是伟大设计中最重要的特性。由于完整的概念只能出自一人或少数人的合作构想,因此明智的管理者会大胆委托才华出众的首席设计师,来承担整个设计任务。”除了架构的设计过程相当令我着迷,在另外一面,观察其他网站并了解架构,同样也是我希望自己能够拥有的能力。

在确立梦想的同时,不免会想起,在之前这么长的一段人生中,我居然到现在才第一次找到梦想。事实上我光是寻找自己的兴趣就花了非常多年。在台湾的教育体制下,我虽然大学念电机系,但直到毕业我都找不到梦想、找不到想做的工作。只好随波逐流的去念通讯研究所电脑网路组,可是研究所毕业我仍然没有追寻到自己到底想做什么?因此当时误打误撞开始网站工程师之路,其实是因为写网站“好像”很有趣、“感觉” Ruby on Rails 很强大,当时问我哪里写网站有趣、 Rails 哪里很强大,我根本就回答不出来,就只是尝试看看写网站这份工作。极其幸运的是,几个月后我就发现自己对写网站是真的非常有兴趣。因此我将架构师视为我的第一个梦想。

推荐阅读:学写程式前,你该知道的五件事

由于这个梦想非常的远大,明显不是几年内可以完成。我的基础并不扎实,所以只好从头从基础开始慢慢学,并试着用一些方法来学习。这一路上或多或少有些收获,我归纳三点经验分享给大家。这些经验都是我自己身体力行,直到现在都还在用的方法。

1. 勤阅读,持之以恒追踪领域新知

首先,无论是文章或书籍,都是作者消化与整理过后的心血,勤阅读可以让自己少走很多弯路。其次,由于科技进步日新月异,所以追寻梦想的同时,也要保持自己跟上潮流。特别是在跟自己梦想有关的领域上,最好能够去追踪领域先行者的动态,掌握最新的变化。一开始接触最新动态时,能够吸收的知识会跟自己的基础有关,但就算吸收的再少也一定要持之以恒,持续地接触最新动态,慢慢就能够理解与深入。(享受阅读,给自己静下来的时间与空间

我是利用 twitter 做为追踪新知的来源。因为大部分知名的人物,尤其是技术大师,几乎都可以在 twitter 上找到。而且 twitter 能够随意的去追踪名人,不需要对方同意。因此我先在 twitter 上订阅了许多知名的技术大师,特别是 Rails 的发明者与核心开发者等。然后强迫自己,一定要每天看完 twitter 上他们所发出的短文(tweet);换句话说,就是让自己跟着技术大师看他们筛选过的文章,关注他们对技术的讨论,了解他们解决问题的理由。在刚开始的时候有点辛苦,但每天努力阅读,让当时处于菜鸟工程师时期的我,能够感受到自己慢慢的在进步。

另外还可以订阅一些 weekly 或是 news 类的帐号,除了会定期发最新消息之外,他们也发出关于基础知识讲解的文章。

我试着列出一些这几年订阅下来,对我帮助很大的 twitter 帐号:

  • 国外 Ruby / Rails: @dhh, @wycats, @tenderlove, @drnic, @josevalim, @avdi, @charliesome, @peterc
  • 国内 Ruby / Rails: @godfat, @xdite, @ihower, @eddiekao, @tkalu
  • 其他技术名人:@jserv, @gslin, @clkao, @audreyt, @deduce, @dlackty
  • 新闻类:@rubyfive, @rubyrogues, @ruby_news, @RubyInside

除了以上这些帐号之外,还有个小秘诀:记得也要订阅一些朋友,以及一些会发趣闻的帐号。否则一打开 twitter 就很像在工作,久了很容易怠惰。如果一段时间后,发现自己订阅的人越来越多,强迫每天看完的压力真的太大时,也可以试着取消订阅一些并非自己目前主要关注的目标,不要让自己的 twiiter 上订阅太多分心的帐号。

2. 避免固步自封,多参与领域相关的活动

自己一个人的学习总是很缓慢的,一旦遇到问题也只能埋头问 google。对于新手工程师的我,当时甚至连怎么下关键字都不知道,常常遇到问题就傻眼,然后花了很多时间去寻找错误在哪里、以及如何解决问题。如果有学习相同领域的朋友,就可以一起讨论、一起成长。在刚踏入专业领域之初,认识的朋友会很少,这时候可以上网找找相关的活动或是 conference 去参加。参加活动除了演讲要认真听之外,也是交换名片、认识新朋友的好机会,若有机会遇到资深的技术前辈,甚至可以趁机请益该如何更进一步。

推荐阅读:女人,可以不一样 她白天走台步,晚上写程式

在学习网站开发之初,我就开始参与一些开放社群,常常去聆听相关技术的演讲与经验分享;参加 conference 更是从我在研究所就开始的习惯。参加活动或 conference 除了可以多认识一些技术人员之外,直接对谈的交流常常会让我满载而归。认识到的新朋友,我也会加入 twitter 的订阅之中,慢慢扩充自己的知识来源。

比较特别的经验是,在开始做网站开发几个月后,Rails 资深工程师 xdite 找我一起开办 Taipei Rails Meetup 的活动,主要目的是给新手工程师一个聚会聊天的活动。这个活动其实是让我在学习网站开发上影响最大的一件事。古谚有云:“教学相长。”在 Meetup 活动中,我会帮忙解释什么是 Rails、基本的网站框架概念、遇到问题时该如何解决、甚至是帮忙找出错误的根源。这个活动至今开办了 2 年多,除了让我认识非常的的朋友之外,也让我对网站开发的许多基本知识在不断的回答中越趋扎实。(你认识 xdite 吗?不是工程师的工程师 xdite

3. 解行并重,亲自实践

“读万卷书,行万里路。”理论读的再多,没有实践过,很难彻底的掌握知识。我的经验是,一定要身体力行,把想法化为行动,才会是实在的。因为有太多的现实问题,理论中都不会出现;也也太多的例子证明,做的跟想的并不一样。

在 2013 的年初,我又开始参与另一个新的社群 g0v,这是一个推动资讯透明化的社群,致力于开发公民参与社会的资讯平台与工具。我先是参与了福利请听专案的开发,并在之后陆续参加一些专案的讨论,让自己累积更多撰写网站的经验。此外,g0v 活动我也跟各路朋友学习到许多知识,里面的专案都是完全开放的,可以尽情观摩,如果不懂专案的设计架构,也可以直接询问作者的想法,获益良多。

在某一次针对目前社会新闻议题的讨论中,我跟另一位社群朋友一起构思,建立出关于这个社会议题网站的基础架构。在讨论结束后我自己大吃一惊,因为在那场讨论中,我已经可以观摩其他网站、研究拆解出架构、设计自己需要的网站架构。虽然离自己独立构思架构还有漫漫长路,而且是跟朋友一起讨论出结果,但我可以确信自己走在正确的道路上,并且脚踏实地的迈出第一步。

自我验证梦想实现第一步的时刻,我自己当晚非常的开心。虽然梦想尚未完全实现,但我已破不急待的想先跟大家分享这段经历。最后,感谢这次三方邀稿的第一次征文活动,让我逼迫自己完成这篇文章。

我是 Womany 团队网站工程师 小蟹,最初描绘的梦想,你现在还记得吗?

找回梦想:梦想家 Janet 把世界变成你的游乐场