我叫Siva,是印度海得拉巴的一名軟件開(kāi)發(fā)人員。軟件開(kāi)發(fā)是一份令人興奮的工作,因?yàn)槟忝刻於伎梢钥吹叫率挛铩H绻麤](méi)有新的事物,我們還可以賦予一些舊概念新的有趣的名字,然后自?shī)首詷?lè)。但是,從我的角度來(lái)說(shuō),在印度做一個(gè)軟件開(kāi)發(fā)人員略有不同,也有點(diǎn)難。總之,一言難盡。
來(lái)自于其他國(guó)家的軟件開(kāi)發(fā)人員對(duì)印度軟件開(kāi)發(fā)人員的看法,讓我大吃一驚。
所以今天,我想和大家分享我作為印度IT行業(yè)中的一名軟件開(kāi)發(fā)人員的感受。
ps:這些純粹是個(gè)人觀點(diǎn),不喜勿噴。
我的第一份工作
我的第一份工作是在一家小公司里,職位是Java開(kāi)發(fā)人員。并且我的幾個(gè)非常親密的朋友也加入了這家公司。我很慶幸能在我職業(yè)生涯的初期就和一些非常有才華的人一起工作。
我的第一個(gè)經(jīng)理習(xí)慣于強(qiáng)迫我們?cè)诠ぷ鞯牡?到3個(gè)月時(shí)間內(nèi)只使用 Notepad+ + / EditPlus編碼,目的是為了讓我們熟悉如何編譯和運(yùn)行程序,并知道編譯時(shí)和運(yùn)行時(shí)的類路徑等。但是,架構(gòu)師對(duì)此頗不認(rèn)同。有一天,他看見(jiàn)我在用EditPlus編碼,就走到我身邊,說(shuō):“難道你去打仗都不用武器的嗎?”。他從我一片茫然的表情中知道了我并不知道他在說(shuō)什么。他將鍵盤(pán)拖到他面前,下載了Lomboz Eclipse(一種Eclipse的變體,不過(guò)現(xiàn)在已經(jīng)沒(méi)落了),然后給我解說(shuō)如何使用它。此外,時(shí)不時(shí)地,他還教了我一些很有趣的鍵盤(pán)快捷鍵,用IDE代替Notepad/ EditPlus寫(xiě)代碼的速度明顯快多了。
我從他們身上學(xué)到了了解事物的工作原理以及如何有效使用工具來(lái)加快工作的重要性。
對(duì)了,我的團(tuán)隊(duì)領(lǐng)導(dǎo)是實(shí)戰(zhàn)經(jīng)驗(yàn)非常豐富的開(kāi)發(fā)人員。他記得大多數(shù)核心的Java API方法,并對(duì)設(shè)計(jì)模式有一個(gè)很好的理解。他是一個(gè)完美主義者。即使只是代碼縮進(jìn)不正確,他也不同意我們提交代碼。有一天,我們正在加班,時(shí)間甚至已經(jīng)是第二天凌晨了,因?yàn)槲覀兊锰峁┮恍┚o急交付。然而即使這樣,他也堅(jiān)持要糾正縮進(jìn),清理導(dǎo)入的包和未使用的變量,嚴(yán)格按照TABs和空格一致等原則。我們抱怨不休。
但是后來(lái)在融合來(lái)自于不同開(kāi)發(fā)人員的所有代碼更改的時(shí)候,我們才意識(shí)到這么做的重要性。他總是說(shuō):“既然要做,就要把事情做好。否則就不要做。”
至于團(tuán)隊(duì)中的其他成員,由于我們也是好朋友,所以彼此之間沒(méi)有任何沖突,也沒(méi)有政治矛盾。我們常常周五晚上開(kāi)party直至凌晨2點(diǎn),在辦公室講笑話樂(lè)得哈哈大笑。一切都是那么美好。
開(kāi)啟我真正的旅程
3年后,我離開(kāi)了這家公司,跳槽到一家大公司里,大公司意味著更好的工作,更高的工資和更佳的工作文化。然而我很快發(fā)現(xiàn),并不是所有的東西,大公司都比小公司好!在那里,我遇到了一個(gè)有著可怕代碼庫(kù)的遺留應(yīng)用程序,看得我真是頭大無(wú)比。
此外,和我一起工作的開(kāi)發(fā)人員,都是這家公司的老員工,他們不愿意接受任何新的東西,沒(méi)有興趣使應(yīng)用程序變得更好,只想墨守陳規(guī),即使原來(lái)用慣的方法是令人痛苦不堪。
由于印度IT產(chǎn)業(yè)主要是基于離岸開(kāi)發(fā)模式,大部分的時(shí)間我們都在維護(hù)遺留的代碼庫(kù)。我們很少有機(jī)會(huì)去搞新建的項(xiàng)目。即使是那些關(guān)鍵架構(gòu)/設(shè)計(jì)部分是由現(xiàn)場(chǎng)團(tuán)隊(duì)完成的新建項(xiàng)目。
幸運(yùn)的是我有機(jī)會(huì)去參與一些新建項(xiàng)目,也涉及了從頭開(kāi)始設(shè)計(jì)應(yīng)用程序的過(guò)程。
許多公司里對(duì)那些想要繼續(xù)走技術(shù)路線不想轉(zhuǎn)去管理部門的程序員,都沒(méi)有明確的職業(yè)發(fā)展規(guī)劃。更糟糕的是有些公司迫使開(kāi)發(fā)人員在具備了一定年限的工作經(jīng)驗(yàn)之后,步入人事管理的行列。
青菜蘿卜各有所愛(ài),不是所有的開(kāi)發(fā)人員都熱衷于技術(shù),這無(wú)可厚非。有的人是做一天和尚撞一天鐘,有的人只想著不擇手段完成就好,不管代碼質(zhì)量和可維護(hù)性如何。在印度,你很難找到那種充滿激情的開(kāi)發(fā)人員,因?yàn)榇蟛糠秩酥皇菍?a target="_blank">編程當(dāng)作工作而已,而是不是因?yàn)闃?lè)趣和愛(ài)好。
有時(shí),我學(xué)會(huì)了新的東西,或做了一些很酷的玩意兒,環(huán)顧四周想分享我的激動(dòng)心情之時(shí),卻發(fā)覺(jué)沒(méi)有人能夠理解我的這種興奮之情。
寫(xiě)博客
當(dāng)我在一個(gè)項(xiàng)目中使用Struts 1.x框架的時(shí)候,我碰到了一些棘手的問(wèn)題。并且在努力搗鼓了3天之后依然找不到任何解決方案。我不停地調(diào)試,搜索了所有的書(shū)籍和論壇。終于發(fā)現(xiàn)有人針對(duì)這個(gè)問(wèn)題剛好寫(xiě)了一篇文章,并提供了解決方案。果然他的解決方案是有效的。我向那位博客作者表達(dá)了萬(wàn)分感謝。但想到還有很多不知道作者的博客也幫助了我很多,于是也想開(kāi)一個(gè)博客回饋社區(qū)。于是,我有了我自己的博客,上面我陸陸續(xù)續(xù)寫(xiě)了一些我學(xué)到的東西。
不久,我的文章發(fā)表在了DZone和JavaCodeGeeks社區(qū)網(wǎng)站上。雖然我的英語(yǔ)寫(xiě)作能力不夠好,但我一直在寫(xiě)文章,希望通過(guò)練習(xí)能夠熟能生巧。
當(dāng)看到有人對(duì)我的文章評(píng)論“在你的文章中我學(xué)到了一些東西”的時(shí)候,我真的非常開(kāi)心。我從StackOverflow,博客,論壇等社區(qū)中獲得了很多幫助,如果可能的話我也想盡我的微薄之力回饋給社區(qū): -)
寫(xiě)書(shū)
之后,我寫(xiě)的文章陸陸續(xù)續(xù)發(fā)表在了DZone和JavaCodeGeeks上,我的博客擁有了越來(lái)越多的訪問(wèn)者。終于有一天,我收到了來(lái)自Packt出版社的一封電子郵件,上面問(wèn)我是否有興趣寫(xiě)一本關(guān)于MyBatis的書(shū),我當(dāng)時(shí)真的是激動(dòng)萬(wàn)分。
在我答應(yīng)寫(xiě)這本書(shū)之后,他們開(kāi)始向我解釋寫(xiě)作流程和支付的詳細(xì)信息。他們可能不知道,即使沒(méi)有任何報(bào)酬,我也愿意寫(xiě)這本書(shū)。我同意寫(xiě)這本書(shū)是因?yàn)槲覍?duì)技術(shù)的熱情,而不是為了賺錢。
當(dāng)我差不多完成我的第一本書(shū)的時(shí)候,他們要求我寫(xiě)另一本關(guān)于PrimeFaces的書(shū),我同意了。我大概花了18個(gè)月的時(shí)間來(lái)寫(xiě)這兩本書(shū)。在這一年半的時(shí)間里,我沒(méi)有任何休息,沒(méi)有周末,也沒(méi)有外出游玩,什么都沒(méi)有。一有時(shí)間我就去寫(xiě)書(shū),或閱讀我已經(jīng)寫(xiě)好的內(nèi)容看看能不能改動(dòng)什么使表達(dá)描述更精準(zhǔn)。
也正是這段時(shí)間,讓我意識(shí)到有一些自己的空余時(shí)間是多么的重要。寫(xiě)書(shū)是非常耗費(fèi)時(shí)間的。如果你寫(xiě)書(shū)的目的是為了賺錢,那么我建議你換一種方法!
然后有一天,我收到了一個(gè)快遞,里面是《MyBatis》這本書(shū)的印刷本。看著自己的勞動(dòng)成果變?yōu)楝F(xiàn)實(shí),感覺(jué)真心太棒了。我激動(dòng)不已。
充滿激情的開(kāi)發(fā)人員面臨的挑戰(zhàn)
印度的軟件開(kāi)發(fā)人員需要面對(duì)很多問(wèn)題。
優(yōu)秀的開(kāi)發(fā)人員就像戰(zhàn)爭(zhēng)英雄
由于我們要做的大多數(shù)是遺留項(xiàng)目,或是在維護(hù)模式下的項(xiàng)目,因此管理層更喜歡那些忠誠(chéng)的,堅(jiān)守在公司的老員工(盡管很多老員工拿的工資并不高或者公司并沒(méi)有將他們當(dāng)作一種資源對(duì)待),而不是技術(shù)力量雄厚的人才。
優(yōu)秀的開(kāi)發(fā)人員就像戰(zhàn)爭(zhēng)英雄,雖然在我們開(kāi)啟新項(xiàng)目或創(chuàng)建一些核心設(shè)計(jì)的時(shí)候需要這樣的人才,但是一旦核心設(shè)計(jì)已經(jīng)搞定了,其他的開(kāi)發(fā)人員按照設(shè)計(jì)走也可以添加方法到流的時(shí)候,就像一旦戰(zhàn)爭(zhēng)結(jié)束了,那些英雄就會(huì)變得無(wú)人問(wèn)津一樣,很多公司就不會(huì)再去關(guān)注那些優(yōu)秀的開(kāi)發(fā)人員。
許多非印度技術(shù)人員討厭印度的開(kāi)發(fā)人員
我經(jīng)常看到一些抨擊印度軟件開(kāi)發(fā)人員的文章。當(dāng)然,這只是一些個(gè)人的意見(jiàn)。
印度IT企業(yè)的主要問(wèn)題是,為了獲得項(xiàng)目,他們讓客戶相信他們能在幾乎不可能的時(shí)間內(nèi)交付項(xiàng)目。而為了達(dá)成這些瘋狂的時(shí)間線,他們將責(zé)任下放到管理人員身上,然后管理人員強(qiáng)迫團(tuán)隊(duì)領(lǐng)導(dǎo)接受任務(wù),而團(tuán)隊(duì)領(lǐng)導(dǎo)再將截止時(shí)間扔給開(kāi)發(fā)人員。這就是印度的開(kāi)發(fā)人員面臨的最大問(wèn)題。許多印度的開(kāi)發(fā)人員不知道怎么說(shuō)“NO”。他們只會(huì)默默地接受這種瘋狂的時(shí)間計(jì)劃,竭盡全力地完成。而這整個(gè)過(guò)程的結(jié)果是“不可維護(hù)的蹩腳的代碼”。
但是,我還有幾個(gè)問(wèn)題。現(xiàn)場(chǎng)的非印度客戶怎么會(huì)相信“印度離岸團(tuán)隊(duì)可以用6個(gè)月的時(shí)間建造現(xiàn)場(chǎng)團(tuán)隊(duì)預(yù)估要18個(gè)月的同一個(gè)項(xiàng)目”?他們?yōu)槭裁床灰蠼K端到終端的測(cè)試套件?他們?yōu)槭裁床灰蟠a質(zhì)量報(bào)告?
一分價(jià)錢一分貨!你支付多少,你才會(huì)得到多少!
那些大放厥詞說(shuō)“所有印度程序員都很差勁”的人,應(yīng)該先想清楚再說(shuō)。這樣一棍子打死一船人,是要不得的。每個(gè)地方每個(gè)國(guó)家都既有優(yōu)秀的開(kāi)發(fā)人員,也有差勁的開(kāi)發(fā)人員。我曾經(jīng)和一些非常囂張傲慢的現(xiàn)場(chǎng)開(kāi)發(fā)人員合作過(guò)。那么難道說(shuō)所有的現(xiàn)場(chǎng)開(kāi)發(fā)人員都是囂張的嗎?這當(dāng)然是大錯(cuò)特錯(cuò)的。
我堅(jiān)信,在印度也有很多偉大的開(kāi)發(fā)人員和架構(gòu)師,而且我和他們共事過(guò)。
也有很多像我這樣希望每天都能學(xué)到什么,想要成為比昨天更優(yōu)秀的開(kāi)發(fā)人員。這么多年時(shí)間中,我學(xué)會(huì)了“如何快速學(xué)習(xí)新事物”。所以,我竭盡全力學(xué)習(xí),為明天做好準(zhǔn)備。無(wú)論你要我使用的是Spring還是JavaEE,Python還是RoR,Eclipse還是NetBeans,我都能手到擒來(lái),游刃有余。
繼社區(qū)之后
正如我說(shuō),在印度很難找到充滿激情的開(kāi)發(fā)人員,因此我希望能夠多多接觸世界各地使用社交網(wǎng)絡(luò)如Twitter的充滿激情的開(kāi)發(fā)人員。
我喜歡參加技術(shù)會(huì)議,喜歡接觸偉大的開(kāi)發(fā)人員。但不幸的是,相比美國(guó),印度這樣的會(huì)議很少很少。所以,我會(huì)在InfoQ,Parleys和Youtube上觀看那些會(huì)議會(huì)談,這是我的盛宴,令我心曠神怡。
展望美好未來(lái)
近年來(lái),很多事情正在慢慢改變。如今的印度IT產(chǎn)業(yè)已經(jīng)不再完全依賴基于美國(guó)的項(xiàng)目。印度企業(yè)中技術(shù)應(yīng)用增長(zhǎng)了很多。但是,除非思維過(guò)程得到改變,否則一切就都還是在原地踏步走。企業(yè)不應(yīng)該再異想天開(kāi)讓“9個(gè)開(kāi)發(fā)者1個(gè)月時(shí)間發(fā)布一個(gè)新項(xiàng)目”。
開(kāi)發(fā)人員應(yīng)該更專業(yè),并且當(dāng)要求他們?nèi)プ鲆恍┎荒芨哔|(zhì)量完成代碼的實(shí)現(xiàn)任務(wù)的時(shí)候,能夠鼓起勇氣說(shuō)“NO”。
總之,通過(guò)這些年的學(xué)習(xí),我明白了軟件開(kāi)發(fā)并不都意味著技術(shù)。關(guān)鍵是要理解業(yè)務(wù)領(lǐng)域,重視其他人的溝通交流。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21177
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web3/M00/05/24/wKgZPGd9BIKAasMYAAP9Ml_injM792.jpg)
不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
我國(guó)軟件開(kāi)發(fā)者數(shù)量突破940萬(wàn)
嵌入式工程師常用的開(kāi)發(fā)工具有哪些?
![](https://file1.elecfans.com/web2/M00/07/FB/wKgZombz6VuAFeotAAIjSCj1HKI007.jpg)
硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
尋求專業(yè)工程師幫助設(shè)計(jì)USB多口充電器
嵌入式軟件開(kāi)發(fā)招聘
【《軟件開(kāi)發(fā)珠璣》閱讀體驗(yàn)】+ 心得
找STM32硬件開(kāi)發(fā)兼職工程師
嵌入式軟件工程師如何提升自己?
![](https://file1.elecfans.com/web2/M00/EB/14/wKgaomZXAd-AWEwjAAuV2RdwuSM130.png)
干硬件這一行,各種辛酸只有同行才懂吧 ? #電路設(shè)計(jì) #電子愛(ài)好者 #硬件工程師 #電子工程師
嵌入式軟件工程師和硬件工程師的區(qū)別?
![](https://file1.elecfans.com/web2/M00/DE/DE/wKgZomYwuQ-AegjsAAISSibiD4I286.jpg)
為何國(guó)外工程師偏愛(ài)使用for(;;)來(lái)實(shí)現(xiàn)MCU死循環(huán)?
![為何國(guó)外<b class='flag-5'>工程師</b>偏愛(ài)使用for(;;)來(lái)實(shí)現(xiàn)MCU死循環(huán)?](https://file1.elecfans.com/web2/M00/C7/64/wKgaomYKKiOAK5wZAAARYlyfX1A944.png)
![](https://file1.elecfans.com/web2/M00/C5/1E/wKgaomXxdsmAENR6AAKEdyutPEU736.jpg)
評(píng)論