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