Category: 软件工程
上周英国黑五 (Black Friday), 这周一 Cyber Monday (电子产品促销), 我在 MythemeShop 上花了30美元买了一博客主题和一年的维护费, 这要是在几年前, 我是不太会花钱买主题, 软件, 甚至是维护费. 所谓的维护费 (Subscription) 一般是按年交, 这在欧美软件市场很是流行. 你买了软件, 一般送你一年的免费更新, 一年后想要再升级或者获得技术支持 (support) 就得再交维护费. 去年我花了60美元买了一主题, 刚好一年了, 即使不交钱, 去年买的主题还能一直用下去, 只是不会再获得更新. 我本身就是在软件公司工作, …
技术债 Technical Debt 是软件工程上特别是敏捷开发 (Agile Development) 中的一个概念. 指的是解决一个当前问题最好的方法往往需要更久的时间和精力, 但是为了加快软件开发进度, 赶在代码冻结前按时交差, 采取的一个较为折衷的解法方法. 但是这就是一笔债一样, 可能会把潜在的问题越积越大(利息), 甚至将来却无力偿还(修复). 1年半前, 我提了个BUG, 这个BUG大概是说一种数据文件里如果用TAB而不是空格来隔开字段, 则导入数据过程中软件会崩溃, 这个BUG的确是有效的, 因为把这数据文件放到别的软件中导入则是没有问题的. 前前后后讨论了半年, 然后总算被批准了, 不过由于开发任务繁重, 而且也不是那种非改不可的BUG, 所以就一直拖, 拖到今年10月份, 突然接到邮件通知: “agreed to …
@justyy 的逻辑测试系列: 逻辑测试系列 – 一种只有4种语句的编程语言 – (1) 逻辑测试系列之二 – DECR 上次添加了 DECR 函数来把 一个变量减一, 我们这次来定义一个 SUBT 函数来实现 把 减法运算, 也就是 X-=Y 如果我们用 C++ 来实现, 大概是这样的: void subt(unsigned int &x, …
今天晚上, 公司两大股东(其中一个是英国总公司的HR, 另一个是中国公司的总经理)请我吃饭. 我本来以为我犯了什么事呢, 提心吊胆, 结果原来是公司为了招人而犯愁呢. 我们公司(初创公司)最近在招一个 C++ 软件工程师 (C++ Software Technical Expert), 但是一直招不到合适的人选. 但项目启动迫在眉睫, 所以想听听的我意见. 客观来说, 我们公司的待遇还是不错的, 但是C++的牛人一直招不到有一大原因就是: 剑桥市有很多很牛的大公司, 比如苹果, 微软. 能力强的很多不会到剑桥郡的一个村庄里上班. 先说好处: 我们公司给办工作签证(五年英国绿卡), 所以如果你想来英国工作或生活, 这个机会难得, 因为据我所知, 英国并不是很多公司愿意给外国人发工签. …
逻辑测试系列 – 一种只有4种语句的编程语言 – (1) 这种只有4条语句的语言能做什么呢? 今天我们来定义一个DECR函数, 该函数就是把 变量 X 减一. DECR(X) { } 要求填写函数体, 使用 INCR, LOOP, ZERO, 和 ASGN 仅有的4个语句. 我们不妨想一下, 已知变量 X 是非负整数, 那么我们只需要 循环 X-1次, …
一般大公司都会有类似逻辑测试或者IQ测试题, 这些题考的并不是你对某种技能(编程语言)的掌握情况, 相反, 这是为了过滤掉比较笨的人, 因为……我觉得太笨的人写不了程序. 所以, 你选任何一种语言都是带有偏见的, 碰巧, 这里有一种语言, 只有4条指令, 处理所有的都是非负整数. 在这种语言里, 变量不需要定义, 但是使用前需要像 PYTHON一样赋值(或者清空), 这种语言好理解, 也能拿来当面试题. 清空变量 用 ZERO(X) 来把X变量清空, 比如以下 相当于 X=0 ZERO(X) 赋值 用 ASGN(X, Y) …
越来越多的人在学术界里(大学里 比如做博后) 对专业知识和编程研究都很专长. 虽然这个技能组合是非常有价值的, 但是这些人在学术界里缺乏认可. 这意味着没有简单的方法来认可他们的贡献. 英文里有一个专业的工作职位 Research Engineer. 这些研究人员大部分时间都在写代码 但是也做做研究. 有的人边做研究边写程序, 慢慢的发现写程序更有意思. 你是否是一个研究性质的软件工程师? 不管你的现在工作职位是什么 只要你以下的回答大部分是 YES 的话 你就是一个 Research Engineer. 你被请来开发研究用的软件? 你花更多的时间在开发软件而不是进行研究? 你是一个博士后研究员, 但是你主要在软件开发的工作吗? 在你的研究小组里 你是写代码的? 尽管你写的软件很重要 但是经常发表文章里没有你的名字? …