回覆列表
-
1 # S十三
-
2 # 柒月的藍天
我想從非技術角度來回答這個問題。需要跳出你僅僅敲程式碼的思維,而關注其他的方面,是成為優秀工程師關鍵的一步。
第一,從產品的角度思考,這個模組這麼寫是不是使用者最終想要的。這個模組的產品設計是不是合理。以後業務會不會還有拓展,所有有,這塊就不能寫死。
第二,關注整體架構。經歷一個專案,就努力學習瞭解這個產品架構。從不懂到懂。
第三,關注團隊協作與溝通。一個優秀的工程師,不光是技術高超。還要懂專案管理,需求管理。讓別人跟你合作溝通起來特別順暢,也是你的過人之處。也是優秀工程師必備的。
-
3 # 會說科技
只回答一句,碼農是社會對軟體工程師的偏見或者程式設計師的自嘲,自己可以說,別人說就不能說,優秀的軟體工程師,普通的軟體工程師。
這個問題專業性很強,很有興回答這個問題。我本人也是一名IT工作者,我從以下幾個方面來詳細為你解答。
軟體工程師(專案經理)與程式設計師(碼農)的區別一個軟體工程師,不只會寫程式碼,還要懂業務,要懂使用者的需求。程式設計師所想的只有軟體程式及功能,讓怎麼幹就怎麼幹,不用多想。而軟體工程師,在幹之前,要和使用者溝通清楚,幹完一部分與使用者確認一部分,乾的時候使用者想到的你要想著,使用者沒想到的,你也要想著,否則後期容易返工。因為使用者今天沒想到,有可能明天想到了,你還要改。
舉個例子,我06年畢業,學習的專業是會計電算化,畢業就去軟體公司,跟著出項目,當時的我一句程式碼都不會寫,不過我懂會計。在一個ERP專案中,懂會計的人可以和使用者更好的溝通,因為我們知道使用者要看到知道,要透過軟體達到什麼結果。
程式設計師不用,他們只管,你說明白要什麼功能,他給你做什麼功能,也不管這個功能會有哪些的弊端,所以這就導致反覆的修改程式,給程式設計師帶來了大量的工作。而我們這些懂會計的人,就會先了解這家公司的全套業務流程,再結合軟體,儘可能的讓軟體現有的功能透過變通滿足使用者需求。所以我們也叫使用者和程式設計師之間的“翻譯“。
優秀的軟體工程師不只要會寫程式碼,還要懂業務,能與使用者直接溝通,完全瞭解行業的業務流程,而且可以在軟體中完美呈現。在面對使用者所提特殊需求時,可透過軟體現有功能變通實現。行業領域專業度高於使用者,溝通起來才更有主動權。
如何學習提升1、瞭解使用者需求。
一家公司要上軟體,他的目的是什麼?這是很重要的,一般軟體工程師或專案經理,到企業問的第一件事就是這個。大多有幾種情況,提高效率,人員可精減,成本費用利潤清晰,公司更加的規範化。
在這些情況中,企業老闆最在乎的,就是他每個月賺了多少錢,所以啊,財務知識是必須的,當你談到這些的時候企業老闆也會非常的認可你,同時也願意和你談下去。主要針對軟體ERP、BI、OA、進銷存等。這些軟體都是在社會中比較主流的企業常用軟體。
2、站在使用者角度溝通
當你遇到使用者提出的需求很過分,需要修改軟體架構的情況。你可以和使用者說,現在我們公司的這款軟體不具備這項功能,同時認可使用者所提出的功能是對的,是可以實現的,只是需要升級軟體,需要費用。一般這種情況,使用者就不會加這個功能了,就算加,有費用拿,也是可以做的。
千萬不能直接否定使用者所提出的功能,如果這樣,你們雙方會吵的不可開交的。
3、學習所做軟體領域
做ERP、OA、BI、財務軟體等,就會財務知識。
做PHP方向,美工方向,就要學習廣告,營銷類知識。
具體根據你的軟體領域去學習,1年的時間就差不多了。
結語想從一個程式設計師變成一名優秀的軟體工程師很難的,難就難在你要改變自己之前的一些性格和習慣。軟體工程師與使用者大多的時間都是在溝通,寫程式碼的時間少,也就是說他們的工作中重要的是溝通。
相反,程式設計師最缺少的就是溝通,因為他們邏輯思維能力很強,往往一句話就聽明白了,說多了他聽著煩。這才導致一些程式設計師想讓使用者與他們有一樣的思想,其實這不可能。