程序員大軍魚龍混雜,水平的高低沒法簡單的從一個功能完成狀況來評定,一樣一個需求,功能均可以完成,可是不一樣程序員完成質量會不同,完成質量的好壞須要從多方面評定,能夠參考這些條件:易維護,易拓展,高可用,高穩定,高性能,安全性,容錯,風控php
洞察身邊的程序猿,能夠歸類出這幾種類型:前端
服務端開發工程師應該具備哪些能力?java
身處互聯網公司的後端開發,因此用一個後端開發者角度出發
基礎能力node
安全預防python
* sql 注入 * xss 跨站腳本攻擊 * csrf 跨站請求僞造 * http 劫持 * ddos 攻擊 * ... ...
高級能力程序員
經驗web
* 高併發處理/優化 * 性能優化(加載速度、提升接口tps 、... ... * 解析需求,能給予合理的建議和解決方案
輔助能力redis
爬蟲sql
* 能開發爬蟲功能就表明對web這塊已經掌握比較好
攻擊別人業務(適可而止,自行把握)數據庫
* 手段 * 模擬請求,尋找突破口,如:修改參數 * 併發請求,致使併發邏輯問題。如:得到多簽到積分(多數據操做接口可能會壓垮服務器) * 嘗試攻擊,sql注入,跨站腳本攻擊,等 ... * ... * 懂得攻擊別人,本身就知道如何防護
溝通能力
排錯能力
學習能力
多語言開發:python,java,nodejs,php ... ...
* 開發語言只是完成業務開發的工具,學習並在項目實踐,這樣才能從中學到東西
預知能力
架構能力
壞代碼味道
列出曾經遇到的比較典型的壞代碼味道截圖,引覺得戒,BGM("多麼痛的領悟"),醒醒吧,別把本身想的多牛逼,先從代碼質量開始,拿着高薪,寫着學生水平的代碼人處處都是,遇到這樣的代碼請問要怎麼拓展?
總結:
2018 新的一年,上班第一天,比較空閒,從新整理了下心情,拾起待寫的博文,把它完成,指望新一年我能夠有更多的沉澱