-
1 # 桃之夭夭8082
-
2 # 熊貓大哥大教程
如果要以程式設計師為工作的話,我認為最好具備以下幾點:
第一,是要對計算機感興趣,如果對計算機不感興趣會感覺程式設計很枯燥,就算做了程式設計師都不開心,那還為何要去做程式設計師。反之如果對計算機感興趣,興趣是最好的老師,學習起來會非常迅速。
第二,學歷肯定是越高越好,但是不是必然因素。如果學歷是本科以上的話,那麼大多數公司都不會因為學歷阻攔你。但是實際上程式設計師的工作所需要的基礎知識,初中學歷就足夠了。公司之所以卡學歷,很大程度上是增加選擇人才的效率,畢竟一個高學歷的人更加有可能勤奮、聰明、掌握方法。
第三,如果是零基礎的話,也不必感覺很困難,我見過很多轉行過來的人,自學都可以入門,因為現在網上的教程是在是太完善了。但是必須記住一點,計算機程式設計必須要實踐實踐再實踐,一直看書看影片不動手,實際上是學不到什麼東西的。
總結,做一個程式設計師不算特別難,難的是做一個好的程式設計師,因為技術迭代快,你最好是熱愛它。
-
3 # 千鋒教育成都
作為一個開發人員,我們最大的挑戰就是保持自己瞭解新的技術。技術變化很快,你大概每兩年就會看到一個新版本的程式語言和框架。
最近兩年區塊鏈、人工智慧,物聯網等等技術已經撲面而來了。除了這些離我們較遠的,說幾個離我們最近的:JDK 9、 Spring 5、 Spring Security 5、 Spring Boot 2、ServiceMesh等。這一年對於一個Java開發來說可能是最忙碌的一年了,我們還在學習使用Java 8的Stream API的時候,Java 9的模組化已經來了。除此之外,JDK 9 還有很多有趣的功能如Jigsaw、JShell、Stack-Walking API等,所以,僅僅是這些東西足夠2020年的你好好學習一番了。
再拿Spring來說說,可能情況更加嚴重,毫不客氣的說,很多人可能還不知道Spring 4有哪些特性,甚至專案中還在用Spring 3.1 ,更別提新出來的Spring 5、 Spring Security 5這些東西了。想想有多可怕,我們現在用的竟然是五六年前的技術。下面介紹些新技術,下面和小編一起來看看吧!
1、Gradle
Java世界中主要有三大構建工具:Ant、Maven和Gradle。經過幾年的發展,Ant幾乎銷聲匿跡,還剩Maven和Gradle兩種,maven是我目前工作中用的版本管理工具。maven現在已經是行業標準,Gradle算是後起之秀,很多人對他的瞭解都是從android studio中得到的,Gradle拋棄了Maven的基於XML的繁瑣配置。取而代之的是Gradle採用了領域特定語言Groovy的配置,大大簡化了構建程式碼的行數。
2、Python
最近我已經在開始學習Python了。最初想學習他的動機是想借助Python做一些爬蟲、資料分析相關的事情。作為一種語法簡單的高階語言,Python有很多優點。對於一個Java程式設計師來說,學習Python是很容易的。在StackOverflow2018開發者調查中。所有最受歡迎的語言中,Python超越PHP位居第五,在你最希望使用哪種語言排行榜中,Python 奪冠,而去年僅僅第四。所以,如果你準備學習一門新的語言,Python絕對是個很好的選擇。
3、Java 8 和 Java 9
就像我說的,我和絕大多數Java開發人員一樣,仍然在學習Java 8。2018年仍然會繼續學習並大量使用Java 8。我也會花一些時間學習Java 9的新特性,比如Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell等也在學習清單中。
4、Spring 5
2017年我們見證了見證了Spring和Java生態系統的許多重大升級,Spring 5.0就是其中之一。Spring 5 的新反應式程式設計模型、HTTP/2 支援,以及 Spring 透過 Kotlin 對函數語言程式設計的全面支援這些都值得我們好好了解一下。
5、Spring Security 5.0
Spring Security 5.0 提供了許多新功能,並支援 Spring Framework 5.0,總共有 400 多個增強功能和 bug 修復。在Spring Security 5.0.0之前,密碼是明文儲存,十分不安全,這一次的新版本則使用更安全的密碼儲存方式。Spring Security 5.0.0的主要亮點在於它只需要最小化的JDK 8、反應式安全特性、OAuth 2.0(OIDC)和現代密碼儲存。
6、Spring Boot 2
Spring Boot 2.0 基於 Spring 5 Framework ,提供了 非同步非阻塞 IO 的響應式 Stream 、非堵塞的函式式 Reactive Web 框架 Spring WebFlux等特性。很多使用過SpringBoot的人都知道,使用SpringBoot搭建Web應用真的是又快又好,相信Spring Boot 2會帶來更多驚喜。
7、Apache Spark 和 Kafka
另外一件2020年要深入學習的是大資料相關的知識。特別是Apache Spark 和 Kafka兩個框架。我不確定我是否會有時間看其他大資料技術,這兩個至少在當前還是比較火的。
以上就是推薦Java程式設計師可以瞭解的7個技術,如果你有空閒時間,可以用來學習學習,畢竟多掌握一門技術多一個選擇。
-
4 # 北漂程式設計師小強vlog
成為程式設計師的方式有兩種,1.科班出身,你大學學的是計算機專業,或者計算機相關專業,比如電氣,電子資訊等,2.培訓機構培育,透過四五個月的學習,可以達到開發的工作能力。但是個人不建議轉行培訓,因為工作幾年後你會發現你的知識儲備不夠,技術難達到一定的深度,程式設計師還有個35歲的魔咒,到時很大可能被裁員,被迫轉行
-
5 # 捧哥vlog
多寫程式,多總結,學習就是一個輸入和輸出的問題,就像我現在學python,並且拍下來,和大家一起學習,堅信教是最好的學,才發了兩個影片,現在收穫6個粉絲,我驕傲。
-
6 # 向心力995
20多年的老猿了,程式=資料結構+演算法+組織,其實與開發語言沒太大關係,掌握語言將近十種吧,越發感覺資料結構的重要,好的資料結構往往會以空間換時間實現複雜演算法的簡化,而對一個巨系統的開發,如何實現程式結構的科學組織又致關重要。
我的理解是一般程式重要性:資料結構>演算法思維>語言;大系統開發,則要學學軟體工程的方法,把組織工作提上去。
對培養猿民而言:多看程式碼例項,多煉手,舉一反三可為捷徑!
-
7 # 科技領先創造者
首先,程式設計師的老婆應該耐得住寂寞。 正如大家所知道的那樣,大多數程式設計師在大學的時候,都是宅男,喜歡一個人成天的研究他的程式碼,很少會有時間去主動陪伴自己的女友,當然,所謂“江山易改本性難移”,雖然這句話用在這裡不是很適合。
程式設計師的老婆應該耐得住冷落。程式設計師的工作由於這個社會在不斷的進步,IT界的發展更是迅猛不已,為了更得上節奏,程式設計師很容易加班,這個時候,可能很難得考慮到妻子的感受,很容易冷落妻子,所以這個時候,作為妻子應該理解和包容他。程式設計師的老婆應該照顧得了程式設計師的生活。作為一位妻子,照顧好自己的老公是很自然的事情,這就不用我多解釋了。程式設計師的老婆應該要給程式設計師足夠的金錢自由去買電子產品。基本上所有的程式設計師都喜歡電子產品,這是個人的愛好,就如同女孩子基本上都喜歡買衣服,逛街一樣。所以作為妻子應該在這個時候在金錢上一定的自由。程式設計師的老婆應該要聽懂一些基本術語。兩個的交流一般都是要有共同的話題,不然倆個人都很痛苦。所以瞭解對方的領域的一些基本的術語是很必要的。程式設計師的老婆應該要記住IT圈知名人物的名字以及事蹟。史蒂夫.保羅.喬布斯是一個你必須記住的名字。這樣你們之間的共同話題將會變得更多。程式設計師的老婆應該要關注程式設計師的身體健康,提防職業病的發生。IT界的職業病很多,而且後果很嚴重,所以有必要時刻關注著職業病的發生。程式設計師的老婆應該不要太擔心程式設計師會出軌。程式設計師一般都不是很會表達自己的愛的那種人。再者,程式設計師所處於的工作環境,一般女孩子都不是很多,接觸得少了,交往的機會就少了,出軌的可能性就更低了,所以不用太過擔心,他會出軌這種事情。程式設計師的老婆應該要不時的讚美程式設計師,欣賞他們的審美,因為程式設計本身就是一門藝術。更多的是因為,你既然選擇了他做為你的愛人,那麼你就應該給予他做大的支援不論他怎麼樣。人總是喜歡得到別人的讚美,那樣會讓人感覺到不一般的愉快。工作和生活起來更加愉悅。 不知道我的回答是否讓你滿意,滿意的話轉發以下謝謝、 -
8 # IT貓爸
我想這個題目對於做一個合格程式設計師,是很簡單的,你只要寫的程式沒有bug,然後那你就是一個合格的程式設計師,但是我想更深一個程度一步就是說怎麼樣做一個好的程式設計師,做一個好的程式設計師的話,那首先
第1點:你需要對程式設計有興趣,而且要有一個激情持續的去投入,然後去學習,投入很大的精力去鑽研各種方向。
第2點:你要對你自己的專業領域,比如說前端或者後端要有一個鑽研的精神,要有一個深度。比如說後端你要知道他大概的一個架構是什麼樣子,為什麼怎麼架構,為什麼不那樣做,為什麼要這樣做。要對底層的原理以及一些機制,進行深入的瞭解,包括一些原始碼什麼之類的都要去讀一些。
-
9 # 小漫神
雖然我不是程式設計師,但是我覺得每一個職業在本質上都是一樣的,你要做一個合格的程式設計師
①你必須對這件事情產生興趣,因為興趣是我們人生的導師,這樣你才會虛心請教別人,學到更多的知識。如果程式設計師這個職業還跟你的夢想掛鉤,那就再好不過了,這樣的你肯定會竭盡全力,盡你所能,全身心的投入到裡面去,除去其他條件不說,我覺得如果你能做到這一點,你就是一個合格的程式設計師。
②你一定要有功底,就像考試一樣,及格線是60,而你才考了20多,那這樣是不合格的,所以你需要有解決一部分問題的能力,也就是“階段性”解決問題。還有合格的程式設計師一般都會有自己解決問題的方法,而不是一天到晚用別人的方法解決問題,解決問題的方法有很多,你應該結合別人想法,以自己的方式來解決問題。
④學會分享。不管是誰,不管什麼職業,下至底層老百姓,上至富豪官員,他們都會把自己喜歡的人事物分享給他人,講給其他人聽。只有自己真的喜歡,才會真的分享給他人,這才是一個合格的程式設計師。
⑤具備創新精神。你需要全力投入,變得認真,用心鑽研你的技能,一次次嘗試,失敗,嘗試,失敗,再嘗試,直到成功。把技能訓練到爐火純青的地步,只有具備這樣的創新精神,你便以合格,甚至已經超越合格,成為優秀的程式設計師了。
-
10 # Kobe096
作為一名老程式設計師,我就說說我的看法吧。
1. 靈活的思維: 雖然編寫程式碼比較枯燥,但卻不固定。許多程式都是需要提前設計的。擁有靈活的頭腦,可以使你對整個工程瞭如指掌,即使程式碼被修改的面目全非,你仍然能看到重點。
2. 謹慎的態度: 程式設計師與數學工作者有著共同的地方,就是謹慎。謹慎使得萬年船,這樣的態度會使你少犯錯誤,減少不必要的時間成本。
3. 過硬的基礎: 程式設計並不難,但你得會程式設計。這裡的‘會’指的是你的資料結構是否設計的合理,你的程式碼是否精簡,註釋是否得當,文件說明是否健全等。只有這些做好了,使用者才會更信任你。
4. 不斷學習的勇氣: 程式設計是相對固定的,但是技術卻是不斷進步的。比如: 前些年流行的多執行緒,現在慢慢的已經轉化為了平行計算。這些都需要不斷的學習,才能不被社會淘汰。
總之,只要你肯於付出,並做到以上幾點,你就是一個合格的程式設計師。
-
11 # ouycxlight
1.程式設計師要有良好的基礎、迷戀技術,保持對程式碼的熱情
興趣是最好的老師,如果不是最初對程式設計充滿興趣,應該很少有人會選擇程式設計師這個行業,但同時程式設計師是一個有點乏味枯燥的工作。如果你不迷戀技術,對程式碼充滿熱情,那你只能做一個平淡的程式設計師。
2、在實踐中成長,磨礪技術
程式設計師是一個在實踐中成長的職業。你看再多書,聽再多的影片課,自以為學到很多東西,但正在接觸專案的時候,就兩手發軟,頭腦空白了。最好的提方法,是正在參與到專案中去,最好是能參與從設計到開發到測試到維護一整套的整套流程。
3、加班雖苦但也是提高的過程,畢業之後的前三年最為重要,要認認真真鑽研技術,積累經驗,至少能在某一方面成為技術達人。程式設計師加班是很正常的事情,要加班工作,加班學習,同時在這段時間要注意多總結,注意工作方法,合理安排時間,提高工作效率。你現在的付出是為了以後的成功!
4、不怕失敗,學會尋找成就感
新程式設計師由於技術水平、經驗的欠缺,寫出的程式bug多,執行效率低,可能被同事嘲笑,然後被上司責怪,內心充滿有挫折感。要學會自我減壓,相信挫折與失敗只是暫時的,發奮圖強。在工作中要學會尋找成就感,哪怕你只是完成一個小功能,優化了一段程式碼,都是你辛勤付出的結果,是你能力提高的體現。
5、要學會寫文件
不要以為程式設計師只要負責寫程式碼,如果是那樣,你永遠不能有上升的空間了。因為不管是走技術路線,還是管理路線,都離不開文件,方案文件,技術文件,產品介紹文件,管理文件等等,是你瞭解開發流程,產品運營的必由之路。
6、學會複製貼上
現在的開發資料已經非常的充實,遇到難以解決的問題不要過分糾結,為難自己,請開啟搜尋引擎搜尋一下。畢竟,你做的是工作,不是在學校做研究。
7、細節決定成敗
不少程式設計師都有這樣的習慣,好不容易思考出解決問題的方法,迫不及待的把程式碼寫出來,功能也實現了,立馬提交程式碼完事。殊不知你的程式碼中還有不少細節需要完善,大到記憶體洩露、資源釋放、程式碼是否高效,小到註釋是否規範,都是你必須關注的問題。
8.最後搞好人際關係,你就是大牛了
-
12 # 雲起東哥
想要做一個合格的程式設計師首先要對程式開發感興趣,俗話說興趣是最好的老師。如果你沒有興趣,硬強迫自己進入這個行業,你會感覺非常的痛苦。所以反思一下自己,如果你對程式開發一點也不喜歡的話那麼趁早退出為好。既然選擇了這個行業我們就要儘量做到最好。想要做一個好程式設計師要做好以下幾點:
1. 標準化的編碼方式:一定要按照標準化的編碼方式來進行編寫程式碼 比如 變數的命名方式 註釋的格式寫法 程式碼的縮排方式都有明確的規範 按照規範編寫程式碼有助於不同程式設計師之間協同工作,也易於程式碼的移植和BUG的處理。
2.團隊合作的精神:今天這個網際網路的環境下靠單打獨鬥已經沒法做出好的產品了 所以一定要做好團隊合作。服從主管分配的工作,保質保量完成工作任務。同事之間互相協作互相幫助,以做出好的產品為目的。不要因為不是自己的工作任務和範圍就坐視不管。
3. 對使用者需求的理解能力:對使用者給出的需求文件仔細分析,積極溝通。需求中的不合程式邏輯的地方要給出客戶替代的解決方案。多從使用者角度出發進行思考,做出客戶滿意的產品。
4.對已完工程式碼的測試意識:對自己寫完的程式碼一定要有測試意識,自己先審查自己的程式碼並進行測試,積極解決程式碼中的BUG。不斷透過測試來提高自己的程式碼質量。
5. 撰寫技術文件:對程式各模組功能與程式碼透過技術文件記錄描述 這樣對將來的程式碼查錯與產品升級帶來極大的便利。
6.完工總結:開發完專案要對自己進行總結,對不足之處進行改進,避免下個專案出現同樣的問題。
-
13 # 科技小麋鹿
想做一個合格的程式設計師,需要系統的學習很多書籍知識,從計算機原理,到各類高階語言深入淺出,你都要掌握。跪在實踐,合理把握任務時間,寫程式要留有餘地,方便擴充套件,程式碼儘可能要規範,其實寫程式碼是一件藝術活。但想要寫出自己想要的,很多時候並不容易,你想造輪子,卻沒有那麼多時間,你想改造輪子,又要看懂別人的程式碼架構,要服從設計和產品經理的設計要求,又要在程式內把控程式最佳化和架構質量。如果你只是一個菜鳥,那當我沒說,因為要成為一個合格的程式設計師,至少也要三五年的時光。
現在的程式設計師上來就是一頓框架胡搞一通,多數已經淪為了碼農,這是實話,合格的程式設計師不應該是一個碼農,至少要有能力獨立完成某個UI框架或者是資料處理類框架的能力。這還只能算是入門把,因為難的還在後面,未來各類分支框架層出不窮,要學的會越來越多,合格的程式設計師的門檻將會越來越高,如果你平時只想搞搞增刪改查,複製貼上的話,那就當我沒說。
我只是一個過來人,如今已不從事計算機行業。搞計算機當碼農很容易一顆樹吊死,如果學的不精,某一天失業了,你會發現你將無路可走。生活應該有更多的色彩和選擇,而不是一棵樹吊死哦。
-
14 # hexpayload
看自己是業務需求發展需求還是興趣驅動吧 業務需要那自然是往業務需要進行發展學習,個人興趣可以提高素質的就多了 1.演算法與資料結構 2.計算機體系 其中體系包括各種現有程式語言,可以嘗試寫一個小系統 各種網路爬蟲 web後端 等。總的來說就是演算法等管在有限資源做到更好,而計算機體系就是你能做到什麼事。
-
15 # 槽話談
首先,我不認為《演算法導論》是所有程式設計師必須一開始就掌握和精通的內容。
我無意否認某些核心課程的重要性,但是我們必須看到——很多程式設計師並不懂程式設計師的三大浪漫——編譯原理,圖形學,作業系統,但這並不妨礙他們在日常工作中創造出各種有價值的軟體。
之所以這麼講,原因是:
行業的門檻因技術的不斷進步而降低 不是所有的程式設計師都需要系統而全面地學習才能勝任工作
這些年來,程式語言、開發工具的迅速發展,我們可以用C#、Java、Objective C這樣的語言完成大多數開發任務(而不是在紙上打孔或者用匯編),用著Visual Studio這樣爽的開發工具, 這並不是因為廠商大發慈悲要拯救程式設計師於水火之中,而是微軟這樣的廠商在取悅我們的老闆和客戶——技術發展的目的是降低軟體開發的用人標準,進而降低軟體行業的人力資源成本,更快、更好、更便宜地滿足使用者的需求。
從公司的角度來看,如果要求所有開發人員都是基礎紮實、技能全面的,那麼用人成本一定很高,我完全相信經過一定訓練和挑選的***鳥畢業生在經理的正確管理下可以很好的開展工作,儘管他可能不懂演算法和資料結構,C和C++基本不會,這並不妨礙他為公司創造價值,隨著他開發經驗的增長,在時間允許的情況下再去補充一些基礎知識也是完全可以的。
其次,題主的情況,未必能承擔系統而全面學習所帶來的成本
幾年以前有個“學生”,打引號是因為我並沒有真正教過他,中專畢業,專業是鉗工,曾經給我展示過胳膊上的長長的疤痕,說是被車床傷到的。
他要求跟我學的時候屬於入門階段,最開始學習的並不是什麼三大浪漫,而是C#. 在掌握了一門程式語言後,很快自學了其他語言(甚至Delphi), 在一年後找到了一個小公司做些基本的開發工作,然後涉足安全領域,開發了各種工具,現在在一家安全公司上班,提升很快,收入不菲。前不久跟我聊他配合網監做一些取證和提審的工作經歷。
2006年,我在武漢某個夜市的大排檔上,凌晨2點多,看到一個服務員在忙裡偷閒看一本計算機書籍(掃一眼就知道),仔細一看是一本Java入門書,聊起來才知道這妹子是護校畢業,但是對計算機有興趣,就想在大排檔當服務員攢學費去***鳥。她還拿出一沓油跡斑斑的信籤紙,上面全是她寫的程式,她說每次去網咖都要裝開發環境,太麻煩了,所以乾脆在紙上寫。哥看不下去了,給一開軟體公司的朋友打電話強烈推薦這妹子去實習,朋友一聽情況表示拒絕,我說你只要給他管工作餐就好,不用發工資。1個月後這妹子進入試用期,2個月後轉正,後來在朋友公司做了近兩年,據朋友說開發能力很強,再後來,我就不知道了。
作為教師,感動我的總是這這樣的“學生”,而不是那些坐在教室裡花著父母的錢虛度光陰的學生。
可能有人會覺得這樣的程式設計師是“野路子”,不登大雅之堂,但這一點都不妨礙他們兢兢業業的工作,為公司創造價值並且改變了自己的生活。
如果這些人要系統而全面的學習計算機專業的基礎課程,得需要多少時間和金錢成本?他們所處的環境是否允許他們這樣做? 他們不這樣做,是不是就成不了“真正的程式設計師”?
好了,我們來談談什麼是真正的程式設計師。
在我的意識裡——能夠根據客戶的需求(或者上級的要求),選擇恰當的技術方案(或者按照上級的指示)開展開發工作,在合理的時間內完成開發任務並達到質量要求的人,就是真正的程式設計師。
要成為這樣的程式設計師,其實沒那麼難。
在這個答案裡,我想把程式設計師分為兩個層次:
L1- 能根據上級的指示,按照公司的要求和規範開展開發工作的,稱為程式設計師。
L2- 能根據客戶的需求,選擇恰當的技術方案,制定合理的工作計劃,獨自或帶領團隊完成開發工作並達到質量要求,稱為軟體工程師。
我想題主可能想成為的是後者,而不是普通的編碼人員,在我接觸到的程式設計師中,其實很少有單純從事簡單編碼工作的,他們大多數都是乾的軟體工程師的活。
軟體工程師應該具備哪些能力呢?我們以前歸納過:
1. 分析問題的能力 2. 設計解決方案的能力 3. 編碼實施的能力 4. 排除故障的能力
這四種能力如果要展開來講,要寫好長的,暫時就不寫了。
開始回答——”如何成為“的問題。
科學家追求的是知識,工程師追求的是能力。而能力是很難從書本上的來的,只能從實踐當中來。
我注意到題主的問題中,提到看書靜不下心,看影片又覺得太慢,可能從一個具體的專案開始更能激發學習興趣並且獲得成就感。
先給第一種路徑建議吧——從C語言開始.
之所以建議C語言,是因為C語言裡沒有那麼多現成的、強大的類庫,在不熟悉基本的語法、面向物件這些概念時C#其實比C語言難以理解,很難深入。學習C語言不僅限於對C語言語法的掌握,而是透過C語言的學習,建立程式設計的思維,比較深入地瞭解一些計算機系統的工作原理。
在我的教學班級中,我的教學內容是這樣組織的,題主似乎也可以按照這種方式來學習:
第一階段 高階程式語言的基本概念(編譯、庫、連結等),開發工具的使用(Visual Studio 2010), C語言的基本結構以及在VC中的一些差異,動手能力上達到能按照書本輸入一個程式,能編譯,能執行的結果即可。
第二階段 變數、指標、表示式、函式、分支、迴圈、簡單的輸入與輸出。
第一階段和第二階段的時間往往很短。
第三階段 開始做第一個小程式(比如最簡單的超市收銀系統),這個時候學生開始頭大,因為很多要用到的東西根本就沒給他們講過,即使網上查得到資料也未必都能用在專案裡。學生被我帶進一個接一個的坑裡,我從不在第一時間告訴他們答案,總要他們冥思苦想抓耳撓腮一個星期了,下週上課的時候才開始講解決的思路和方法。
經過1個月左右的折磨,他們基本可以完成一個單機版的的超市收銀系統,完成比如輸入(從鍵盤,掃描槍就免了)資訊、修改輸入、價格查詢、彙總結賬這樣的功能。從知識層面上,結構體、指標、檔案訪問這些基本都解決了,順帶著把簡單的查詢、排序演算法也學了。
可以說這是學生最痛苦的階段,但是正是這個階段開始培養他們的自學能力,這個太重要了。但是效果也很明顯,到後期的時候,少數學生開始先於我提出解決方案了。
然後接著折騰,先帶學生回顧做過的這個程式,看如何能做的更好,執行的更快,Review和重構。
由於是純C完成的,程式總是看上去很混亂,修改、擴充也不是很方便,於是我們開始探索另一種程式設計思想——面向物件,C++上場,又是1-2個月,用C++重新寫這個程式,在這個過程中,要求他們自己實現String類,封裝資料結構和業務邏輯、資料訪問......
到這裡,一個學期結束了,第二學期要求學生把這個控制檯的黑視窗改成圖形使用者介面。MFC不準用,只准用一個叫做Easy-x的圖形庫,而且只准用其中的putpixel函式來繪製點,一輪新的折磨開始,從畫點、劃線、逐點寫漢字開始,繪製按鈕、繪製文字框、響應滑鼠和鍵盤,並且要求他們開始設計和實現TextBox, Button,Image這些類.....,,順便把訊息迴圈之類的機制也做了初步的瞭解和簡單的實現。
到這時候,有的同學已經開始做出”高仿Windows"了,要不要太驚喜!
到這裡,我基本可以相信我的學生不會為C#和Java發憷了,更重要的是——他們具備了真正的程式設計師所必須具備的核心能力——自學能力、獨立解決問題。
“作為計算機專業出身的,混跡過幾家大點公司的表示很不贊同。這樣出來的僅僅只會是最低端的會寫程式碼的員工。和真正的程式設計師或者軟體工程師還有很大差距。整個學習過程都沒有一點工程的思想和合作的思想,這在軟體開發中是很致命的。這也是本科教育和培訓機構的差距。可能這樣學出來的很多外包公司都不願意要,別說大的網際網路公司和軟體公司。
我的看法是:
1.不是公司裡的所有程式設計師都需要是大牛 2.不是所有程式設計師在一開始都需要是大牛 2.不是所有人都要進BAT或者MS,IBM這樣的大公司
第一,就像蓋房子,有人設計結構,有人設計外觀,有人砌牆,有人裝修,軟體行業分工必然是越來越細(全棧工程師則是另一個極端),越是在大的軟體公司裡越應該這樣,最低端的會寫程式碼的員工存在的價值還是很大的。
第二,人是會成長的。從學習路徑的選擇上,我一貫提倡”先博大、再精深”,在初學階段用較快的速度(儘管看上去不紮實)涵蓋較大的知識面,然後再根據需要或興趣選擇在某一個領域深入學習,沒有什麼不可以的。我反對的是一開始就投入過於理論、過於抽象的學科裡去,這很難取得成就感(相比較於做實際的專案),會降低學生的學習積極性甚至打擊學生的自信心,產生“我不是幹這行的料”的想法,只有少數較有天賦的學生能取得較好的學習效果;作為教師,我們必須對大多數學生負責。在知乎的另一個回答裡,我曾經表達過“脫離生源質量和培養目標談學習方案是不切實際的理想主義”的看法,我們不可能要求軟體行業的從業者都是211、985院校的畢業生,IT行業不可能是精英才能進入的行業。
從另一個角度,在學生獲得了較寬廣的知識面後,完全可以在第二、三學年深入地學習其他課程,而且學的較為輕鬆,進步速度也很快。
第三,並不是人人都需要進入大公司。作為名校畢業生,進入大公司當然是理想的選擇。但是對於高職(專科學歷)的學生,或者對於那些本來就不是計算機專業的人群來說,畢業時能在一個軟體公司拿到3-6K(武漢薪資水準)就已經很高興了,這能使他們脫離父母的供養,從經濟上獲得獨立。在工作中再進一步提升專業知識和技能,還是可以成長為大牛的,到時候再透過漂亮的工作經歷進入較大的公司或取得較高的職位是完全可以的,十幾年來我已看到過不少這樣的例子。
想起一件事來,有一年我公司做了一個CAD專案,驗收的時候甲方通知我說從某大公司請了個“技術很強的技術總監”的人來參與驗收,到現場的時候那小子客客氣氣地站起來說“*老師好”,接下來就哈哈哈了。
至於“工程的思想和合作的思想”,胡銳說的很對,在教學設計和實踐中,“實用型、工程化”是我們一直堅持的原則,其實我們的學生在大一上學期就開始分組做課程設計、按模板編寫各種專案文件(儘管真心寫的很爛),每天提交工作日誌(包括週末和節假日)...... 在這一點上,可能我們比多數本科院校做的好。
-
16 # 胖哥科技圈
任何一個行業都有合格跟不合格的人,當然程式設計師也不例外。分3步走教您如何成為一個合格的程式設計師!
個人篇健康的身體,程式設計師是非常苦逼的職業,天天加班可是家常便飯。所以說程式設計師必須要有一個健康的身體,身體是革命的本錢。這不僅只在程式設計師這個行業,其他行業也適用。
持續學習的能力,網際網路知識更新非常快,一入程式設計行業就需要持續的去學習,要不然就會落伍。所以說一個合格的程式設計師的學習能力非常重要。
動手除錯能力,一個合格的程式設計師動手實踐能力應該是非常強的,我程式設計10多年了,我印象最深的就是每次定位bug,我們的日常生活中絕大部分時間都是在解決bug。所以一位合格的程式設計師定位bug的能力也是非常強。
過硬的技術知識,公司招程式設計師是要能幹活的,所以一個合格的程式設計師必須精通自己的專業,自己的專業除了要有深度之外還需要有廣度。那如何才能擁有過硬的技術知識呢?
程式設計是一門技術活,也是腦力活!想成為合格的程式設計師都是用程式碼專案喂出來的。平時您要多善於總結,多問自己幾個為什麼,帶著自己的思路去敲程式碼,多去做專案練習。
家庭篇阿里蔣凡風波都知道吧?如果是一位合格的技術人員的話,一定要處理好家庭關係,不要把家庭上面的一些事情帶到工作中去。
公司篇作為一名合格的程式設計師一定會按時完成公司指派的各項任務,他們不會影響公司的進度,一個合格的程式設計師除了有清晰的邏輯思維之外,還應該有較強的表達能力。能協調測試,需求等部門。具有較強表達能力的程式設計師對自己將來的職業規劃也很有幫助!可以轉管理,去帶更多新人。您覺得作為一個合格的程式設計師還應該做什麼?歡迎您的補充!
-
17 # 挨踢的蘋果
不知道題主真正意思是什麼?
如果理解為如何得到一份程式設計師的工作,那就需要一定的專業知識,大學學的計算機相關專業就不用說了,比較好找。如果是其他專業,最快的方式就是去參加培訓,當然,現在網上也有好多培訓影片,比較聰明的同學一學就會。另外,有句話叫“讀萬卷書不如行萬里路,行萬里路不如閱人無數,閱人無數不如名師指路” 學的再多不如多練,練的再多,不如有個高手指點。
如果理解為如何成為一個高手,那就完全看個人了,朝著正確的方向,努力再努力,終有一天會登頂的。
-
18 # 蓮秞lianyou
想回答這個問題,非常簡單,無非兩個方面。其一,對程式要表達問題要有全面,精湛的掌握,掌握問題的本身。其二,熟悉程式語言本身,知道怎樣用程式語言表達問題。這兩方面做好了,就具備了做程式設計師的條件。當然,這兩方面結合的過程會有很多技巧和熟能生巧奧秘,如何掌握,只能透過不斷編碼實踐過程中提升。閱讀經典程式碼,可以補充程式設計能力的不足,但最好針對通用程式和專業基礎程式,不要見什麼讀什麼,否則就分散了自己的精力,得不償失。
-
19 # 蛋黃酥要不要來一口
你這個問題的出發點是什麼?
你是科班出身?
完全沒有編碼經歷?
對於前者,你是已經畢業?還是在校?
首先對於在校,個人建議是,你可以找你學院的老師,看看他們有沒有專案,然後你組織及個人成為一個小團隊,完成這個專案,並且給這個專案一個非常具體的時間期限,因為這是所有程式設計師需要的面對的,這件事比較困難,但我個人有這樣的經歷,所以說不是做不到。
已經畢業的話,說明你還沒有工作或有其他工作。如果沒有工作,很容易,你去求職程式設計師的崗位,在工作中最容易知道該怎麼做了。
想換工作成為程式設計師的話,你首先需要確定自己想在哪個方向發展,後端或前端,還是全棧,資料庫程式設計等等,確定這個以後確定需要學習的程式語言,Java Python c# c++ c html5 css3等等,確定之後就找相關書籍,教程,或直接參加培訓班,但最後一個可能比較坑,需要理性選擇,並且在一開始就要瞄準自己可能去的公司,然後針對性學習,不然很被動。
回覆列表
如果是科班出身,那就在大學的時候好好學習,找準方向,現在it行業熱門的崗位還是挺多的,看你喜歡哪一類,多研究,自學或者網上找一些影片,多做專案,爭取能達到成手的水平,這樣畢業後好找工作。如果不是科班,還是建議你找個機構學習吧,時間短,效果好。