1. 程式人生 > >都說產品/運營不一定要懂技術,身為程式設計師的你怎麼看?

都說產品/運營不一定要懂技術,身為程式設計師的你怎麼看?

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

作為一個網際網路工作者,我雖然不是真材實料的工程師,但也是離工程師最近的工種了——PM,最近剛好有時間,所以大概花了一個月左右的時間,拿到了 Udacity Full Stak 的 degree 和 吳恩達目前所有的 AI 課程

覺得過程挺有趣,對一些同學應該也有借鑑意義,於是來寫寫一下心得體會:

一、先回答一個問題: 

都說產品/運營不一定要懂技術,你怎麼看。

這是要一直存在的一種看法,就是,「產品經理不用瞭解技術細節」,於是網上才有了這個段子:

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

我自己不是技術科班出生,所以這種觀點天然對我有吸引力。但是隨著工作的深入,我的觀點發生了一些變化和反覆。目前我對這一系列問題的基本看法如下:

1、產品和運營不需要是技術專家。

2、產品和運營需要知道技術的可能性,和邊界。只有這樣,才能提出切實又切中要害的功能點。瞭解技術的邊界,並不是多看看虎嗅,36Kr 就能知道的。最近 AI 大行其道,在一些產品看來,似乎變成了萬金油,做產品規劃時,隨便臆想,但是不瞭解代價和收益,就無法做出合理的計劃。

3、技術問題有時候比狹義的產品問題更基礎。比如你的應用或者網站,訪問慢,又老掛掉,這時候,產品使再大的勁兒也無濟於事。最近發現很典型的是 Airbnb,他們的網站在我家的網路訪問下,永遠慢的出奇。所以如果你是一個廣義的產品或者產品運營,就應該瞭解哪些問題更基礎更重要,在做規劃時候,應該留出空間,讓大家解決這型別的問題,而不是一味的加功能,做活動。

我反對技術人員告誡產品「你不用瞭解技術」,某種意義上,這是對自己安全領域的戒備,另一方面,也並不利於未來產品和技術雙方的更融洽的溝通。

所以跟我說這個的同學,我內心都會報以一個禮貌而不失尷尬的微笑:

0?wx_fmt=jpeg

二、再來說說這段旅程的切實收穫 

1、當然是獲得了兩個 degree,倒沒有什麼實際的好處,但是從自信心上,有被暗示,自己已經 qualify 了。這對我這種一直比較緊張的人,是不錯的鼓勵。

2、更深刻的理解了技術人員的痛苦,以及理解了「好技術」的價值。在這之前,總在神祕化技術和簡單化技術兩個極端內遊走,並且無法體會,好工程師的真正價值。

3、能夠真的動手做一些小工具,提高工作效率。比如我之前寫每日商品精選的時候,排版和抓圖/資訊,就是自己寫的 python 指令碼完成的,之前自己排版很痛苦,要 2 個小時,現在基本上 2 分鐘搞定,自己只用找到 url 就好。

0?wx_fmt=jpeg

三、這次旅程的路徑。

在開始前,並沒有嚴格的規劃。但在中後期,我開始對自己要學什麼,有一些思考過的規劃。儘量完整全面的讓我對自己工作中遇到的各個技術工作,有個細緻的瞭解。

Udacity(計算機導論)——Udacity(Python 入門)——Udacity(Full Stack Degree)——Cousera 吳恩達 AI 系列課程。

分別來說:

Udacity 的計算機導論,非常好,滿分推薦。整個課程下來,有對計算機歷史的回顧(比我們中小學課本里講的有意思多了),涉及到歷史上很多重大機器的發明,其中還包括圖靈的密碼機。整門課程是用 python 講解,最後用 python 把搜尋引擎和一點點基礎的排序索引演算法很淺顯的在講講課,做做題中完成了。

Udacity Python 入門,一般好。主要是 Python 的一些基本語法介紹,其中會讓你用 Python 做一個小沒有樣式的網站,但是我最喜歡的還是用 Turtle 工具畫畫,反覆訓練了各種迴圈。

Udacity 的 Full Stack,一般好。付費,大概是 900 一個月吧。課程內容比較老,但是勝在全面,讓你對前後端伺服器有比較基礎的認識,每一課都有一個作業,從 HTML,CSS,到資料庫,JS。大作業是讓你用 Flask 做一個增刪改查的 Catalog,以及用 Knockoutjs 做一個定製化的 google 地圖。用 Flask 好評,但是 Knockoutjs 有點太過時了,資料不多。付費的好處是,你的作業會被很認真的 review,還有 codereview 哦,老師會說你這個地方寫的不夠好,不夠優雅,對你寫得好的地方,也會給贊。

Cousera 吳恩達的 AI,整體來說,我覺得非常贊。吳恩達講的淺顯易懂,作業用的 Jupter Notebook,而且作業裡會對專案的要求和原理做講解,重在讓人理解過程,而不在於讓人去進行繁瑣的計算。

目前這系列課程的第一門,講的是 Deep Learning 的基本概念和演算法,包括 邏輯迴歸,一層訓練,和多層訓練。第二門,講的是針對演算法調優,涉及結果調優,以及效率調優。第三門,針對演算法的系統框架設計,所以作業也是給出了具體的 Case 讓你分析,而不是寫演算法。

0?wx_fmt=jpeg

四、這次學習的一些個人化心得。

1、有一個原初的專案動力很重要。

很多時候,成年後不繼續學習的主要原因是,學習沒有即時生效的好處。學生時代有考試等著你,某種意義上,促使了人按部就班的完成課程,但是工作後,掌握了技能 A,B,C,D 似乎都很難讓人短時間內升職加薪當上總經理,於是基本就耗費掉了。

我也一樣,不過唯一不同的是,我之前堅持寫一個公眾號,號裡的排版,找商品資訊,非常痛苦,我曾經僱了個小編輯,幫我找圖,排版,但是發現還是太低效。當時正在上 Udacity 的計算機導論,所以想著能不能自己寫一個指令碼,來完成。

當時我上完了 Python 基礎,然後用了一週的時間,看了很多 python 抓網頁資訊的書,然後居然被我搞定了。不得不說,這是一個相當大的激勵,雖然這個指令碼很爛,效率也不太高,但是對我來說足夠用了。

後續學 Full Stack,是想自己做一個微信小程式,學 AI 和小程式相關,想著馬上就要來的雙十一,能不能不再人肉推薦,而是先跑一遍活動商品,再過濾,又高效,又準確,這也是我的動力。(好吧,我其實也把學完了就獎勵自己出去浪作為一個 desert,所以一拿到 degree,立即開始籌備去英國的計劃了)

2、直切重點 

在上吳恩達的課程之前,我認為是自己是不夠格的。所以猶豫了很久,一度準備先在 Udacity 上學一個機器學習入門再開始。但是後來還是鼓足勇氣先去 Cousera 上註冊了,然後硬著頭皮開始。沒想到效果奇好,期間斷斷續續聽過 Udacity 上講機器學期的課程,但是都不如直接聽吳恩達的 Deep Learning 有效。一方面 Udactiy 上的課程有點老,二方面,我個人覺得吳恩達講的非常好,深入淺出,要點明確。

雖然過程中也有比較吃力的時候,但是遇到不懂得,當天晚上睡覺前再搜搜網上文章,就會大致更有譜一些。

事實證明,這種直接奔著目標去的學習方法,是最有效率的。世事也是如此,奔著直接目標去,大不了中途補課而已。

3、學習方法 

我學習的辦法很猥瑣,每次都是用 2 倍速快速的看完課程,看不看得懂另說,大概記得這節課說了什麼,然後直接前往作業區,理解作業,再回過頭去看視訊。一般來說,這類課程中,作業要求你完成的,大多在課程裡的核心。

0?wx_fmt=jpeg

非雞湯部分: 

我不認為迅速拿到這些 degree 全因為我用了我介紹的方法,我不想神化這個過程。我在上面沒說的還有一些我個人的一些隱性優勢,比如: 

1、我在網際網路工作多年,一些技術的基本概念和問題,以及解決問題的套路都很熟悉,比如什麼是 API,什麼是 json ,什麼是演算法,什麼是非同步請求,沒實際寫過,但是基本上是什麼內心有個概念。最近幾年,面對剛開始工作的工程師的時候,在他們解 bug 時,常常能給出還比較靠譜的嘗試辦法。

2、我的 SQL 能力還不錯。在豆瓣工作時,基本上都是自己查,在阿里,資料庫更復雜,也是自己查。所以 Full - Stack 裡面有相當一部分對我來說非常輕鬆。

最後,我做的產品工作一直和推薦演算法、資料有關。

我想真的聰明的人,不會完全照搬我的經歷,但是可以從我的描述裡,獲得他們想要的部分,而去規劃自己的學習計劃。

看完此文,你有什麼想法或觀點呢?歡迎在留言區留言評論。

更多精彩

程式設計師提升外觀王小波程式設計師我會程式設計七夕表白程式設計師最高殊榮程式猿(媛)CP祭天Python歌詞特斯拉程式媛直播鄙視鏈敲程式碼404結婚Facebook怎麼進BAT女友日記高逼格指南計算機專業技能幹貨九寨溝地震程式設計習慣陸奇演講自救指南周鴻禕談創業

0?wx_fmt=gif

640?wx_fmt=png