如何成為一個(gè)程序員 為什么很多看起來(lái)不復(fù)雜的網(wǎng)站,卻需要頂尖的程序員來(lái)開發(fā)?
為什么很多看起來(lái)不復(fù)雜的網(wǎng)站,卻需要頂尖的程序員來(lái)開發(fā)?有些網(wǎng)站看起來(lái)很簡(jiǎn)單,還可以實(shí)現(xiàn)基本的登錄、注冊(cè)、查詢等操作。實(shí)際上,函數(shù)非常簡(jiǎn)單。即使是初學(xué)者學(xué)習(xí)編程也能做到。當(dāng)然,這是要完成的基本功能。底
為什么很多看起來(lái)不復(fù)雜的網(wǎng)站,卻需要頂尖的程序員來(lái)開發(fā)?
有些網(wǎng)站看起來(lái)很簡(jiǎn)單,還可以實(shí)現(xiàn)基本的登錄、注冊(cè)、查詢等操作。實(shí)際上,函數(shù)非常簡(jiǎn)單。即使是初學(xué)者學(xué)習(xí)編程也能做到。
當(dāng)然,這是要完成的基本功能。底層程序員考慮的是功能的實(shí)現(xiàn),而基于功能的互聯(lián)網(wǎng)站則要求更高的安全性和并發(fā)性??傊?,功能非常簡(jiǎn)單,但要實(shí)現(xiàn)高并發(fā)性并不容易。同時(shí),網(wǎng)站運(yùn)營(yíng)過程中會(huì)出現(xiàn)很多漏洞,等待修復(fù)。
初級(jí)程序員覺得所有的網(wǎng)站在一開始就取得了很多成就之后都太簡(jiǎn)單了。你可以自己做。實(shí)際上,您只能處理函數(shù)。千萬(wàn)人不可能同時(shí)參觀。感謝上帝,你可以保證成千上萬(wàn)的人。
所以此時(shí)的狀態(tài)仍然保持在功能級(jí)別。但是互聯(lián)網(wǎng)項(xiàng)目需要高并發(fā)性。
對(duì)于大型互聯(lián)網(wǎng)項(xiàng)目,除了開發(fā)功能需求,更重要的是優(yōu)化。例如,構(gòu)建云服務(wù)器集群、更改bug、優(yōu)化流程等等。因此,互聯(lián)網(wǎng)項(xiàng)目似乎仍然需要頂尖程序員的開發(fā)。因?yàn)樗麄冎赖母唷?/p>
我認(rèn)為作為一個(gè)程序員,我們應(yīng)該一直遵循學(xué)習(xí)的狀態(tài)。繼續(xù)學(xué)習(xí)。來(lái)吧。
軟件開發(fā)、網(wǎng)站開發(fā)有區(qū)別嗎?
謝謝。我是一名軟件工程師。首先我要明確的是,軟件開發(fā)的范圍非常大,包括游戲開發(fā)、網(wǎng)站開發(fā)、手機(jī)應(yīng)用開發(fā)等等。
因此,網(wǎng)站開發(fā)屬于軟件開發(fā)的范疇,網(wǎng)站開發(fā)主要采用B/S架構(gòu),B代表瀏覽器,S代表服務(wù)器。由此可見,網(wǎng)站的開發(fā)還包括前端和后端兩部分。
前端負(fù)責(zé)開發(fā)web界面,還控制用戶數(shù)據(jù)和服務(wù)器數(shù)據(jù)之間的交互。
常見技術(shù)包括HTML和JavaScript。Html用于編寫網(wǎng)頁(yè)的外觀。JavaScript控制著網(wǎng)頁(yè)數(shù)據(jù)處理的邏輯,還可以處理圖形交互的動(dòng)畫效果。
下圖是前端工程師的思維導(dǎo)圖:
后端負(fù)責(zé)服務(wù)器的代碼開發(fā)。目前,服務(wù)器的主流語(yǔ)言是Java。作為一名java開發(fā)工程師,我主要談?wù)搄ava。
Java知識(shí)很深,但歸根結(jié)底,Java的主要目的是對(duì)服務(wù)器端的數(shù)據(jù)庫(kù)進(jìn)行合理的管理,處理數(shù)據(jù)變化和數(shù)據(jù)傳輸,保證前端數(shù)據(jù)能夠得到有效的反饋,保證網(wǎng)站的數(shù)據(jù)能夠穩(wěn)定、連續(xù)地輔助網(wǎng)站的運(yùn)行網(wǎng)站。
事實(shí)上,網(wǎng)站開發(fā)過程是軟件開發(fā)的縮影,開發(fā)原則是相互聯(lián)系的。
程序員是做前端開發(fā)好,還是后端開發(fā)好呢?
程序員的概念在當(dāng)今社會(huì)非常普遍。它是時(shí)代創(chuàng)造的,也是一種潮流??茖W(xué)技術(shù)是第一生產(chǎn)力,因?yàn)檫@個(gè)職業(yè)包含了這個(gè)社會(huì)太多人的技能,而不僅僅是代碼編寫、思維能力、行為模式等。從房東提出的問題可以預(yù)見,房東對(duì)這個(gè)職業(yè)了解不多。
那么我就從賺錢的角度(這可能是大多數(shù)人最關(guān)心的)告訴你前端和后端的利弊。
協(xié)調(diào):北京(因?yàn)槲抑恢肋@一點(diǎn),所以我也建議我年輕的時(shí)候,應(yīng)該在性價(jià)比更高的一線城市做程序員)。眾生——不是那么勤勞,也不是太有天賦:從入職到轉(zhuǎn)行,我基本上處于中等水平(或者可能是初級(jí)),程序員職業(yè)的工資在8-15k之間(不包括福利),在中等水平這個(gè)水平的學(xué)生,前面沒有什么區(qū)別而在后臺(tái),他們中的大多數(shù)人都在寫業(yè)務(wù)或申請(qǐng),他們中的大多數(shù)人都是為了運(yùn)氣而面試。如果他們是幸運(yùn)的,他們有一個(gè)低水平和高工資,但他們不是幸運(yùn)的,相反;
2。進(jìn)取型-非常勤奮,而且他們沒有太高的天賦:
這里我給出了“勤奮”的定義,即在整個(gè)程序員的職業(yè)生涯中不斷學(xué)習(xí);
在這里每個(gè)間隔基本上都會(huì)達(dá)到準(zhǔn)高級(jí)的階段,而且很有可能成為高級(jí)。薪水大概在2.5-3萬(wàn)之間,大多數(shù)能堅(jiān)持到這個(gè)階段的人都會(huì)有堅(jiān)持下去的理由,比如喜歡、愛、被生活所迫等等。在這種情況下,后端比前端更重要,因?yàn)楫?dāng)東西稀缺時(shí),它總是很昂貴的。當(dāng)一個(gè)公司衡量一個(gè)人的工資時(shí),它總是從稀缺性和不可替代性的角度來(lái)考慮支付多少。其他人的孩子-既有天賦又勤奮:
現(xiàn)階段的工資約為3-5萬(wàn),因此我們不能僅從以前的后端角度看待這一職業(yè)。基本上是滿堆的。這是基于默認(rèn)情況下,你沒有問題寫業(yè)務(wù)。在架構(gòu)方面,訪談主要集中在算法、優(yōu)化、兼容性、底層等方面。所以在這個(gè)階段,我們應(yīng)該有能力成為許多事情的專家;
4。剩下的部分-請(qǐng)?jiān)徫覜]有總結(jié)這種人,因?yàn)槲蚁氩怀鋈魏卧~來(lái)形容他們:
跳過它。。我對(duì)他們也不是很熟悉。它們基本上與我的代碼世界是平行的;
總而言之,如果我們簡(jiǎn)單地混淆,我們可以看到哪一個(gè)容易開始,我們推薦前端。畢竟,閾值很低,單位時(shí)間早期的加速度很高。如果我們想有一個(gè)長(zhǎng)遠(yuǎn)的計(jì)劃,在這個(gè)時(shí)代,我們必須精通多種能力。無(wú)論我們專攻前端還是后端,在一定程度上,我們都是神。
web前端開發(fā)、后端開發(fā)、java程序員和移動(dòng)端開發(fā)有什么區(qū)別和要求?
首先,從技術(shù)結(jié)構(gòu)上看,web前端開發(fā)涉及HTML、CSS、JavaScript等多種前端開發(fā)框架技術(shù);后端開發(fā)技術(shù)主要完成業(yè)務(wù)邏輯的處理,涉及存儲(chǔ)管理、安全管理、并發(fā)處理等資源調(diào)整??梢詮氖潞蠖碎_發(fā)的編程語(yǔ)言有很多種,包括Java和python、PHP、C#、go等;移動(dòng)開發(fā)涉及Android開發(fā)、IOS開發(fā)以及各種移動(dòng)設(shè)備所需的具體開發(fā)。Android開發(fā)可以使用Java或kotlin,IOS開發(fā)可以使用oC或swift,而移動(dòng)開發(fā)往往需要掌握J(rèn)avaScript語(yǔ)言。
在當(dāng)前云計(jì)算技術(shù)的推動(dòng)下,全棧前端開發(fā)是一個(gè)明顯的發(fā)展趨勢(shì),前端開發(fā)崗位的工作邊界也在不斷擴(kuò)大,逐漸形成了包括web前端開發(fā)、后端開發(fā)(部分)、移動(dòng)開發(fā)、大數(shù)據(jù)呈現(xiàn)等“大前端”概念發(fā)展。從目前的就業(yè)形勢(shì)來(lái)看,前端開發(fā)的就業(yè)前景還是不錯(cuò)的,但企業(yè)對(duì)前端程序員的知識(shí)也提出了更多的要求。
目前,隨著大數(shù)據(jù)、云計(jì)算和人工智能相關(guān)技術(shù)的聯(lián)合推廣,后端程序員的發(fā)展方向有兩個(gè),一個(gè)是全棧程序員的方向,另一個(gè)是研發(fā)級(jí)程序員的方向。對(duì)于基礎(chǔ)學(xué)科(數(shù)學(xué))薄弱的后端程序員來(lái)說(shuō),如果想提高自己的工作競(jìng)爭(zhēng)力,可以考慮向全棧程序員發(fā)展,Java全棧開發(fā)是一個(gè)不錯(cuò)的選擇。對(duì)于基礎(chǔ)學(xué)科扎實(shí)、研發(fā)能力強(qiáng)的程序員,可以走工業(yè)互聯(lián)網(wǎng)時(shí)代的研發(fā)水平路線,提高崗位競(jìng)爭(zhēng)力和職業(yè)生命周期。
最后,對(duì)于初級(jí)程序員來(lái)說(shuō),如果他們將來(lái)想在技術(shù)研發(fā)領(lǐng)域走得更遠(yuǎn),可以考慮讀研究生。