6月 202012
 

固定链接:http://www.gamtin.info/archives/272

最近,面试了不少求职者,简单梳理下我喜欢问的题目。

首先说明,我是一个.NET(C#)程序员,我所面对的求职者的目标职位也仅仅是PG到SE,个别的是PL。下面的问题也主要是技术类问题。

1、.NET基础

  • 声明变量时 int?、double?的含义
  • using关键字的用法
  • DataTable中Row的RowState属性有哪几种

2、思维方式/实现方法

  • 怎么将一个DataTable的数据按照某列重新排序
  • 怎么去除一个DataTable中的重复数据

3、DB/SQL相关

  • 内连接和外连接的区别
  • union和union all的区别

其实都是非常简单的问题,不过能够准确的回答上来的求职者也不是很多。

大连的软件开发行业看似繁荣,实际上大家的能力非常弱。

8月 302011
 

固定链接:http://www.gamtin.info/archives/122

最近兴趣点非常多,也做了不少的准备和努力。比如:

  • 学/玩Python
  • 研究NoSQL中的MongoDB
  • 琢磨Android开发
  • 重读金庸
  • 研究iOS开发

但是,都不出意外的没什么成果,虽然说各种东西都了解一些肯定是好的。不过从现实的角度来看,这么做的“钱”途堪忧啊。

因为,我仍旧还是一只从事对日开发的C#程序员。而且,现阶段,也没有转行的打算。

于是,经过考虑,计划放弃某些想法,而将能够看到的“回报”的内容提到前面来。

  • 继续学习日语。
    btw.今天从同事那里听到,原来日本的PM对我日语的评价:写Mail很好,听和说不行。这完全是批评嘛~
  • .NET加强。在2.0的Framework下开发了近4年,落后太多了,要奋起直追。
    回归MSDN,每天至少半小时,尽快补上3.5和4.0的漏洞。
  • 项目管理理论学习。几次面试在理论上都摔跟头,项目中摸爬滚打出来的经验不结合理论就是个屁。
  • 学/玩Python。不得不说,这东西的诱惑太大
  • 了解iOS开发。从“研究”到“了解”,自然要省下大量精力
  • 读书
  • 重读金庸

这么看来,无限期的搁置Android和NoSQL也真是无奈之举了。

方向有了,剩下就是详细计划了。

6月 122011
 

本文固定链接:http://www.gamtin.info/archives/65

转眼间入行5年多了,也从事了对日开发5年多。于是胡扯一下我所理解的对日软件开发。

对日软件开发的特点

对日软件开发,杯具点儿的讲也可以是“对日外包”。在软件开发领域里面一般是个让人有点看不起的行业,依稀记得这样的故事:

金融危机时,公司裁员,某同事去一家做国内项目的公司面试。对面面试官当得知他是做对日的时候,一脸不屑,表示说这行业的程序员技术很烂,当场拒绝。

当然这是个别现象,但是也反映了一些大家的看法。

我所理解的一些特点:

  • 开发范围小
    一般来说,软件工程中的整个开发周期是从需求分析做起的。但是因为是外包类的工作,需求分析一般是绝对不会交给中国方面来做的,所以大部分公司的开发范围都是从详细设计开始到结合测试结束(近来似乎有所扩大)。这样也就造成了很多人永远都无法经历一个完整的软件开发周期。
  • 流程/文档规范
    也许是日本企业做的都非常规范,也许是日本人也天生喜欢规范。在对日开发中,所有的流程、文档都相当的规范。某些项目甚至可以达到教科书的级别。以至于如果几个有经验的程序员如果一起开发同一个机能,可能会发现他们写出来的代码基本是一样的。
  • 技术要求低
    这里特指普通的开发人员。因为很多情况下,做对日开发项目,使用的技术、语言、框架、共通部分都是日方已经提供好的,所以很多开发动作就是简单的将设计书的内容翻译成对应的计算机可以读懂的语言而已。经常开玩笑说,我们做的这件事,和工地上砌砖头的工人其实是差不多的,只是我们穿的能光鲜一点。
  • ……

技术?外语?

基于以上的特点(是优点/缺点大家可以见仁见智),使得相当多的人有了这样的想法:

不重视技术,甚至日语比技术重要

个人看法,本身外语和技术并不冲突,所以无所谓哪方更重要,应该两方同时进步。

单说到技术,很多人感觉做对日项目完全不需要技术,完全是误解。因为你技术不行,才会被分配一个不需要技术的任务。当你可以独当一面的时候,你会发现需要面对的技术问题是相当多的。而只重外语完全忽略技术,可能短期内会有些好处,但是时间久了,技术上的短板会越发突出,以致影响仕途。

最近做了好多面试。遇到不少技术很差的应聘者,尽管日语、素养等都非常好,我们也只能无奈的拒绝。因为我们需要的是技术者,而不是技术翻译。

还有个在初级程序员中比较普遍的现象,就是“混”。因为要求不是很高,想要在这行业里“混”下来也是非常容易的。于是大家没事上上网、打打游戏、炒个股,过的非常悠哉。这样的环境是很容易让人变得懒惰,但是越是这样越应该努力要求自己去接受新东西。当技术和语言都是短板的时候,后悔也晚了。

未来

说到未来,简单来看无外乎两个方向:技术和管理。我仍在摸索中……

写在最后

开始这个标题,到今天打出最后的一些内容,经历了整整3个星期,主要原因是实在太忙(加班很多,这似乎也是一个特点)。另外就是也确实修改了不少,入行5年多,似乎还不足以来评论整个行业。当然,说来也不算是在评论行业,只是个人的一点理解而已。

也同时欢迎各位多多批评指教。