自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我作為程序員辣么窮的黑歷史

開發(fā) 前端
我在十三、四歲的時候第一次真正進入編程這個領(lǐng)域。從十一歲開始我就一直對計算機非常感興趣,但在十三歲之前并沒有太多地涉足編程。那大約是五年前。

我在十三、四歲的時候***次真正進入編程這個領(lǐng)域。從十一歲開始我就一直對計算機非常感興趣,但在十三歲之前并沒有太多地涉足編程。那大約是五年前。

我記得在中學玩過一個游戲:Runescape。很多時候游戲都會崩潰,并且會看到一個奇怪的包含外國文字的文本文件。***,我有了大約十幾個文件,于是決定去調(diào)查究竟是怎么回事。在稍微谷歌了一會之后,我閱讀鏈接到關(guān)于Java和線程的內(nèi)容。它讓我覺得摸不著頭腦,但同時所有這一切又那么令人著迷。一段時間之后,我就將它棄之腦后了,我不知道下一步該怎么做。這樣的情況一直持續(xù)到上7年級。

在7年級的時候,我們班上的每個人都需要做一個科學展覽會的項目。老師帶我們進入計算機實驗室,并給了我們一個包含項目點子的網(wǎng)站URL。***個抓住我眼球的項目標題是:“使用JavaScript構(gòu)建計算器”。閱讀了之后,我覺得這個相當酷,并決定進入編程。

幾個星期后,我和我的一個朋友談?wù)撈鹆宋业男屡?。他的父親做IT方面的工作,他提到了一個被稱為Batch的語言。他告訴我如何用這種語言做一個測驗,我發(fā)現(xiàn)它很簡單,并且樂趣十足。我花了幾個月的時間主要用于吃透基本的JavaScript,Batch和VBScript。這很有趣,但我并沒有做任何酷的東西。老實說,我真的很想制作游戲,正如許多年輕“程序員”會有的想法。

幾個月后,我開始在C++上胡搞一通。我記得介紹Batch給我的那個朋友告訴過我,你不去學校就不能學到C ++。我想證明他錯了。好吧,在“coding bootcamps”之前這的確是個問題。我主要從谷歌“C ++教程”或“如何用C + +(此處插入任務(wù))”學習語言。我很容易地就掌握了基礎(chǔ)內(nèi)容。結(jié)構(gòu),語法,所有一切都很容易。我用了一段時間去(有點)理解OOP和指針,然后,我開始對一切都感到無聊。我想制作游戲。所有我找到的C ++游戲框架,都需要大量的樣板代碼并且/或相對比較復雜,既然我真的無法涉足其他任何地方,于是我決定繼續(xù)前進。

在大概7年級結(jié)束和8年級開始的時候,我開始尋尋覓覓新的語言。我看過Python,Ruby,PHP,但都不感興趣,抓住我眼球的下一個語言是C#。和C ++一樣,我學習了基本的語法,但從來沒有真正學到任何深入的東西。事實證明,游戲開發(fā)不僅僅是編程,所以我又繼續(xù)往前?,F(xiàn)在我想開發(fā)桌面軟件。沒過多久,我漸漸離C#越來越遠,在高中的***年我恍然發(fā)現(xiàn)自己使用的是Java。

此時,我學到的Java比任何其他語言都多?;叵肫饋?,這可能是我唯一一次可以說我真的了解了一種編程語言的時候。這一年我又碰到了新鮮玩意。到了9年級,我***次遇到對編程同樣感興趣的其他人。

他和幾年前的我一樣,打算進軍游戲開發(fā)。在他試圖學習C ++的時候,我正沉浸在Java中。然后一年后,他進入了Web前端開發(fā)。我們之前都寫過一些HTML / CSS代碼,但我們都從來沒有真正做出過成果。我們終于有機會一起工作了,因為我們決定做一個網(wǎng)站去參加其中一個班級的決賽。當時,他高三,而我高二。因為我仍然想使用Java,于是決定我來為我們的網(wǎng)站做后端。在接下來的幾個星期時間里,我們設(shè)計出了一個可怕又丟臉的玩意。好吧,為了證明我的言符其實,讓你見證它的糟糕程度,下面摘錄一些我寫的JSP:

 

  1. <% 
  2. try { 
  3. File userFile = new File(request.getParameter(“usr”) + “.csv”); 
  4. FileInputStream fstream = new FileInputStream(userFile); 
  5. DataInputStream reader = new DataInputStream(fstream); 
  6.  
  7. String login = reader.readUTF(); 
  8.  
  9. StringTokenizer splitter = new StringTokenizer(login, “,”); 
  10. String user = splitter.nextToken(); 
  11. String pass = splitter.nextToken(); 
  12.  
  13. if(request.getParameter(“passwd”).equals(pass)) { 
  14. out.println(“Authorization Success”); 
  15. UserSession current = new UserSession(user); 
  16. session.setAttribute(“User”, user); 
  17. else { 
  18. out.println(“Bad Password”); 
  19.  
  20. reader.close(); 
  21.  
  22. catch(FileNotFoundException fnf) { 
  23. out.println(“Bad Username and/or Password”); 
  24. %> 

是啊,我太懶了,居然沒有設(shè)置數(shù)據(jù)庫,所以我將用戶存儲在個人CSV文件中。

雖然代碼是如此黑暗,但從中我們學到了很多有趣的東西,并且第二年(我高三的時候),在我們學校的幫助下,我們開始做自由web開發(fā)。小小的我們從沒有經(jīng)歷任何真正的成功,我不喜歡做靜態(tài)網(wǎng)站或Wordpress管理(而這正是我們大多數(shù)SMB客戶所想要的)。我依然是搞后端。我們還找了一些知道HTML、CSS和JS的新手來幫助我們,附帶一句,管理團隊蠻有趣的。但是,問題是,我總是似乎做了所有的工作。

我終于還是拋棄了Java,因為我無法決定是學習Spring還是Play Framework,我陷入了Node.js和fullstack JavaScript的誘惑。我現(xiàn)在***的遺憾是決定成為一個Javascript開發(fā)人員。雖然,我從來沒有真正地制作過任何酷的web app,但我在一些客戶端網(wǎng)站上涉足了很多Express和jQuery方面的東西。

然后我到了高中四年級(美國中學為四年制)。與我一起搞自由職業(yè)的朋友已經(jīng)畢業(yè)了,去了大學,而其他團隊成員總是一副忙忙碌碌的樣子。我需要團隊中的人能夠真正實際上做事情來幫助我(在一些客戶端工作上我已經(jīng)落后了)。幸運的是,我發(fā)現(xiàn)了一個三年級的正在學習Node的PHP開發(fā)人員。他很棒,幫助我讓一些客戶端工作回到了軌道。在一起完成了一些成功的工作后,我們決定離開web開發(fā)一段時間,去試著做一個移動app以參加一個競賽。因為他有一個mac,而我沒有,于是我說服他學習Swift,而我試著在Android上重新溫習Java。***,在決定使用我們兩個都不熟悉的技術(shù)維護兩個代碼庫之后,他決定將app切換到Ionic應(yīng)用。

讓我印象深刻的是,有幾天時間我完全無法提供力量(這是另一個故事了),當我回來的時候,他已經(jīng)為我們的app完成了一個可工作的MVP。我們兩個都沒有任何Angular經(jīng)驗,所以代碼可能幾乎和我從前的那個JSP一樣糟糕,但app看起來很漂亮(有部分要感謝我們的“設(shè)計師”,我的另一個了不起的朋友)。

無論如何,之后我畢業(yè)了,那么這篇文章究竟說明了什么呢。

為什么我是一個壞程序員

我從來沒有真正學到任何東西。我犯了不斷從這個技術(shù)和語言跳到那個技術(shù)和語言的愚蠢錯誤。因此,雖然我了解許多語言和框架的基礎(chǔ),但在沒有更深入的研究之前,我并不能真正應(yīng)用它們到任何地方。

我從來沒有學習算法,并且沒有上大學的意愿。上過大學的你,或許會說所有那些東西都不是很重要,但在現(xiàn)實中真的并非如此。當我開發(fā)一個產(chǎn)品的時候,我可能不需要任何知識。但等等,面試該怎么辦呢。在大多數(shù)情況下,你需要通過面試來獲得作為開發(fā)人員的工作,而從我打聽到的來看,面試通常包括要求你解決一個傳統(tǒng)的“算法問題”。

我記得我以前閱讀過有人在面試中被問及如何反轉(zhuǎn)鏈表的問題。坦率地說,如果我在面試中被問到的話,我的回答會是:

  1. java.util.Collection.reverse(someLinkedList); 

有一個API方法我可以用來做到這一點。如果這不是一個可以接受的答案,那么我唯一的選擇是與面試官爭辯。我不確定在沒有準備的時候我能否做到這一點,但如果碰到被提問的情況,我會查閱文檔和/或谷歌來搞清楚。

不管怎樣,我不覺得學習算法或上大學會更好。

我從來沒有應(yīng)用過我擁有的知識。人們說***的學習方法是付諸于實踐。我的問題是我不知道該做什么。我不喜歡克隆流行的app,因為它們不切實際。我喜歡采納其他人的點子,為他們來構(gòu)建那些在某段時間內(nèi)我沒有機會去做的東西。我的Github充滿了許許多多廢棄的項目。

為SMB做網(wǎng)站。這是我唯一的經(jīng)驗,其他沒什么可展示的。我們開發(fā)的大多數(shù)網(wǎng)站由于某種原因不再活躍。事實證明,大多數(shù)SMB不需要網(wǎng)站,因為網(wǎng)站相對于Facebook頁面+谷歌業(yè)務(wù)(點擊這里查看更多信息)可為他們提供的很少。

JavaScript。我討厭這門語言及其社區(qū)。原因有很多,甚至可以寫成一篇新的文章。然而,不幸的是,它最終迎來了它的輝煌,如果你開發(fā)一個Web應(yīng)用程序而沒有使用像React這樣的支持框架(即如果我使用像ASP.Net MVC + Razor這樣的東西來編寫應(yīng)用程序的話),那么你就會被一個軍隊的“衛(wèi)道士”釘死在十字架上:不斷地告訴你你是如何的愚蠢居然不臣服于救世主React。

結(jié)論d

我最近才注意到我是真的很窮。 畢業(yè)后,我不曾工作于任何東西,因此我的技能已經(jīng)退化甚至更糟。我***一次工作于這個領(lǐng)域已經(jīng)大約是在7個月以前的事情了。我知道我應(yīng)該回到這個領(lǐng)域,雖然我不知道我想做什么。 我想也許應(yīng)該是:

Android(Java,Kotlin,等)

或者

C#和ASP.Net(Core很酷,但MVC更實用)

不管是什么,這一次我已經(jīng)打定了主意。學習語言以及相關(guān)的框架,不再跳來跳去。 我決心這次一定要實際擅長于某件事情。

也許有人在讀這篇文章的時候發(fā)現(xiàn)可以從我的錯誤中學習。好的,希望如此。如果這篇文章你覺得我寫得有點亂,那么我向各位致歉,因為這是我在Medium上發(fā)布的***篇文章。***,與君共勉。

責任編輯:張燕妮 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2020-12-07 13:21:13

程序員歷史Python

2014-07-03 09:56:35

程序員辭職

2016-04-19 10:20:42

程序員遺憾

2009-03-26 09:22:05

2018-08-06 10:25:07

Linux命令程序員

2013-07-24 14:17:10

2013-01-17 10:10:44

程序員

2019-07-10 09:05:14

程序員開源軟件軟件

2021-02-20 13:55:35

程序員計算機技術(shù)

2018-07-04 13:36:53

程序員項目數(shù)據(jù)庫

2012-05-11 09:13:28

程序員開發(fā)者

2012-09-18 10:05:51

程序員我的歌聲里程序員的歌

2012-05-25 10:54:24

程序員

2015-09-01 11:17:53

2010-03-02 10:13:56

程序員面試

2012-06-25 10:05:10

程序員

2009-06-02 13:43:04

程序員定義職場

2021-03-22 08:58:23

程序員產(chǎn)品經(jīng)理

2013-06-08 14:12:13

程序員招聘

2023-12-05 18:22:12

Go程序員Zig
點贊
收藏

51CTO技術(shù)棧公眾號