四、韩国程序员
Jeong
我来自韩国。恕我直言,
韩国有很多程序员,但是韩国并不为西方国家提供外包服务。程序员工作有很多种类,但是大部分的群体为
1、游戏公司(在线游戏产业非常巨大)
2、因特网搜索公司(你可能不知道,谷歌不是在韩国不是行业的领头羊)
3、产品公司(比如三星、LG……)
与西方不同,程序员在韩国不是一个“有钱途”的工作,尽管也算是不错的工作。对于程序员来说,加班也是家常便饭。我想说的是真的很常见。
所以,很多韩国的程序员认为在西方工作非常好,一些人甚至考虑出国工作。但不幸的是,与印度不同,很多韩国人英语不是很好。
最后,韩国人怎么看待西方程序员
1、有钱(也许……你就是 )
2、更加自由
3、热爱编程
五、孟加拉国程序员
Gulshan
我来自孟加拉,在我看来区别在于:
技术:西方的技术总是比我们领先一步。任何技术在西方出现2年之后才在这里被采用。例如,我们到目前为止还没有在生产环境中开始使用。net4(不是框架,而是其中的特性)。也许只有在。net5面世的时候才能实现。
知识:恕我直言,知识的最好载体是书籍。几乎所有最新的技术书籍都是用英文协作。这不是什么大问题。问题在于书籍的价格和出版的时间。在价格较低的版本出现之前,这些书籍对我们来说还是有些昂贵。即使在我们准备好付钱之后,还需要等待很长时间才能在本地书店里买到。即使订购,也需要1个月的时间才能到货。所以,西方在这一点上比我们明显领先。也许要领先个2年。希望更多的电子书能够在某些方面改善这样的情况。
最佳实践:IT在孟加拉还是新兴产业。所以,很多非技术出身的人在从事管理。有些时候,这会造成沟通上的障碍。要吐故纳新接纳新的习惯还有很多其他障碍。所以,有时候,我们还在沿用旧的看法。我认为,西方对于变化和接纳新事物抱有更加开放的心态。
许可证:通常与西方相比,我们没有对许可证软件/工具给与足够的重视。
开源:我认为西方程序员在开源方面参与得比我们更多。
语言趋势:我们这里主要从C语言开始学起,接着是C++、C#/Java或者PHP.这体现了一种趋势:命令式、面向对象而且大多数采用静态语言。但是类似 Python或Rub以及LISP或Haskell这样的函数式编程语言在这里并不流行。甚至像C#语言中支持的函数式编程风格都不常见。人们把C#当成Java来用。
其中的一些只针对我所在的区域,不适用于其他东方或亚洲国家。排除经济因素不考虑,我感到这种趋势应该改变。
六、菲律宾程序员
Joset
我来自菲律宾。根据自己的理解我估计出了下面这些数字。
我敢说菲律宾70%的程序员都希望建立自己的公司并专注创新。有雨缺乏资金并受到外国企业高薪的诱惑(有IT公司也有非IT公司),程序员们为自己戴上了“金手铐”(防止员工离开公司的财务制度,比如员工股票期权等)。由于只能利用业余时间,所以果创新变得愈发缓慢。
天生追求最好这一文化传统使得在菲律宾有很多优秀的员工。这里我像要强调的一点是,程序员是以结果为导向的。这种导向的一个缺点是,因为社会文化强调友善、微笑、好客和乐观,大多数程序员特别是在和外国人相处时不是那么自信和坦率。但在工作场所这一点正在发生剧烈的变化,西方的工作文化正在取而代之。
程序员在大学里受到教育,在企业里强化编程训练,结果软件开发完全按照业界的最佳实践进行。
那些具有天赋又不想冒险开办公司的程序员通常选择出国工作,例如新加坡、美国、澳大利亚、香港和马来西亚,以寻找更好的发展空间。
在我看来,西方的程序员通常会被认为是技能熟练、更优秀、坦率、以结果为导向和专注的职业程序员。
七、中国程序员
Wondering
在我15年编程生涯中,有一半时间是和西方的开发者打交道。我曾经直接汇报给比利时的负责人,也曾经带领来自印度和美国的团队成员。
总的说来,不同国家的程序员没有什么大的区别。我见到的大多数程序员都是工作努力并且可以有创新的工作。西方人在各种编程技巧和办公室政治的处理上和东方人旗鼓相当。大多数有经验的大陆程序员英文水平不是很好,这会在交流上带来问题,而印度和美国人在这方面会有优势。也许是因为我和欧洲团队为了项目和资源斗争太多次的原因,我个人的感觉是美国人比欧洲人更容易合作。
附带说一下,我是中国人,生活在大陆。
Baobao
大家好,我是中国程序员。我想要告诉你们一些事实。
1、在中国,大多数人是为了一份相对较高的收入而成为程序员。我们所需要的就是能够生存。
2、以我个人的经历来看,初中的时候只是知道电脑这个东西,在大学的时候才真正使用和接触计算机。3、只是一知半解,而且是为了通过论文答辩,神奇吧
4、来到上海以后,我找到了一份用户体验工程师的工作。只是跟着感觉走,完全没有任何培训,我对第一份工作竭尽全力但是3个月后还是以失败告终。
5、幸运的是,我找到了属于自己的领域,所以我开始阅读相关的书籍,比如CSS、Javascript.
6、这些书籍都是我在一些免费英文电子书站点上找到的,都是英文。一本接一本,我知道了什么是程序员。不行,也许我们需要管自己叫做写代码的人更合适。
7、不幸的是,在中国一些好的英文书籍在中国被当成了专业手册。
8、毋庸置疑,中国人非常聪明可以拷贝所有类型的软件,我们把他叫做“山寨”。
9、对所有的中国老板一定不要说“不”,无论这家公司是否在IT领域。
10、关于设计和模式,那是非常遥远的事情。这里只有很多的投机商,对于他们而言金钱就是一切,实际上每个人都需要钱。
11、“顾客就是上帝”,所以需求总是一次又一次地改变。不论你相信与否,这是每天都在发生的事情。
Kim
我是一个中国程序员。之前在一家中国软件公司工作,遇到了很多有才华的程序员。我的能力得到了快速的提升。
一天我加入了一家所谓的知名美企。那真的是一场噩梦。公司里的中国员工要么非常愚蠢要么整天互相斗来斗去。他们几乎不会思考、设计和编码。几乎没有其他中国本土企业会需要这样的人。每天的工作就是测试产品或者修几个无关紧要的bug.
我快速地逃离了这家美国公司进入了另一家本土企业。这家公司从德国购买软件同时也得到了德国公司的技术支持。我认为自己作出的选择非常正确而且薪水也比以前更高了。
对于讨论的这个问题,在那家美国公司我遇到过很多西方程序员,他们的工作做的很好,而且知道如何尊重下属,包括中国员工。
Matthieu
东方追随西方,体现在以下几个方面:
标准
态度
所有方面
我阅读的几乎所有IT书籍作者都来自西方。
在我第一次遇到Apache Jakarta / Struts的时候非常开心。我认为它是真正的亚洲制造。
文章首发地址:http://webfrogs.github.com/IOS/2012/09/19/buildipa/
使用xcode进行IOS开发的时候,很多时候我们需要将工程打包成ipa文件,而xcode本身并没有这些功能。但是通过安装xcode的“Command Line Tools”这个工具,我们可以使用xcodebuild这个命令来对工程进行打包。然而这么打包出来的文件是以”.app”后缀的。其实将其做成ipa文件也非常的简单,只要新建一个名为“Payload”的文件夹,将这个app文件放到里面,并将Payload文件夹压缩,将其后缀名改为ipa即可。借助shell脚本,我们可以让其自动完成这一过程。
步骤首先需要安装“Command Line Tools”这个工具。安装方法:打开xcode,依次选择Xcode - ->Preferences,然后在“Downloads”里面,选择“Components”,找到“Command Line Tools”,点击后面的“install”按钮等待下载安装即可。
下面是shell脚本内容:
#!/bin/bash #参数判断 if [ $# != 2 ];then echo "Params error!" echo "Need two params: 1.path of project 2.name of ipa file" exit elif [ ! -d $1 ];then echo "The first param is not a dictionary." exit fi #工程路径 project_path=$1 #IPA名称 ipa_name=$2 #build文件夹路径 build_path=${project_path}/build #编译工程 cd $project_path xcodebuild || exit #打包 cd $build_path if [ -d ./ipa ];then rm -rf ipa fi mkdir -p ipa/Payload cp -r ./Release-iphoneos/*.app ./ipa/Payload/ cd ipa zip -r ${ipa_name}.ipa * rm -rf Payload
将shell脚本保存,命名为“buildipa”,然后为其添加可执行权限,命令如下:
chmod +x buildipa
这里提供shell脚本下载,下载完后,只需要为其增加可执行权限即可。下载点这里
使用使用非常简单,buildipa执行需要两个参数,第一个参数是IOS工程所在的根目录,第二个参数就是生成ipa文件的文件名(不需要带后缀名ipa)。如果未将buildipa加入环境变量中,使用时需要使用绝对路径。需要打包的工程根路径为:~/iphone/HuaRongDa,而buildipa放在了 ~/shell 路径下,要生成名为“HuaRongDao.ipa”的文件,则使用如下命令:
~/shell/buildipa ~/iphone/HuaRongDao HuaRongDao
命令执行完成后,会在工程目录下生成一个名为“build”的文件夹,打包好的ipa就放在build文件夹下的“ipa”文件夹中。
总结写这么一个脚本,主要是受到了一篇文章的启发,是一篇为IOS增加DailyBuild的文章,敏捷开发目前还没有接触,不过那篇文章的博客很不错。文章地址:《给iOS工程增加Daily Build》。 文章中还有一个很有意思的地方,就是通过itms-services协议来安装ipa,已经尝试了,很有用,可以方便测试人员测试,并且可以给越狱手机做自动更新软件功能。待整理后,会写一篇文章来总结。
通过使用shell脚本,确实可以减少很多的工作量。脚本目前还有很多可以完善的地方,同时在做这个脚本的时候,也发现自己的linux知识很匮乏,看来要多充充电了。
二、日本程序员
Rei Miyasaka
我来自日本。
我并不认为日本程序员真正理解西方人在一半于我们的时间里做的那些工作。我们生活在自己那个小小的加拉帕戈斯泡沫中(与全球化隔绝),对世界上其他的事情置若罔闻。撇开科学软件不谈(仿真系统、开发工具等等),我不认为我们对学术充满热情。在日本我们将软件看成硬件的奴隶,,所以创新往往出现在硬件领域。
所以,当比尔盖茨说“软件是创新的源泉”这样的话时,大多数日本人只会认为“啊,他很富有,他知道自己在说些什么”,然后接着回去不加思考地设计应用程序。
与此同时,不论我们是否意识到了这一点,对外国人的憎恶和迫害情结已经深深地扎根于日本社会。Tron项目(一个开发性实时操作系统内核项目)的成员就是这样的例子,尽管我希望他们是非常极端的情况:
非常不幸,在散布流言的人中有日本人。这些日本人,包括其他参与散布TRON项目谣言的外国人应该更加清楚地知道,他们忽略了这样一个事实:TRON不是一个短期的商业项目,不应该以2到3年内占领某个特定市场作为评价其成功的标准。
不幸的是,这不能打消一些日本人的看法。他们真的相信微软会为匿名黑客攻击Sony的行为提供WinMoible7手机作为奖励。(也许付钱是有可能的,但是为什么他们要提供并非昂贵的手机给这些黑客呢 )
据说日本程序员似乎对可用性和UI非常感兴趣——因此可以经常看到,来自日本的UI尽管摆脱了传统,但是非常方便、直观。这一点甚至在Ruby设计风格中有所体现:
Matsumot(Ruby语言的发明者)设计的目标就是为了提高程序员效率的同时为他们带来乐趣,这一点遵循了优秀用户界面的设计原则。他强调说,系统设计需要更加关注人而不是机器,……
如果我的愤世嫉俗让你感到吃惊,我在这里还有更多的阐述。
三、巴基斯坦程序员
armir
我来自巴基斯坦。
我工作7年了。大多数时间里,我和美国的同事一起工作。我参与过的工作有:
离岸外包
美国公司在巴基斯坦的分支机构
这里我想分享一下我的感受。美国的同事非常坦诚也喜欢坦诚(因为只有和美国同事合作的经验,所以不好对其他国家的人进行评价)。这里我想说的是如果下周要完成某个任务,主要开发者因为各种原因需要请假,大多数情况下我会告诉美国的同事,他们会认真把请假的情况认真考虑。
然而在巴基斯坦,一般人的心理是即使自己不能完成也要试图让对方满意。他们试图把本地团队可能影响到生意的想法隐藏起来,我认为这种做法是错误的。一个现实的例子是,我最近从一个非常重要的团队协调员位置离职了,这个职位的工作就是协调海外团队和本地团队的工作。在我离职的时候,海外团队的经理在通知本地团队的时候,也通知了谁是我的继任者。但是,仅仅在我离职15天之后,我的下一任也离职了。这一次,他们没有告知本地团队并且把我继任者离职的消息封锁了起来,现在应该是别的什么人来接任这个位置。
所有这些通常都是为了避免对商业关系产生不好的影响,这一类的事情在巴基斯坦非常常见。
因此,一般对西方和西方团队的看法是,虽然比起我们没有绝对的技术优势,但他们需要高质量的工作。第二点也是非常重要的一点,他们需要诚实的工作。如果事情变糟糕,告诉他们真实的情况。毕竟,他们不会派出CIA的侦探来跟踪我们。