10個(gè)用Java謀生非常有趣的方式,你要嘗試哪個(gè)?
令我驚訝的是,有些人覺得編程并不令人興奮——只將它當(dāng)作是一份枯燥的工作。不過,雖然可能的確有很多無聊的編程工作,但這并不意味著你不得不接受這些工作中的一個(gè)。
程序員有各種各樣的機(jī)會,運(yùn)用他們的技能去做一些有趣的事情,特別是如果他們懂Java的話。
Java也許是時(shí)下雇主中最流行的語言,這意味著有很多很多不同的工作可供選擇。只要稍微用心找一找,你就會發(fā)現(xiàn)一個(gè)能讓你的生活快樂起來,讓你愿意一大清早開開心心去上班的工作。
當(dāng)然,青菜蘿卜各有所愛,這個(gè)人的感興趣,可能是另一個(gè)人的不以為然。所以下面讓我們來看看這10個(gè)出奇得酷的使用Java謀生的方法,讓你的編程生涯保持新鮮而有趣起來:
01.在NASA探索太空
美國國家航空和航天局(NASA)使用Java開發(fā)了一些有趣的應(yīng)用程序。近期最受歡迎的是WorldWind,這是一個(gè)軟件開發(fā)工具包(SDK),可以讓你從外太空放大并查看地球上的任何位置。數(shù)據(jù)來源是陸地衛(wèi)星圖像和航天飛機(jī)雷達(dá)地形測繪任務(wù)數(shù)據(jù)兩者的綜合。
令人驚嘆的是,使用此SDK已經(jīng)構(gòu)建了90個(gè)應(yīng)用程序,所以想象自己也是這些人中的一員,工作在可使一切變得可能的代碼上。另一個(gè)新發(fā)布的應(yīng)用程序是findsbugsinJavacode。如果你想知道Java在各種太空任務(wù)中所扮演的角色,那么可以看看此采訪。另外,很多網(wǎng)站上都提供了一系列針對NASA的職位,如Indeed。
02.嘗試物聯(lián)網(wǎng)
你可能聽過很多關(guān)于物聯(lián)網(wǎng)的信息,但是只看LoT產(chǎn)品可能沒有那么令人興奮。使用產(chǎn)品,如SunSPOT和Java,來創(chuàng)建你自己的設(shè)備則有趣得多。產(chǎn)品,如SunSPOT的主要重點(diǎn)就是幫助開發(fā)人員擁抱嵌入式技術(shù),來創(chuàng)造例如智能汽車和冰箱等東西。此外,這些類型的產(chǎn)品也鼓勵創(chuàng)新,而唯一的限制因素就是你的想象力。
03.設(shè)計(jì)未來的機(jī)器人
Java正被用于各種各樣的機(jī)器人應(yīng)用。有些平平無奇,有些則非常的酷,看著就讓人激動。例如,在2007年美國國防部高級研究計(jì)劃署(DARPA)的城市挑戰(zhàn)賽中,Java參與了Jefferson團(tuán)隊(duì)名為“TommyJunior”這一自動駕駛汽車的解決方案。
Tommy的秘密武器是PerroneRobotics的MAX操作系統(tǒng),它可以讓團(tuán)隊(duì)使用現(xiàn)成的組件,如傳感器和執(zhí)行器。目標(biāo)是創(chuàng)建一輛大家實(shí)際負(fù)擔(dān)得起的自動機(jī)器人車輛。TommyJunior的成本僅為$50,000,其中包括了自動平臺的成本。因?yàn)樵撛O(shè)備依賴的是現(xiàn)成的組件,所以它可以在24小時(shí)內(nèi)組裝完畢并運(yùn)行。
04.幫助醫(yī)生完成虛擬上門服務(wù)
曾經(jīng),醫(yī)生需要實(shí)際出診,去病人的家中探望病人。這對于醫(yī)生而言可能會降低他們的效率,但可以肯定的是方便了病人?,F(xiàn)在,有一個(gè)廣受歡迎的醫(yī)療解決方案,可以讓醫(yī)生身在辦公室,卻仍然可以遠(yuǎn)程為患者看病。
其中一個(gè)項(xiàng)目就是DoctorOnline,它依賴Java編寫應(yīng)用程序模塊。該系統(tǒng)包括全套的模塊,可以方便和加快醫(yī)生和病人之間的互動。由于醫(yī)學(xué)界正在努力尋找更低廉的方法來滿足患者的需要,因此開發(fā)人員在創(chuàng)建所需軟件上將發(fā)揮越來越大的作用。
05.更新大規(guī)模應(yīng)用
許多組織轉(zhuǎn)而選擇Java,是因?yàn)樗梢詾榇笮偷膽?yīng)用程序提供強(qiáng)大的性能和可擴(kuò)展性。例如,Twitter之所以將其很大一部分應(yīng)用從RubyonRails轉(zhuǎn)換到JavaJVM就是出于這個(gè)原因。從一種語言轉(zhuǎn)換到另一種語言的過程會帶來樂趣,并且還可以克服可能出現(xiàn)的問題。
作為開發(fā)人員,你也能參與更新已發(fā)布的有著數(shù)以百萬計(jì)用戶的應(yīng)用程序,想想就興奮不已。
06.進(jìn)入電影行業(yè)
像IndustrialLightandMagic這樣的公司,就依賴Java來滿足各種編程需求。事實(shí)上,你經(jīng)常可以在ILM上發(fā)現(xiàn)幾乎任何有開發(fā)需要的工作。在ILM工作有意思的地方在于,你可以把應(yīng)用程序一起放到在大屏幕上查看結(jié)果。目前,ILM使用Java和Python來處理諸如測序動畫場景等任務(wù)。
07.玩游戲
現(xiàn)在的很多游戲都使用Java作為它們的編程語言,因?yàn)镴ava哪里都能工作,并且JavaFX圖形軟件包能夠讓我們更方便地工作于玩家使用的圖像上。事實(shí)上,我們還有游戲開發(fā)網(wǎng)站,如Java-Gaming.org,就是專門用于滿足Java開發(fā)人員的需要。不僅僅只是社區(qū)支持而已。
你還可以找到關(guān)于游戲開發(fā)的專業(yè)庫,如LightweightJavaGameLibrary(LWJGL),它使得創(chuàng)建Java游戲變得容易得多。游戲,如RuneScape,就依賴于Java來滿足其基本的編程需求。
08.云工作
與許多語言一樣,Java越來越多地用于云開發(fā)的目的。這不僅僅意味著,在云中構(gòu)建新的應(yīng)用程序或?qū)F(xiàn)有的應(yīng)用程序轉(zhuǎn)移到云中,而且還指的是用各種方法混合云、移動和桌面應(yīng)用程序,以允許用戶使用同一套技能系列,無論是在哪里都使用該應(yīng)用程序。
Java可到處且長效允許的能力使其非常適用于云開發(fā)。企業(yè),如Belatrix等,專注云開發(fā)外包,而Heroku則旨在提供Java特定的云服務(wù)。還有像Silicus公司從事于一些令人激動的項(xiàng)目,如增強(qiáng)GoogleAppsUserAdministrationTool(以及其他)。
09.成為瘋狂的科學(xué)家
我們認(rèn)為數(shù)字運(yùn)算和瘋狂科學(xué)家(也許是因?yàn)槿藗冋J(rèn)為兩者都無法為常人所理解)之間存在著關(guān)聯(lián)。許多開發(fā)人員并不把Java當(dāng)作是數(shù)字處理和科研需要(可以查看此堆棧溢出消息線程)的最佳語言。雖然Python被越來越廣泛地關(guān)聯(lián)到這些類型的編程任務(wù),但是事實(shí)上,你也可以使用Java。
而且,Java是更好的解決方案,當(dāng)你需將大量大量數(shù)字或科學(xué)進(jìn)程結(jié)合到流暢的2D或3D圖形輸出時(shí)。為了使Java成為瘋狂科學(xué)家萌芽的一個(gè)很好的平臺,你需要如JScience或JSci這樣的庫。網(wǎng)站,如Glassdoor,提供了許多有趣的工作,讓你使用科學(xué)和Java的工作。
10.為學(xué)校創(chuàng)建應(yīng)用程序
大量的學(xué)校依靠于定制的Java應(yīng)用程序。曾幾何時(shí),Java一直是學(xué)校學(xué)習(xí)編程技巧的首選語言。為學(xué)校創(chuàng)建應(yīng)用程序有意思的地方在于,相較于商業(yè)世界,其應(yīng)用程序的范圍更廣、規(guī)模更小——你可以編寫一個(gè)應(yīng)用程序,今天跟蹤學(xué)生的統(tǒng)計(jì)資料,明天跟蹤實(shí)驗(yàn)室的建模過程。
此外,當(dāng)使用有的應(yīng)用程序時(shí),如labsetups,你還可以和那些頭腦的創(chuàng)造力尚未被商業(yè)工作搞得遲鈍的學(xué)生一起工作,從而可以得到各種偉大的輸入和點(diǎn)子。Freelancer可以為你提供關(guān)于這一方面的很多工作。
總結(jié)
這10個(gè)使用Java工作的方法只能從表面吸引你愛上編程。Java是如此的受歡迎和應(yīng)用廣泛,以致于幾乎有無限多的辦法用這種語言做一些有趣又迷人的東西。無論你想要去做什么,Java技能都能助你踏上有趣的職業(yè)生涯。