• 很 cool! 👍

    一个小小的建议:“pointing poker”貌似我们这边没这个说法(或是我孤陋寡闻了从没听过),“planning poker”比较常见。:)

  • Rails 5 还是 Rails 4.x + Grape? at 2016年07月03日

    Grape 的确坑比较多。如果不想一直 (╯°□°)╯︵ ┻━┻ 的话,还是选 rails 比较靠谱。

    或者加入 Elixir 的阵营吧。😏

  • #3 楼 @tony612 是的,接下去自己的 side project 打算用 Elixir + Phoenix 来做。:)

  • #1 楼 @zsusyt 应该吧。那个测试题我觉得是三个中最有趣的。:)

    #2 楼 @oth 相当的旺盛,供不应求。

  • #84 楼 @alleywind 这方面我不是特别了解,抱歉了。。。:P

  • #82 楼 @pathbox 所谓的“国内 PHP”是指...?如果是指比较“大众化”的话,还不至于,但是 ruby 的社区的凝聚力还是相当高的。不过很多公司,比如我现在所在的公司,没有在用 rails。

  • 个人推荐 ActiveRecord。:)

    有些时候 AR 里很简单实现的一些功能,在 Sequel 里需要做一些小小的、有时候并不是非常明显的调整。两年多前我写过一篇 blog“抱怨”了一下 Sequel 的 API:http://fredwu.me/post/58910814911/gotchas-in-the-ruby-sequel-gem

  • #80 楼 @wnpers 你好啊:)PHP 还是相当的热门的,今天刚接了两个猎头的电话“推销”PHP 的职位…… 不过相比 ruby 或是 java 而言,PHP 程序员的工资貌似相对比较低那么一点点。

  • #78 楼 @david_8 欢迎届时来抢我们的饭碗。 :trollface:

  • #73 楼 @imwildcat 大部分公司不会真的去证实你的工作经历,但比方说我在面试的时候,会时不时的问一些简历上相关的问题。我一般都会问一些项目上的问题,偶尔也会让应聘者在白板上讲解一个以前的项目,考验对方的理解能力和解说能力。有自己的项目当然是个大大的 plus。:)

  • #71 楼 @imwildcat

    1. 这个我不太清楚了,得找个中介问问吧。
    2. 不会。绝大部分公司甚至不会看你的学历/文凭。但有一点是,工作经验非常重要,如果是硕士但是没有工作经验的话恐怕就业几率会降低很多。
    3. Ruby/Java/.NET/PHP都有非常多的职位,看自己的就业意愿了。Ruby 和 PHP 在中小型公司和创业公司用的比较多,Java 和 .NET 在中大型企业用的比较多…… 各有优劣吧。:)
  • #67 楼 @yan32768 慢慢积累。:) 这周末我花了好多时间看 React,因为新工作的需要——平常可能用 jquery 半小时能完成的简单的操作,在 React 里我花了一整天,但学习和研究让我对 React 和 Redux 有了比较基础的认知。:)

    #68 楼 @zhenjunluo 不能说用的多,但是不少人,特别是 ruby 社区的,都对 Elixir 非常感兴趣。

  • #65 楼 @yan32768

    复杂的业务逻辑需要通过 service 层去包装。用 service objects 去帮助实现 model 与 model 之间的业务逻辑。

    前端代码是指 javascript 吗?如果是的话,通过 bower 或 component 之类的对 JS library 管理,view 层面可以看下 react 之类的,前端业务/数据层面的可以看下 redux 之类的 library。

    冗余代码有质量较高的测试吗?如果没有的话,可以从慢慢添加测试开始。有了测试后,才能逐步的去做重构。最重要的是平衡重构所需的时间精力,和商业需求。

    :)

  • #62 楼 @HOLDfoot 几乎没用过 radrails... 如果你需要 IDE 的话,不妨尝试一下 RubyMine

  • #61 楼 @ethanyoung 墨尔本。定期会去西安出差,定期会让部分西安团队成员来墨尔本出差。

  • #56 楼 @tianzhen 就我接触过的公司,不多。一般都会问一些软件工程方面的问题,外加代码测试(一般都是在家自己做,通常都是比较小的问题,几个小时之内就能完成的)。

  • #49 楼 @grantbb

    在国内这些朋友都有点小成就(比如:做过架构师,带过大的团队等),来澳洲后由于英语不行及文化的差异,又要从基本的工作做起,而且很难得到提升,天花板明显,不知如何突破,不知你是否有好的建议?

    努力提高英语水准是最靠谱的方案了。从基本的工作干起也没什么不好,当交流是问题的时候,技术水准再高也是浪费啊…… 多听多看多说,上网的时候少看中文网站,多看英文网站,多看美剧,多听英文的 podcasts——休闲和提高英语两不误。日积月累慢慢就有了。

    另外,澳洲的技术氛围还是不错的,也不急躁,你觉得在这里做面向国内的技术产品(比如 SAAS)创业如何?或者你觉得在澳洲创业有哪些机会?

    这边做面向国内的技术产品?我不太清楚但听上去没有什么优势——如果是面向国内的,那不是应该在国内创业才是最贴近用户群的吗?澳洲的创业机会和其他地方都一样我觉得——靠观察哪些行业哪些领域还没有被自动化“侵略”。比方说若干年前我所在的那家创业公司专攻的是企业 travel 平台。前阵子和一位创业家聊天,他专攻的是 farming / agriculture。

  • #48 楼 @ted

    生病不去医院难道要硬抗啊...

    非紧急的病都要去家庭医生那边预约……

  • #46 楼 @binshuo20

    我还以为 TW 澳洲的大客户是一家互联网房地产公司。

    没有错啊。:trollface:

    澳洲的物价房价都高于加国吧,另外 IT 就业方面,是澳洲好还是加拿大好呢?

    我没去过加拿大,不了解,帮不了你啦……

  • #43 楼 @zsjacky 也许是生活圈子的关系,我在澳洲前前后后 15 年了,有印象比较深刻的仅仅是一次——在上中学的时候,中学里有一个老师(不是我们班的)我怀疑有种族歧视,当时在学校操场上我被她莫名其妙的推了一下。

    其他方面的话,我本身是没有怎么涉及到——但比方说前阵子开始流行的代购,让华人的地位下降了不少。很多超市都用中文贴了告示说奶粉之类的一些商品都开始限购。

    另外一点,也不能说是“地位”,只能说是本地人对华人慢慢建立起来的“刻板印象”了——比较虚荣。比方说名牌奢侈店(LV 啊 Gucci 啊之类的),基本上都是华人/亚裔在排队的。

  • #42 楼 @kikyous 首先是,这些小东西你自己需不需要?如果自己本身不需要的话,那么我会问,为什么你觉得其他人会有这个需求?是否询问了周遭朋友的想法,或是做过任何的调查,之类的。很多项目并不是需要成型后才能去要 feedback 的。可以自己尝试着做个 pitch(幻灯片啊,图片啊之类的),然后用这个 pitch 去问回馈。

    我之前有一个 side project,没有写任何代码,没有设计任何页面。而是花了很多时间去做幻灯片,从而加深自己对这个产品的认知,以及定下 scope。通过这个练习,让自己对项目有更深刻的认知外,还可以通过这份简短的幻灯片看周遭朋友们是给怎样的回馈。

  • #38 楼 @kikyous

    看 Java 和 .NET 之类的,我觉得前景很明朗啊,而且 ruby 这个语言平台本身一直在不断地进度和更新,我觉得在未来的 5-10 年里,ruby 的地位挺牢固的。

    要说 rails 嘛... 见仁见智了,不好说。:trollface:

  • #36 楼 @binshuo20

    TW 最大的澳洲客户应该就是我们公司了。我觉得多多少少有帮助的吧——可以帮你在职场上训练英文用语,某些团队时不时的都有机会来澳洲出差。如果你是被招来写 ruby 的话,应该就会被分派到我们公司(REA)的账户上了。

  • #34 楼 @so_zengtao

    如果我想找澳洲的 Rails 工作(senior --)要有什么途径才能申请到

    看技术程度和英语交流的程度吧。但一般如果你人已经在澳洲了(学生签证或是旅游签证之类的),能够当面面试的话,成功的几率比较高。可以上 seek.com.au 和 LinkedIn 看看。

    国内驾照到澳洲怎么换成当地的

    每个州不一样。我在的维省的制度在这里:https://www.vicroads.vic.gov.au/licences/renew-replace-or-update/new-to-victoria/overseas-drivers

  • #27 楼 @BenZhang

    推荐些项目管理方面的书籍?

    这类书籍说实话我看的不多。我通常都是通过看别人的 blog 或是通过观察同事来自我提升的。我入职现在这家公司的时候我 boss 的 boss 送了我这本书,挺不错的:Turn the Ship Around

    能否介绍下你从开发转型团队管理的经验,以及分享下对开发转型团队管理的建议?

    最首要的一点,这也是经过了这几年后,我观察新上任的 tech leads 他们正在犯的错误——学会放下。通常,能够晋升到管理职位的,技术上肯定是有两把刷子的,有两把刷子的人,通常都在不同程度上非常的自傲。这让我想起我大学毕业后第一份全职工作,当时我在面试时对面试官说:“I believe work experience is overrated.”可见当时我也是非常自傲的。年数越久后傲气就会慢慢的淡下去——一来是自己本身的成长,二来是懂得了如何去信任尊重其他同事的知力与劳力。

    第二点是许多管理者做不太到的——保护团队。所谓的保护团队,是说作为团队的 leader,要做的并不是去“管理”团队,而是让团队能够最高效的去完成团队的使命。这包括:

    • 与产品经理协商,让团队了解到为什么要做这个项目,公司为什么有这个要求,客户和市场为什么会有这个需求
    • 会让团队节奏变慢的杂事,要帮团队想办法去挡,去处理
    • 绝大部分程序员都是希望要提高技术能力的,这时就需要你去调节和协商产品的交付和技术上的完善或是实验
    • 团队成员的开心度(happiness)有多少?只有尽可能的深刻的去了解每一位成员,才能有办法去有效的勉励他们

    另外,怎样得到团队的信赖与尊重?通常,人都是从小细节中观察别人的,所以可以通过时不时的自己递交代码也好,分析某个 feature 也好,完成团队成员的要求也好,从小事中不断的去提升自己在团队中的信赖度。

    做好以上这几点,都是有助于提升团队的士气的。当然,还有些“小技巧”也可以用来提升士气,比如多举办 team building 的活动,多与团队成员在工作以外多相处(一起出去吃午餐,一起出去喝两杯,之类的)……

  • #26 楼 @darkbaby123

    生活方面,请问在澳大利亚生活和在中国生活各有什么好处和坏处?

    澳洲的优势:

    • 空气质量和食物质量
    • 治安
    • 海滩
    • 开车停车不用担心被人撞
    • 相比其他西方国家而言,更对移民友善和开放
    • 好多很不错的中国和其他亚裔餐厅(至少墨尔本和悉尼是)
    • 竞争相对国内而言没有那么激烈
    • 没有硅谷或是国内的急攻心切的态度,所以可以相对安心稳固的打造产品和团队
    • 英语系国家,所以如果以后要过渡到其他英语系的西方国家会更容易
    • 澳洲护照去很多国家免签或是落地签

    澳洲的劣势:

    • 24 小时营业的商店不多——傍晚想吃好吃到飞起的夜宵就不用想了……
    • 西方文化导致休闲方式的不同,这边也有中文的 KTV 但不多,周末大家一般都是开车出去一日游
    • 网购速度慢,贵
    • 人工高,家里什么东西坏了要修就要准备好足够的 $
    • 个人所得税高(最高征收到 45%)
    • 生活成本高,很多东西都比美国要贵很多(比如车啊,电子产品啊之类的)
    • 澳元最近跌倒谷底...
    • 生病(除非紧急症状)是不能去医院的,很多病开刀手术需要等半年到三年不等
    • 网络基础设施不行(大部分人还是用的 ADSL2+)
    • 澳洲口音没有美国口音或是英国口音来的讨喜

    技术方面,请问您对“Rails Way”怎么看?我指的是传统 Rails 中组织代码的方式,比如 fat model,controller 的 before/after_action, strong_parameters。它们是否在 简单的场景 下仍然是很好的选择?甚至是更优的选择?

    在 RubyChina 论坛上时不时会有一些开源的 rails 项目——很可惜目前为止我还没见过封装的比较好的。我认为,如果非常宏观的来看,可以把 rails 的项目代码质量归为三类:

    1. 逻辑被渗透到 controllers
    2. 逻辑被渗透到 models
    3. 逻辑被 service objects 封装

    大部分的开源 rails 项目都是 1 或是 2。

    不管是 rails 也好,其他框架也好,在看待代码的复杂性时,可以问自己两个问题:

    1. 我要写的代码是不是简单易懂?
    2. 我要写的代码是不是容易维护?

    在简单的场景下,光靠所谓的 MVC 的确是可行。但即便是一个简单的 blog 系统,或是如同 RubyChina 这样的论坛系统,光靠 MVC 是很难去维护的。这时候就需要 service 层,比如 presenters / decorators 之类的,去一层一层的剖析和封装业务和系统逻辑。

  • #24 楼 @cqcn1991 PM 这方面我不是太熟悉,毕竟自己没有从事过。但从我周遭的同事了解,以及自己的观察,我个人是认为,比较杰出的 PM 通常都是从其他领域出家的。通过在项目中的磨练,慢慢锻炼出对市场和对产品的敏锐度。

    BA 的话主要是负责渗透的解析客户的需求从而将之转化为开发团队可以接受的产品要求。这除了需要洞察能力外,还需要很严谨的处事方式和自我管理——都是一个好的 PM 可以用到的才能。

  • #19 楼 @cqcn1991

    有。而且理想情况下是每一个团队都配有一位 PM。

    我们部门的团队的组成通常是这样的——

    Product Manager x 1 Delivery Lead x 1(这是我目前的职位) Tech Lead x 1 Business Analyst x 1 Developers x 6

    • Product Manager 负责赋予团队 purpose ——为什么要做这个项目,做这个项目对公司有什么影响。
    • Delivery Lead 负责赋予团队 autonomy ——团队如何协作从而能够有效的开发和交付项目。
    • Tech Lead 负责赋予团队 mastery ——怎样用最佳的开发方式和技术去开发和交付项目。

    当然了,每个人的背景不同,长处不同,所以很多时候大家都用互补的形式来满足团队的需求。就好比我带领的团队之一缺少 Tech Lead,因为我有技术的背景所以我就尽量去填这个空。

    从开发转产品,我团队上就有一位。他从开发转 Business Analyst,然后最近转 PM 了。我觉得这个转型轨道很不错,BA 这个职位可以锻炼一个人分析产品的能力。

  • #18 楼 @lana

    1. rails contract 形式的工作对初中级人员是否友好?

    “contract"?你是指作为一个 contractor,做不同的项目?我觉得不错啊,可以在相对短时间内接触到不同的项目,开拓视野。

    1. remote 对初中级人员是否友好?

    这个么,我个人是觉得,如果你的首要目标是积累经验,学习的更有效的话,我还是建议身边有同事可以互相切磋和学习比较好。