1. 有多少人程序員真的接觸到高並發,用戶量大的系統
一場程序員與產品經理的血案,讓我們重新反思,產品經理與設計師,開發工程師到底應該如何配合如何有效的合作,從而達到共贏的狀態?珍愛生命,來讀讀@JingDesign 的這篇文章。 血案!程序員殺害產品經理? 2014年註定是一個不太平的年份,當我們還在糾結於設計師與程序員之間一像素的恩怨情仇,為馬航MH370至今還未被找到,亞航另一架飛機又墜入大海而扼腕嘆息的時候,今天下午快下班的時候,一則讓我們更有切身體會的血案開始在各大設計開發與產品經理群中傳開,據傳,深圳某辦公園區某間公司的五個程序員殺了兩個產品經理,圖文並茂,血淋淋的案發現場讓我們不禁唏噓和感到惋惜 ( 最新消息為離職員工與老闆的勞資糾紛,請以網路新聞為准,如描述有偏差,還請見諒 )。網上一下子炸開了鍋,針對產品經理,開發與設計師之間的吐槽此起彼伏。靜電的同事–一位產品經理甚至自嘲道,老闆,以後要給所有員工買份人身保險,哦不,產品經理要買十份!還有人插嘴:“看見沒,以後不要給開發搞那麼復雜的需求知道不?要不被xx了可太不值了!” 人人都是PM?產品經理的前世今生 相信很多讀者都讀過靜電的這篇《一像素的恩怨情仇!程序員與設計師的那些事兒》,緣起一像素,開發人員覺得改產品里一像素的錯位沒有必要,設計師認為如果不改,會影響產品的整個體驗,於是問題就來了,一場比電影還要精彩無數倍的故事就這么開始並且無休無止的進行下去了。其實靜電忘記說了一個角色,就是產品經理。這到底是一個什麼角色呢?咱們先把時間往前調,回到大概2000年左右,那是國內互聯網剛剛起步走向繁榮的幾年,各種網站及互聯網產品層出不窮。但那個時候,還沒有真正意義上的產品經理,有的只是剛剛接觸這個行業沒多久的開發人員和“做網頁”的。記得04-05年左右,當時靜電所在的公司,沒人知道產品經理會是怎樣一個角色,大家都憑著某些默契在工作,做網頁的做網頁,做開發的做開發,搞銷售的搞銷售,誰有需求誰提,誰來執行。直到06-07年,在做設計的我第一次開始接觸產品經理這個職位,那個時候的產品經理多半是在某一行業資歷較深的人員擔當,相當於半個部門經理。接著,產品經理越來越多的出現在每個人的視野中,不管是初入職場的新人,甚至是設計師和開發工程師,很多人都會在自己職業發展的某個時刻華麗變身為產品經理。可是這個介於設計與開發之間的角色,卻改變了每個人的工作方式。每天都跟產品經理與開發打交道的設計師朋友,相信大家一定不會陌生。 我們來看看產品經理的職能: 項目管理35% 個人能力(領導及個人親和力等)15% 業務能力(業務管理技能)20% 技術能力(技術能力對於產品經理是必備的技能,技術能力讓產品經理更好的理解產品的性能和特點,更好的進行產品的團隊管理)15% 產品經理的職能中,有很大一部分職能是協調溝通及處理沖突。15% 看過產品經理的職業技能,很多朋友可能要倒吸一口冷氣了,如此多的隱性及復合能力讓產品經理看起來真的不是那麼容易當,這簡直就是全才有木有?但不管我們願不願意,這個職位在我們的工作中越來越常見。有的沒的,經理這么高大上的職位,再加上那本《人人都是產品經理》,又讓多少人蠢蠢欲動的做起了產品夢?畫個原型圖,就是產品經理?也許不是,但我們必須接受,這確實是個不可或缺的角色。靜電認為,產品經理在是程序員和設計師中間不可或缺的一座橋梁,或者說是潤滑劑,產品經理為產品質量負責,也為各個職位之間加入潤滑劑,讓整部機器良好運轉。 什麼仇——程序猿與射雞師的煩惱 言歸正傳,說完了產品經理的職責,我們來聊一聊時不時就會出現在我們周圍的產品經理與開發,甚至設計師的那些事兒。這三者之間到底真的有這么大的仇,以至於要拔刀相向,兵戎相見?對於設計師與開發工程師,產品經理很多時候扮演的是這種,還有這種角色。 這幾張圖一定會是大部分射雞師與程序猿在工作中最真實的寫照。所以,我們必須來聊下,程序猿與射雞師的苦惱(深仇大恨?),靜電總結下,大概就是下面這幾類: 催催催:十點提的需求十一點就要,完全沒有思考的時間,更別提保證質量了,做完後又要被產品吐槽做的爛沒用心。 改改改:今天提的需求明天就來個180°大轉彎,寫的代碼全部白費,做的設計被無數次推翻 指指指:悄悄的問一下各位射雞師與程序員,你們的屏幕被戳過多少次了?是不是很想摔桌子來一句you can you up! 接著分析各位射雞師與開發為什麼會如此煩惱,原因一定有很多,但靜電認為一個最重要的問題就是:在整個工作流程中,你處在流程的最下游,看圖: 相信大部分的公司都遵循著這樣的工作流程,在沒有pm的時代,流程短一些,矛盾相對較少,但由於產品經理的介入,流程變長,產品經理整理與推動需求並由設計師與程序員執行。想想自己在工作中是否很晚才知道上邊的決策,產品與其他部門討論完成了,扔給你照著做就可以的方案,後知後覺,喂,就是說你的!怨念值+1 另外一點,流程變長必然存在目標傳達不清的情況,程序員不知道為什麼要這么做。大家是否玩過一個游戲:一排人站好,從左邊第一個人開始傳達一個詞語,只能描述或身體表演,下一個人依次描述直到最後一個人,90%的情況下,最後一個人得到的詞與答案完全不同。信息的准確度在傳達過程中一步步的流失,歪曲,最終產品成為一個四不像。怨念值+1 再者,處在流程下游的開發者無法掌握時間與整體進度。突擊工作,成了救火隊員,卻不知道自己在忙什麼,成就感缺失嚴重。怨念值+1 最後,在加上產品經理的不專業(比如不懂技術與設計的難處,隨意修改;沒有項目管理經驗,執行混亂),設計師與程序員怨念值幾乎爆表。 怨念值爆表的結果大家懂的。執行者要麼敷衍了事,要麼拒絕完成,抵觸情緒嚴重,態度惡劣也就不難理解了。 說的更直白一點,在下游就出現很嚴重的問題就是,你喪失了很多的主動權,設計師與程序員大部分時候只是過程執行者,缺乏對過程的掌控以及參與的樂趣,別人說什麼就做什麼,這樣的工作,你會有樂趣嗎? 什麼怨–產品經理的苦逼與憋屈 用執行者來描述大多數產品經理的身份,相信一定會有很多人贊同。拋開上面5條產品經理必備的素質,更多的人甚至從一畢業就踏上了產品經理的崗位,以最終成為一名優秀的產品經理為目標而努力,靜電不置可否。但有一點毋庸置疑的是,處在這個階段的產品經理大部分為了積累經驗值,必然會經歷許許多多的磨練,打怪升級以取得進步。無怪乎今天下午看到產品經理血案的時候,群里很多小夥伴的反應居然有那麼一點點奇妙(這個是不對的,大家一定要冷靜~)。產品經理並不像我們想的那麼風光,他們必然會在執行及推動整個項目的過程中跌無數個跟頭,被領導,開發和設計師吐槽無數次卻毫無怨言(真的嗎?),只不過他們大部分時候情商較高,不會表現出來。看看產品經理苦逼在哪裡? 1. 大部分產品經理只是產品的推動者和執行者,很多時候他們無力改變一些固有的現狀和決策。 2. 相比設計師,產品經理更應是個雜家,但打怪升級的過程並不會那麼順利切相對漫長,他們需要了解和學習的內容包括但不限於設計,管理,代碼,用戶體驗,市場行情等等等等等等。面對設計師的設計稿還好,指點下江山尚可;但開發工程師會用那高深莫測的技術專業術語讓產品經理如同聽天書,加上之前的各種怨念,項目執行不下去或者最終效果縮水太大,被用戶罵老版罵設計罵開發罵。 3. 老闆說要改需求,剛讓技術做的項目要推翻,只好厚著臉皮求改,可想而知,免不了又要被罵,誒。 4. 溝通方式不當,態度欠佳加劇開發與產品經理之間的矛盾。 產品經理與程序員——和平共處沒那麼難 什麼仇什麼怨?讓原本可以避免的悲劇在我們身邊以這樣的方式發生?本文無意吐槽處在流程中的任意一方,也無意為處在流程中下游的開發人員辯護,但通過以上的分析,相信大家都會或多或少的明白些什麼?那我們究竟要如何做才能讓事情變的大家都滿意呢?在此靜電提幾點自己的拙見。 開發者與設計師: 與其抱怨或者付諸暴力,不如思考如何通過改進流程與提升自身來改善現有的狀況。 1. 停止抱怨,主動溝通,由被動執行變為主動參與項目中,了解項目進行的最終目的及計劃,只有站的更高,才能看的更遠。不願溝通,不想溝通,不屑溝通,過於自我的觀念存在於很多程序員與設計師的固有意識中,這其實是大部分技術人員的短板所在,也是禁錮很多人發展的一大障礙。 2. 自我增值:不管是程序員還是設計師,都應該留出自己思考與整理思維的時間,通過一系列的自身努力提升自己。 3. 擴寬眼界:程序猿如果還只是埋頭於代碼,兩耳不聞窗外事,那就是真out了,優秀的程序員會非常有興趣了解並尊重其他同事的工作,比如問問產品經理為什麼要進行這個需求,玩一玩用戶體驗絕佳的網頁或app,提升自己的審美,你會發現這一定很有趣。 4. 心理疏導:如今看來,加上這么一條還是很有必要的。如此緊密配合的職位之間必然會發生各種的小矛盾,沒關系,大家坐下來一起聊聊,相互溝通與理解,相信沒有什麼事是大到血濺辦公室這種地步的,各個boss,領導們,這個靠你們啦! 友情提醒,這么做必然是違法的哦,不管你再怎麼不喜歡給你安排工作的產品經理。 產品經理: 1. 懂點代碼,懂點用戶體驗,懂點審美,你會發現,溝通會如此順暢,你和程序員與設計師居然可以聊到一起了。 2. 你身邊的同事是與你一起同甘共苦並讓事情邁向成功的好夥伴,不要冷落他們,適當的時候,邀請他們參與並加入你的討論會議吧。 3. 善待你們身邊的設計師與程序猿,尊重他們的工作成功,即使要指點江山神馬的,起碼來的溫柔點。比如親王馬伯庸就是一個特別溫柔的甲方 4. 成為程序猿與設計師之間的潤滑劑,他們會感謝你的。 5. 你所經歷的一切一定會成為職業生涯中寶貴的財富。 6. 中國人獸最近推出的產品經理高危專屬人身保險一定會適合大家,我不告訴你是朋友的朋友的朋友的賣保險的大姨媽告訴我的。 最後為慘劇中離開人世的同行們默哀,什麼愛恨糾葛,什麼仇什麼怨? 生命誠可貴,讓這些都隨風去吧~ 《產品經理是條狗》歌詞送給大家,願大家都能在工作中找的自己的價值所在。收聽地址: 我睡得比貓晚起得比雞還早/工作在拼體力武器得用大腦/ 左手的PRD右手的產品稿/什麼才是你想要我每天在煩惱/ 郵件又來催催催/產品開發累累累/你們永遠對對對 我是產品狗我要大聲說/產品經理是條狗/ oh狗狗狗GOGOGO/ 除了海賊只剩魔獸女神在夢里游(OHNO!)/ 產品經理是條狗/oh狗狗狗GOGOGO/ 屌絲不哭擼個夠也不會放棄加油 如果我的產品讓你快樂請摸摸我的頭 如果我的產品讓你快樂快拍拍你的手 他說加個鏈接你說搞個按鈕/70後的需求90後又沒夠 實在眾口難調想的我快瘋掉/這里省掉兩萬字別再逼我咆哮
2. 程序員遇不到大型項目怎麼辦
想要學習快就得碰上好項目,程序員前幾年盡量白天圖生存,晚上圖發展。得有幾年的持續學習能力。其實沒好項目,也可以自己學學,互聯網行業很多東西框架就不說了,mc,hadoop,zooekep(忘記怎麼拼寫了),還有protobuf,以及scribe等等都可以學學
3. 作為一個程序員,參加一個項目,會接觸到哪些流程
首先看你去的什麼公司,如果去大公司,有一套規范的話。那麼你只需要,找項目經理或者產品經理要需求文檔,找架構幣要表結構,找同事問問實現好的utils,然後開發充畢進行單元測試,與前端工程師聯調,之後就可以提交測試了,如果去了一家小公司,那麼上面的所有工作都有你來做。
4. 有哪些新手程序員該知道的工作小技巧
1.積極大膽的谷歌。你得知道如何有效的組織搜索關鍵字,查閱別人寫的代碼,然後合理地用在代碼里,從而解決問題。
2.擁抱變化,堅持不懈。老手程序員在接觸新技術時,能欣然接受像個初學者一樣處處受挫,並總能在完成工作的同時自學成才。
3.承認細節的重要性。例如變數和函數的命名、CSS屬性的命名、該用哈希還是數組,以及其他看起來微不足道,但可能對項目有深遠影響的事情。
4.承認大多數的「重要決定」其實並沒有那麼重要。一般的開發者經濟常在技術選型等「重大問題」上陷入唇槍舌戰,而程序員老鳥們會避免浪費時間在罵戰中。這一點上,它們就像禪宗大師一樣。
5.選擇合適的工具解決問題。網上有無數的開源庫、工具和框架,讓人眼花繚亂。而老手們清楚地知道針對怎樣的問題,應該用怎麼樣的工具。
6.明白代碼「不值錢」(該刪就刪)。你必須習慣於刪掉幾百行代碼來重寫程序的某一部分,毫不留情。
7.在評估技術的時候要全面。例如,我一直在鼓吹Elixir。它語法優美,社區完善,有很大的潛力。但Elixir誕生的時間太短,所以如果要構建復雜的功能,可能會難以找到能幫你提高效率的開源工具。因此,在評估要不要選擇使用一項技術時,你得把所有這些因素都考慮在內。
23.知道什麼時候開始回饋。到了某個時候你需要將你的技能和經驗傳授給年輕的開發人員,就像你的導師當時教授你一樣。
24. 能寫爛代碼。有時候可以當一當「膠帶式程序員」。關鍵是隨著時間推移,你需要弄清楚什麼時候可以走捷徑,什麼時候必須走捷徑。這其實是最難掌握的技能之一。
25. 禮貌地告訴別人你工作到很晚。如果你是辦公室里最後一個,可以發一封簡短的匯報郵件。別人一般會注意到郵件上的時間戳的。
26. 像一個領導者(Leader)一樣做事,而不是老闆(Boss)。老闆是讓別人為他工作的人,領導者是人們追隨的人。做個領導者。
27. 去打打桌上足球。從長期來看,同其他開發者(或不同崗位上的同事)建立聯系比在緊巴巴的期限里交付一個功能更有價值。
28. 在壓力下學習。你需要知道如何應對像系統宕機而你要負責將它復原的情況,即使一開始你完全沒有頭緒。
5. 程序員想進入大公司實習或工作,需要掌握哪些技能
第一:學歷。
為什麼把學歷排第一呢?因為現在很多培訓機構都忽悠那些中學生,說現在學歷不重要,只要你把技術學好。這里說一下,學歷很重要,因為學歷是敲門磚。大公司每次招人都會有很多人來應聘,第一輪怎麼篩選,就是看學歷。
第二:綜合素質
初試的時候,看的就是個人的綜合素質了。你的言談舉止,個人表現,是否積極向上等等。因為你到一個公司,你的所作所為就代表著公司的形象,你在外面給人印象,就是別人對公司的印象,就比如:如果你在國外做了一件好事,外國人會說中國怎麼怎麼樣,不會說這個人怎麼怎麼樣,因為他們不認識你。
6. 一個前段程序員一年會接觸多少項目
一般一年接觸2個小項目,並做好就差不多了吧!
請採納! 如有疑問,請及時溝通!
7. 程序猿這條路到底要怎麼走
首先 學習學習,再學習這個永遠不要改變,不論你考研還是 選擇工作。其次談一點我的感悟希望對你有幫助:1.永遠不要在太安逸的環境下呆太久,就算沒事做,也要找點事情做,要知道機器不動也會銹的。
2.程序員,能單靠技術,並且最後過的很牛逼的,少之又少,因為你並不比別人聰明多少,也不比別人努力多少,技術又能牛逼到哪裡去?所以,除了開發,多關心下開發之外的東西。但是,不代表可以放棄技術,你可以不太追求技術的深度,但一定要追求技術的廣度,不然就算到了一定的位置,吹牛逼都不知道吹什麼!
3.一定要有自己的想法,不管你在什麼樣的環境。雖然由於歷史等諸多原因,你並不一定有能力改變它,但至少分得清對錯。一個沒有自己想法的人,只能算是一個普通勞動力而已,隨著科技的進步,最終可能會被人工智慧所代替。
4.每個人都有缺點,一定要分得清哪些是性格缺陷,哪些是人格缺陷。可以做缺性格的事,但絕對不要做缺人格的事,不然你在職場中,不會有交心的朋友。
5.不要整天想著IT做不了多久了,干兩年賣燒餅賺錢去,在你沒有一個完整的計劃之前,做本行是你唯一能做相對體面的工作。家裡有錢有背景的除外。
6.人要有夢想,就算沒有大的夢想,先實現一個小目標也行,看看人家王健林。建議是能量化的目標,舉個栗子,「我明天要早起」,這不算個目標,頂多算是夢想。「我明天早上5點起床」,這才是個目標。
7.如果說青春是你挽不回的水的話,時間也是,與時俱進不要停下你的腳步。
8. 程序員怎麼接到上百萬的大型軟體項目呢[圖]
02:手上有成熟的技術積累,很多東西雖然我們都懂,但是每個功能實現起來都需要需要幾個小時至幾天時間,你需要多年堅持積累好自己的勞動成果。 03:要有忠於你的一群同行夥伴,他們願意跟你一起干隨時響應你的號召,否則一個人是無法完成上百萬的大型軟體項目。 04:要有豐富的軟體項目管理能力,否則這么多人的日常管理、項目進度控制都會是個大問題,會讓你頭大的。 05:要有比較強的表達能力、說服能力、講道理的能力,否則客戶不會把上百萬的軟體項目包給你來做。 06:需要擅長談判,能說服客戶,做這個項目的確需要上百萬的資金才可以。 07:需要有親自帶頭乾的能力,否則別人也不會那麼拚命好好工作,要能起一個領頭羊的作用。 08:需要有一個開闊的心胸、能包容、能寬容,能把身邊的隊伍都維護好,否則很容易搞得雞飛狗跳了。 09:需要有一定的文檔能力,能把很多管理事宜都進行文檔化管理。 10:需要有個良好的身體,否則被N多瑣碎的事情搞垮,還需要有一個堅強的心,在一切打擊面前都不會被擊垮的強勁的心。 11:需要有激情,做任何事情沒激情是不行的,無法適應長期作戰。 12:在有技術能力的前提下,還需要有比較不錯的人脈關系,龐大的軟體項目都不會自動送上門來,都需要有一定的人脈朋友的介紹。 當具備了這些重要因素,只要機會送上門來了,都能把握好機會的放心吧,程序員的有房有車的夢想都很容易都能輕松實現好。