关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »一个印度程序员的生活领悟

    一个印度程序员的生活领悟

    2015-11-26 00:00:00 出处:ITJS
    分享

    我叫Siva,是印度海得拉巴的一名软件开发人员。软件开发是一份令人兴奋的工作,因为你每天都可以看到新事物。要是没有新的事物,我们还可以赋予一些旧概念新的有趣的名字,然后自娱自乐。但是,从我的角度来说,在印度做一个软件开发人员略有不同,也有点难。总之,一言难尽。

    来自于其他国家的软件开发人员对印度软件开发人员的看法,让我大吃一惊。

    所以今天,我想和大家分享我作为印度IT行业中的一名软件开发人员的感受。

    ps:这些纯粹是个人观点,不喜勿喷。

    我的第一份工作

    我的第一份工作是在一家小公司里,职位是Java开发人员。并且我的几个非常亲密的朋友也加入了这家公司。我很庆幸能在我职业生涯的初期就和一些非常有才华的人一起工作。

    我的第一个经理习惯于强迫我们在工作的第2到3个月时间内只使用 Notepad+ + / EditPlus编码,目的是为了让我们熟悉如何编译和运行程序,并知道编译时和运行时的类路径等。但是,架构师对此颇不认同。有一天,他看见我在用EditPlus编码,就走到我身边,说:“难道你去打仗都不用武器的吗?”。他从我一片茫然的表情中知道了我并不知道他在说什么。他将键盘拖到他面前,下载了Lomboz Eclipse(一种Eclipse的变体,不过现在已经没落了),然后给我解说如何使用它。此外,时不时地,他还教了我一些很有趣的键盘快捷键,用IDE代替Notepad/ EditPlus写代码的速度明显快多了。

    我从他们身上学到了了解事物的工作原理以及如何有效使用工具来加快工作的重要性。

    对了,我的团队领导是实战经验非常丰富的开发人员。他记得大多数核心的Java API方法,并对设计模式有一个很好的理解。他是一个完美主义者。即使只是代码缩进不正确,他也不同意我们提交代码。有一天,我们正在加班,时间甚至已经是第二天凌晨了,因为我们得提供一些紧急交付。可是即使这样,他也坚持要纠正缩进,清理导入的包和未使用的变量,严格按照TABs和空格一致等原则。我们抱怨不休。

    但是后来在融合来自于不同开发人员的所有代码更改的时候,我们才意识到这么做的重要性。他总是说:“既然要做,就要把事情做好。否则就不要做。”

    至于团队中的其他成员,由于我们也是好朋友,所以彼此之间没有任何冲突,也没有政治矛盾。我们常常周五晚上开party直至凌晨2点,在办公室讲笑话乐得哈哈大笑。一切都是那么美好。

    开启我真正的旅程

    3年后,我离开了这家公司,跳槽到一家大公司里,大公司意味着更好的工作,更高的工资和更佳的工作文化。可是我很快发现,并不是所有的东西,大公司都比小公司好!在那里,我遇到了一个有着可怕代码库的遗留应用程序,看得我真是头大无比。

    此外,和我一起工作的开发人员,都是这家公司的老员工,他们不愿意接受任何新的东西,没有兴趣使应用程序变得更好,只想墨守陈规,即使原来用惯的方法是令人痛苦不堪。

    由于印度IT产业主要是基于离岸开发模式,大部分的时间我们都在维护遗留的代码库。我们很少有机会去搞新建的项目。即使是那些关键架构/设计部分是由现场团队完成的新建项目。

    幸运的是我有机会去参与一些新建项目,也涉及了从头开始设计应用程序的过程。

    许多公司里对那些想要继续走技术路线不想转去管理部门的程序员,都没有明确的职业发展规划。更糟糕的是有些公司迫使开发人员在具备了一定年限的工作经验之后,步入人事管理的行列。

    青菜萝卜各有所爱,不是所有的开发人员都热衷于技术,这无可厚非。有的人是做一天和尚撞一天钟,有的人只想着不择手段完成就好,不管代码质量和可维护性如何。在印度,你很难找到那种充满激情的开发人员,因为大部分人只是将编程当作工作而已,而是不是因为乐趣和爱好。

    有时,我学会了新的东西,或做了一些很酷的玩意儿,环顾四周想分享我的激动心情之时,却发觉没有人能够理解我的这种兴奋之情。

    写博客

    当我在一个项目中使用Struts 1.x框架的时候,我碰到了一些棘手的问题。并且在努力捣鼓了3天之后依然找不到任何解决方案。我不停地调试,搜索了所有的书籍和论坛。终于发现有人针对这个问题刚好写了一篇文章,并提供了解决方案。果然他的解决方案是有效的。我向那位博客作者表达了万分感谢。但想到还有很多不知道作者的博客也帮助了我很多,于是也想开一个博客回馈社区。于是,我有了我自己的博客www.sivalabs.in,上面我陆陆续续写了一些我学到的东西。

    不久,我的文章发表在了DZone和JavaCodeGeeks社区网站上。虽然我的英语写作能力不够好,但我一直在写文章,希望通过练习能够熟能生巧。

    当看到有人对我的文章评论“在你的文章中我学到了一些东西”的时候,我真的非常开心。我从StackOverflow,博客,论坛等社区中获得了很多帮助,要是可能的话我也想尽我的微薄之力回馈给社区: -)

    写书

    之后,我写的文章陆陆续续发表在了DZone和JavaCodeGeeks上,我的博客拥有了越来越多的访问者。终于有一天,我收到了来自Packt出版社的一封电子邮件,上面问我是否有兴趣写一本关于MyBatis的书,我当时真的是激动万分。

    在我答应写这本书之后,他们开始向我解释写作流程和支付的详细信息。他们可能不知道,即使没有任何报酬,我也愿意写这本书。我同意写这本书是因为我对技术的热情,而不是为了赚钱。

    当我差不多完成我的第一本书的时候,他们要求我写另一本关于PrimeFaces的书,我同意了。我大概花了18个月的时间来写这两本书。在这一年半的时间里,我没有任何休息,没有周末,也没有外出游玩,什么都没有。一有时间我就去写书,或阅读我已经写好的内容看看能不能改动什么使表达描述更精准。

    也正是这段时间,让我意识到有一些自己的空余时间是多么的重要。写书是非常耗费时间的。要是你写书的目的是为了赚钱,那么我建议你换一种方法!

    然后有一天,我收到了一个快递,里面是《MyBatis》这本书的印刷本。看着自己的劳动成果变为现实,感觉真心太棒了。我激动不已。

    充满激情的开发人员面临的挑战

    印度的软件开发人员需要面对很多问题。

    优秀的开发人员就像战争英雄

    由于大家要做的大多数是遗留项目,或是在维护模式下的项目,因此管理层更喜欢那些忠诚的,坚守在公司的老员工(尽管很多老员工拿的工资并不高或者公司并没有将他们当作一种资源对待),而不是技术力量雄厚的人才。

    优秀的开发人员就像战争英雄,虽然在我们开启新项目或创建一些核心设计的时候需要这样的人才,但是一旦核心设计已经搞定了,其他的开发人员按照设计走也可以添加方法到流的时候,就像一旦战争结束了,那些英雄就会变得无人问津一样,很多公司就不会再去关注那些优秀的开发人员。

    许多非印度技术人员讨厌印度的开发人员

    我经常看到一些抨击印度软件开发人员的文章。当然,这只是一些个人的意见。

    请参阅https://avinashsingh.wordpress.com/2007/04/05/a-myth-called-the-indian-programmer/并阅读留言。甚至有人想赞助巴基斯坦轰炸印度。真是有够幼稚的!。

    印度IT企业的主要问题是,为了获得项目,他们让客户相信他们能在几乎不可能的时间内交付项目。而为了达成这些疯狂的时间线,他们将责任下放到管理人员身上,然后管理人员强迫团队领导接受任务,而团队领导再将截止时间扔给开发人员。这就是印度的开发人员面临的最大问题。许多印度的开发人员不知道怎么说“NO”。他们只会默默地接受这种疯狂的时间计划,竭尽全力地完成。而这整个过程的结果是“不可维护的蹩脚的代码”。

    但是,我还有几个问题。现场的非印度客户怎么会相信“印度离岸团队可以用6个月的时间建造现场团队预估要18个月的同一个项目”?他们为什么不要求终端到终端的测试套件?他们为什么不要求代码质量报告?

    一分价钱一分货!你支付多少,你才会得到多少!

    那些大放厥词说“所有印度程序员都很差劲”的人,应该先想清楚再说。这样一棍子打死一船人,是要不得的。每个地方每个国家都既有优秀的开发人员,也有差劲的开发人员。我曾经和一些非常嚣张傲慢的现场开发人员合作过。那么难道说所有的现场开发人员都是嚣张的吗?这当然是大错特错的。

    我坚信,在印度也有很多伟大的开发人员和架构师,而且我和他们共事过。

    也有很多像我这样希望每天都能学到什么,想要成为比昨天更优秀的开发人员。这么多年时间中,我学会了“如何快速学习新事物”。所以,我竭尽全力学习,为明天做好准备。无论你要我使用的是Spring还是JavaEE,Python还是RoR,Eclipse还是NetBeans,我都能手到擒来,游刃有余。

    继社区之后

    正如我说,在印度很难找到充满激情的开发人员,因此我希望能够多多接触世界各地使用社交网络如Twitter的充满激情的开发人员。

    我喜欢参加技术会议,喜欢接触伟大的开发人员。但不幸的是,相比美国,印度这样的会议很少很少。所以,我会在InfoQ,Parleys和Youtube上观看那些会议会谈,这是我的盛宴,令我心旷神怡。

    我喜欢Venkat Subramaniam (@venkat_s)的演讲,内容丰富又有趣。在阅读了他的《Programming Groovy 2: Dynamic Productivity for the Java Developer》之后,我会情不自禁地大笑。他真的很了不起。

    Venkat Subramaniam关于谈判的演讲 https://www.parleys.com/author/venkat-subramaniam

    Venkat Subramaniam提出的关于如何重构的演讲 https://www.youtube.com/watch v=iGsPeR-SYYo

    《JVM语言能做的超酷的10件事》 https://www.youtube.com/watch v=Ulcl2TjHktA

    《尖头发老板和务实程序员》——Venkat Subramaniam https://www.youtube.com/watch v=lfmKvRaNnUs

    关于Scala https://www.youtube.com/watch v=grvvKURwGNg

    我是Rod Johnson的忠实粉丝,我喜欢他关于企业家的言论http://www.infoq.com/interviews/rod-johnson-entrepreneurialism,以及在《Things I wish I’d known》 http://www.infoq.com/presentations/Things-I-Wish-I-d-Known中,他分享了他构建Spring框架,并围绕它创建一个生态系统的过程。真的很棒。

    我还看了他的“Scala 2018”的演讲 https://www.youtube.com/watch v=DBu6zmrZ_50,以及关于Scala这个话题在youtube上的讨论https://www.youtube.com/watch V = hZlxBRnxzDc。他采取的建设性批评方式让我觉得很精彩。他真的很牛。

    我也很喜欢Uncle Bob的演讲 https://blog.8thlight.com/uncle-bob/archive.html,Martin Fowler http://martinfowler.com/,David Heinemeier Hansson (DHH)。我们可以从他们几十年的经验中学到很多东西。

    此外还有很多超棒的Java社区领导者的演讲和博客是我所推崇的,如

    Antonio Goncalves @agoncal http://antoniogoncalves.org/
    Adam Bien @AdamBien http://www.adam-bien.com/roller/abien/
    Reza Rahman @reza_rahman https://blogs.oracle.com/reza/
    Arun Gupta @arungupta http://blog.arungupta.me/
    Josh Long @starbuxman
    Phil Webb @phillip_webb
    Cagatay Civici @cagataycivici http://www.primefaces.org/
    Oliver Gierke @olivergierke http://olivergierke.de/
    David Blevins @dblevins http://www.tomitribe.com/blog/

    等等等等。

    此外还有一些明星博客作者写的好博客也不容错过

    Baeldung @baeldung http://www.baeldung.com/
    Petri Kainulainen @petrikainulaine http://www.petrikainulainen.net/
    Vlad Mihalcea @vlad_mihalcea http://vladmihalcea.com/
    Abhishek Gupta @abhi_tweeter https://abhirockzz.wordpress.com/
    Manuel Jordan @dr_pompeii http://manueljordanelera.blogspot.in/2014/06/manuel-jordan.html
    Lukas Eder @lukaseder http://blog.jooq.org
    Trisha Gee @trisha_gee http://trishagee.github.io
    Thorben Janssen @thjanssen123 http://www.thoughts-on-java.org
    Nicolas Frankel @nicolas_frankel http://blog.frankel.ch

    等等等等。

    我真的爱死所有顶呱呱的Java社区了!

    展望美好未来

    近年来,很多事情正在慢慢改变。如今的印度IT产业已经不再完全依赖基于美国的项目。印度企业中技术应用增长了很多。但是,除非思维过程得到改变,否则一切就都还是在原地踏步走。企业不应该再异想天开让“9个开发者1个月时间发布一个新项目”。

    开发人员应该更专业,并且当要求他们去做一些不能高质量完成代码的实现任务的时候,能够鼓起勇气说“NO”,。

    总之,通过这些年的学习,我明白了软件开发并不都意味着技术。关键是要理解业务领域,重视其他人的沟通交流。

    希望一切会变得越来越好: -)

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    哈弗H6经典版重庆车展吸睛,8.19万起售,性价比王者来袭!

    vivo海外新机Y400 Pro与X200 FE曝光,定位中高端市场,上市在即

    苹果iOS26将推液态玻璃设计,或为20周年iPhone特别版预热

    红魔电竞平板3Pro来袭,9英寸小屏能否成为游戏新宠?

    荣耀布局机器人,能否在AI终端生态之战中抢占先机?

    美的空调免费清洗服务受热捧,用户:专业又省心,点赞!

    英特尔酷睿9 270H性能首秀:单线程跑分领先i5-14500HX 14%

    HOTWAV R9 Plus三防平板来袭,20080mAh大电池续航无忧!

    小米耳机管理大变革!蓝牙设置页一统江湖

    TCL QM5K系列QD-Mini LED电视发布:HVA面板,分区数高达314

    IT头条

    华为Pura80系列新机预热,余承东力赞其复杂光线下的视频拍摄实力

    01:28

    阿里千问3开源首战告捷:全球下载破千万,国产AI模型崛起新高度!

    01:22

    DeepSeek R1小版本试升级:网友实测编程能力已达到国际一线水平

    23:15

    NVIDIA 与 Dell 合作,大规模交付 Blackwell AI 系统

    20:52

    Cerebras 以最快的 Llama 4 Maverick 性能引领 LLM 推理竞赛

    20:51

    技术分享

    PHP中的随机性——你觉得自己幸运吗?

    搞定Ubuntu Linux下WPA无线上网

    Java使用内存映射实现大文件的上传

    MySQL安全性指南

    MySQL两项性能的基本测试浅谈

    教您使用UniqueIdentifier选取SQL Server主键

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。