-
1 # 小七讀書漲知識
-
2 # 大飛動漫
這還是有分別的,我們只說兩者的工作內容不同。
一般這裡的程式設計師都是做具體產品業務的。
而資料分析師只管定義資料格式,埋點。然後用收集的資料進行分析給出結論推理。
業務程式設計師由於跟著產品不斷的升級,修改,最佳化,包括很多時候初期的資料分析都是程式設計師在做,其實在這個業務領域是越來越精通,後面可以轉向架構師甚至資料分析師。特別是高階程式設計師,架構師,他要考慮的絕不是業務實現那麼簡單,還要考慮效能,未來擴充套件等。
而專職的資料分析師只是在業務成熟後,使用者多了,想拿到更多資料來反推產品,他更多是滿足資料探勘需求就好,至於什麼擴充套件,多人協調開發,就相對較少了。本質是論程式碼質量,大機率還是程式設計師會好些。但不代表一些分析師不是從程式設計師轉過來的。
-
3 # 大奇的改變
剛好這兩個職位我都有做過,我來說說我的觀點。
資料分析師,工作任務更偏向「分析/處理」,比如在資料分析平臺上分析影響交易成功率的因素有哪些,top5的商品有哪些,有了月報表,怎麼做季度/年度報表,等等一系列跟資料分析有關的具體任務,幾乎不涉及到寫程式碼。當然我也看到周圍有的朋友會寫程式碼來實現,這是因為他們公司大資料這塊兒還沒建設成熟,加之人員少,基本上怎麼短期怎麼解決問題就怎麼上了,這個時候寫的程式碼更多的都是各種sql語句。
程式設計師,更多的就是實現具體的功能,其實就全是業務開發了,偶爾有涉及到資料分析的,都是一些報表之類的而已。
-
4 # 南京朱方
一個以完成分析任務為目的,不追究速度,可讀。一個以準確的可維護高效實現為目的。一個需要深厚的數學功底。一個需要紮實的程式設計功底。
-
5 # 繁星落石
對於資料分析師而言,程式碼只是工具而已。資料分析師的工作是從資料中尋找統計規律,從而實現模型化計算,程式碼只是流程化了這個工作,使原本需要耗費大量人力和時間的工作可以由計算機依照設定好的規律獨立完成。
程式碼對於程式設計師來說是一個產品,他們的創意,他們的設計以及他們的技術都將由演算法的細節體現出來,由產品的效能體現出來。開發並不希望從程式碼中得到什麼樣的結論,而是將程式碼實現為一種能夠切實使用的工具。
-
6 # IT人劉俊明
資料分析師編寫的程式碼以資料分析和呈現為主要任務,目的是給人看的,而程式設計師寫的程式碼主要以實現系統功能為主,目的是給人用的。
資料分析師編寫的程式碼包括演算法設計、演算法實現、演算法驗證、演算法應用幾個關鍵步驟,關鍵在於發掘資料背後的價值(規律),資料分析往往與場景的結合比較緊密。資料分析師通常並不需要考慮程式的效能、安全性、分散式架構等系統級問題,所以往往資料分析師選擇的程式語言都非常實用,包括Python、R等語言,看兩個Python實現的例子:
程式設計師編寫的程式碼主要是給使用者使用的,需要考慮的內容就比較多了,比如程式的穩定性、簡潔性(友好)、速度、併發、資源管理、許可權管理等等內容,這裡面既包括邏輯性問題又包括系統級問題。程式設計師往往分為應用級程式設計師和研發級程式設計師,研發級程式設計師解決系統級問題(容器開發),而應用級程式設計師往往解決功能實現的問題,可以說程式開發是一個非常系統化的流程,每個環節還要有嚴格的測試。看一下Zookeeper Session的流程圖:
資料分析師在完成資料分析任務之後,如果需要把這部分資料分析功能進行產品化封裝,通常情況下就需要程式設計師來做相關的工作。舉個例子來說,資料分析師往往採用Python來做資料分析的演算法實現,但是程式設計師在進行功能封裝的時候,往往會採用Java等語言對其程式碼進行重寫以滿足系統對效能的要求。
有的研發團隊會設定專門的演算法設計崗位和演算法實現崗位,演算法設計專注於演算法本身,而演算法實現則專注於演算法的程式化實現。但是現在很多團隊的演算法設計師即要做演算法設計也要做演算法實現,所以現在的演算法設計師往往也要懂得程式設計。
-
7 # 愛資料的小司機
經常有人問我具體做的啥,我說是處理資料,建模分析,日常也會擼一下程式碼,很多人會覺得那和程式設計師差不多,其實差的真的很多!至少,沒有程式設計師加班多,哈哈,這算是一個巨大的優勢吧,我身邊同事就大多程式設計師,幾乎每天都加班,一三五標準加班,二四六彈性加班,所以經常是下班了,我準備走了,身邊大部分同事完全沒反應,搞得挺不好意思的哈。PS(雖然加班不多,但是不是完全不加班,偶爾也會加班);
說到薪酬,雖然加班強度不一樣,但是我覺得相同工作年限和經歷的,資料分析師或者挖掘工程師完全不輸程式設計師的,至少我認識的都差不多是這樣的,題主要是想轉資料分析師的話,前景還是闊以的。
題主說的基本正確,資料分析或者也叫資料探勘和程式設計師開發寫的程式碼真的不一樣,各有偏重吧,資料分析師偏重的是資料提取,處理,分析,建模,視覺化等方面,程式設計師開發就是偏向程式程式碼;而且二者的程式碼體量也是有很大的差別的,分析師日常兩三百行程式碼就算不少了,但是寫好這兩三百行程式碼,需要不停除錯,分析及和業務需求節後,程式設計師經常用雙屏開發就可想而知了。
但是有一點,分析師比程式設計師更需要了解業務知識,所以日常分析師可能和業務,運營人員打交道,扯皮的時間都比擼程式碼的時間多。
人生苦短,我用python,對於資料分析師和程式設計師來說,最直接的區別莫過於我用spyder,而你用pycharm!
-
8 # 思維界
資料分析師所寫的程式碼主要運用於對資料的提取和進行篩選,也就意味著他所執行的命令只是在對資料庫中的資料進行提取,以及對資料針對規則相關的一個整合。從這個名稱分析上面來講,那就是針對資料的進一步應用和他運用的場景和運用的方式,進行進一步整合的可能性。從而實現資料變現或資料的價值進一步提升。
程式設計師所寫的程式碼一般是運用於應用程式或網頁或相關的指令碼。那他們所寫的這個程式用圖要遠比去篩選和提取的能力要多得多,比如說透過相關的程式碼實現圖片的展示圖片,一實現一些特效等等這些東西,就意味著它的功能和可比性要比分析師所寫的程式碼要複雜。
實際上,無論是分析師所寫的程式碼,還是程式設計師所寫的程式碼,都屬於程式設計。因為無論是資料提取的過程,還是對功能或應用或軟體的實現過程中所實現的這些功能和一些特效都透過程式設計來實現,因此它們都是一個程式設計的一個過程。
-
9 # AI中國
程式設計師(Programmer,Computer Programmer或Coder),它可以指在程式設計某個專業領域中的專業人士,或是從事軟體撰寫,程式開發、維護的專業人員。但一般Coder特指進行編寫程式碼的編碼員。
資料分析員是根據資料分析方案進行資料分析的人員,能進行較高階的資料統計分析,負責公司錄入人員的管理和業績考核,以及對編碼人員的行業知識和問卷結構的培訓,和錄入資料庫的設立,資料的校驗,資料庫的邏輯查錯,對部分問卷的核對等職責。
程式設計師的定義比較的準確,但是“資料分析員”的定義就有待商榷了。
因為我是做網站最佳化的,所以在網站運營中也會遇到很多“資料分析員”,但網站資料分析員,主要是依據網站自身資料,結合使用者行為、使用者行為,為網站提供資料支援。需要多搜尋引擎最佳化有較深的瞭解。
資料分析師寫的是應用程式碼(也就是偏向資料統計分析應用的程式碼)程式設計師程式開發(寫的是執行程式程式碼)可以這樣理解嗎?
回覆列表
謝邀,簡單說兩句吧。剛好我自己是偏做資料分析工作的,周圍也很多寫程式碼開發的程式設計師。題主備註的意思沒錯。資料分析師寫程式碼,自然偏向資料的統計分析挖掘,並且在語言選擇上也偏向R,Python這些專用的,入門快的程式語言,Python的科學計算庫豐富且強大,語法簡潔易懂,深受分析師歡迎。但軟體開發工程師,很少見用Python去開發,多是Java體系,C#等,箇中原因請自行百度。Python不是萬能的,各種語言都是自己合適的場景。
一般情況,資料分析師不要求完整的程式碼素養,一般寫的程式碼也就自己看,追求快速出結果,快速驗證自己的想法。程式設計師多要求嚴謹的程式碼邏輯,保障程式穩定持續地執行,要求高併發,低佔用記憶體等等。而分析師則巴不得自己的程式在允許範圍內儘量多的使用記憶體以加速計算,二者的目標,程式碼產出物的受眾有比較大的區別,分析師的程式碼一般要求即用即寫,用完可能廢棄,產出資料一般也就自己做記錄分析,內部分享,或者出研究報告。程式設計師普遍意義上要求程式面對廣大的人民群眾,相容各種IE8,firefox等瀏覽器,適配安卓蘋果五花八門的手機,不能閃退,崩潰,應對各種不可思議的神操作且不能出錯。
分析師一般自己就是需求,要自己挖空心思去想如何做如何分析資料,而程式設計師多是別人說怎麼做,你只管實現就好了,產品原型都畫好了。