回覆內容:
其實提問者的這種疑惑我很能理解,相信很多人都能理解(當然大部分人看看就關了頁面也不會特意來回答,我是晚上睡不著來說兩句)。
一般來說但凡是特別熱愛程式設計的人學了一段時間後必然特別希望實踐所學去解決具體問題。這是好事,學以致用是對的。但程式設計師處在這個階段有個特點就是,充滿激情,無所畏懼,但眼高手低,偏執還固執己見。我無意冒犯,其實很慚愧的說我以前也經歷過這種階段,好幾年。但很不慚愧的說這也不能算錯,好多我們覺得很棒的程式設計師以前也就這樣。為什麼呢?因為沒經驗啊,見識少啊,加上一點自以為是啊。 (讀到這裡別生氣,你要想我強調我也曾經這樣,不是只針對你,也針對我自己)
首先希望你繼續加油學習,不要因為別人的批評就認為受到了傷害(但凡有點追求的人骨子裡都有傲氣,往往自尊心強,但也很敏感),你要知道這些尖銳的批評其實很寶貴,因為他們是在指出你的問題,促進你的進步。你要學會接受一點別人的建議,這是獲得進步的關鍵。
比如說介面醜,說實話他們說的很對,這是看臉的世界,介面別說簡陋,已經直接是引起反感了,普通人看到的第一反應是在心裡就把它否定了,這時你再作解釋其實無法改變任何事了。所以你要明白,一個好的軟體,不只核心要強大,介面也必須及格。而你的介面如果滿分 10 分的話只能打 1.5 分。那 0.5 是幸苦分。抱歉客觀來說真的只能給這麼多。你如果不能把介面做到 6 分的及格線那麼真的,你再加更多功能也沒意義,因為沒人有興趣繼續了解。
另外有些人提和 Excel+Vba 的對比我覺得這樣說的人往往比較有經驗,他們特別能為客戶著想。這種為客戶著想不要簡單的理解為不敢突破,不敢跳脫 Excel 創立自己的解決方案。其實他們寧願選擇Vba,選擇一種不凸顯自己「技術高」的方案而是完全以用戶使用習慣學習成本出發去考慮,這是所有成功的商業軟體設計者必備的品質—方便用戶,不是方便自己;以使用者為中心,不是以自我為中心。這種品質是怎麼來的呢?肯定不是與生俱來的,而是經歷過像你這樣的階段後被現實啪啪啪打得體無完膚後痛徹學習到的。但這也不能說是教訓,其實是一種社會良性運作所需的服務精神。是我們從「把科技當藝術」到「把科技當工具」的轉變,把科技從神壇上請了下來,擺正了自己位置和心態後的新的體認。他們把這種認識告訴你,絕對不是要害你。雖然話語有些耿直,但你要先嘗試琢磨和體會,不要急於否定和爭辯。
至於你談到的讓使用者學 SQL 語句。我覺得有這種想法道不奇怪。因為你覺得這是「正確的選擇」。而且這是更「強大」的方案,學了「有百利無一害」。但照這個邏輯,我覺得你應該讓他們直接學會 Matlab。眾所周知 Matlab 是非常強大且「簡單易學」的,難度估計也就比 SQL 高一點但學會了以後各種資料處理哪還需要其他軟體?如果你們財務和老闆學有餘力的話還可以安裝上人工神經網路的工具箱,直接可以對你們的工資進行機器學習,何須止步於工資的自動計算呀(微笑)?你覺得你只讓他們去學 SQL 是不是在阻礙他們?是不是害怕他們搶了你的飯碗?你這樣的心態不對。技術方案選擇還是有私心,太保守不夠有遠見。
當然玩笑歸玩笑,意思你應該能體會。你把對使用者的要求和期待拔得和對自己一樣高。你心裡覺得「這也是為他們好」實際上他們希望你能做的越傻瓜化越好,而不是越強大越好。
他們真的不期待強大,他們期待簡單。期待漂亮,用起來有面子。如果你能滿足這些,他們並不會吝嗇對你的尊敬。因為你值得被尊敬。
但是當他們看到糟糕的介面,不知所雲的概念和你固執的辯解時,他們沒有感覺到你在尊敬他們。那麼你又怎麼能期待他們尊敬你呢?
最後說一句,你的野路子問題。其實不用自卑野路子不野路子。只要虛心肯學,多看書多實踐,沒有什麼是教室裡才能學到而你學不到的。這不是勵志,這是事實。
請繼續努力。看好你喲。
類似題主的情況,我也遇到過,具體情況是,網咖本來有一套基於excel的報表系統,作為每班結束後的統計之用,但是有一個比較嚴重的問題,就是由於收銀員普遍素質不高,明令禁止在儲存格之間複製貼上,(由於報表透過公式來計算,因此複製貼上會破壞引用關係),但是仍有大量新入職員工隨意複製貼上,導致各種計算錯誤。
因此需求來了,開發一個不會受複製貼上影響,且可以由管理者自己定義各種資料實體之間關係的報表系統。
我一想,這個需求不難啊?於是花了數天擼了一個簡單的報表系統(用了Node.Js),上面提到的需求基本上都可以滿足。
但是更快,還沒正式上線,就發現了嚴重問題,如果說之前excel形式的很容易搞砸是個大問題的話,那麼現在的版本就是讓員工更本摸不著頭腦:因為excel操作真的太易學了,多數人可以憑藉之前的經驗熟練的操作,畢竟還是老員工多啊。
於是我想到了一個方法,就是改造excel,因為之前的excel的方案問題其實只有一個,而好處卻有很多,比如穩定性;可以簡單的通過備份文件的方法來備份數據(而不需要單獨學習一些東西);快速上手等等
具體方案就是利用excel內建的機制來解決這個問題,這個我探索了好久,最後是透過excel內建vba來解決這個問題,就是直接屏蔽選單上的複製功能,然後對對應快捷鍵設定一個宏,手工實現複製貼上功能,只改變值,而不更新公式引用,於是問題解決,對方很滿意。
為什麼我沒有選擇改造自己寫的東西呢?因為成本啊!大部分需求Excel都能滿足,而你自己去造一個能讓使用者依照既有習慣進行操作的軟體,成本有多少?即使只是製作一個Excel功能的子集,那也是一個很大的工作量,有這個精力和能力,為啥不能搞別的?
一個替代項目的價值取決於它解決了一個問題的同時有沒有同時引入更大的問題。 新的東西總是會有學習成本的,特別是方案完全不同的情況,如果學習成本造成的問題大於它所解決的問題,那麼被採納才是怪事。
而且,你能保證你寫的東西考慮的邊界情況有excel的多?即使你都考慮到了,後面來接手的人呢?還有財務人員寫的程式碼呢? 這樣的系統幾乎沒有實用性,除了拿來練手之外,實用價值確實不高。
-----
如果你真的要弄一個能讓老闆接受的方案的話,那就應該從一開始就去收集需求,最起碼要知道原有方案的問題在於何處,不同的角色可能有不同的需求,例如員工的需求可能是方便查看自己的工資,和之前的工資的對比,已經工資漲跌的緣由——或者說是工資是如何被計算出來的;老闆、財務的需求可能是方便的管理功能,例如調控一些係數,或是關聯績效的比例,增加一個新的影響因素──以上這些我是胡扯的,具體要自己研究。然後把這些需求整理起來,然後把所有的用例都設計出來,並且要考慮不同的情境下的操作。這是需求部分,這部分不做好,別去動工寫什麼。整理需求的過程記得多和這些人交流交流,如果你連這個都交流不好的話,做出的成品更難讓人接受。
然後編碼過程中註意可測試性,最好是能實現編寫單元測試,畢竟這是涉及金錢的,如果出錯了,那可比其他的問題嚴重多了。
介面部分其他人也都說的很好了,其實我覺得介面真不是問題的核心,因為一旦你事先設計好了,介面能不好用麼?
雖然我覺得真要這麼做這個專案會在需求分析階段就被否決。 。 。
我所在的團隊最近正在寫人事管理系統,也是用nodejs。我在思考客戶使用我們系統時,從來不敢想著讓客戶增加學習成本,基本上就是客戶點一個按鈕,後端跑斷腿的設計。
看到你說讓那些財務學習使用sql,簡直嚇尿。為什麼你會有這麼反人類的想法,我平常操作資料庫要嘛用sequelize、要嘛用workbench,直接寫sql一般是用來調試或者添加批量數據。
你如果真的想推出你的產品,一定不要讓領導者覺得你的產品會產生巨大的學習成本。一個命令列、一個sql足以讓大部分人聞之色變。
最後,好看的介面才是吸引客戶的關鍵啊,我們的客戶從來不挑後端的毛病,只挑些頁面的字體大小什麼的,畢竟他們不懂(´・_・`)。建議你用bootstrap來快速開發前端頁面,扁平化設計,基於jquery,學習成本低,關鍵是還好看。
騷年,既然你覺得讓財務們學習sql並不難,那你學bootstrap應該也不難
吧~~~
唉,我不是故意的…
1.敢不敢再醜?
2.學sql? are you kidding!
你要考慮幾個問題:
1.同事是白痴
2.用戶是白痴
3.產品是傻逼
看完上面三個,你還敢說你這個提高了效率?
題主挺有想法的,是個人才。
但是乾的這活一般被稱作脫離使用者實際需要的偽需求。
做一個軟體,首先是要給人用的。
那麼首先要找到這個軟體的目標客戶和實際用戶。
然後去調查,分析他們的需求。
當然不同人有不同需求,還要分個高低輕重。
所以不是說開發人員自己覺得怎麼樣就是怎麼樣的。
好不好用開發人員說了不算,因為不是最終用戶,他不知道實際應用場景裡會出現什麼狀況。
你們老闆說的很對,原來excel,財務人員用的很熟練,所謂會者不難,他們已經習慣了,沒有需求去改變。
題主好心,說兩分鐘做15分鐘的事,可能是站在題主自己的技術水平來說的,如果換作財務人員,可能是反過來的。
而且前期還有大量的訓練成本。
而且題主敢保證程式沒有bug?敢保證不會因為使用者不熟練的操作造成資料損失?
再一個問題,如果做改良型的項目,也要考慮使用者已形成的操作習慣。
一般的用戶遇到用起來不順手的東西,第一個反應就是不好用。
然後可能用熟練了,才能客觀的去和原來的情況比較,說白了就是用戶習慣的向下兼容。
你想想當年win8出來多大的爭議。
第三個問題,題主那個頁面也太寒磣了,說難聽點,一股山寨氣息。一般用戶對技術不熟,可是對gui還是挺關注的,你後面多牛的技術手段,不好看就是不爽。
還有,別跟用戶說命令列,我看了都煩,別說一般用戶了。
總之,題主這個在一般用戶看來,就是個沒用的半成品,題主要是想推廣,還需要下下功夫。
如果你的操作夠友好,他們的實際問題你都能更有效且方便的實現,我覺得老闆會贊同你的。
你把裡面的英文換成德語,符號換成符文字母
基本上就是你的程式在非程式設計人眼裡的東西。弄個前端設定好輸入條件讓人直接點就完事了
想讓麻瓜用魔法?不是教他們咒語,而是做成捲軸賣。你讓業務人員學習程式碼。 。你是想讓學不會的罵你還是學會的替換你?
讓使用者寫sql語句? ?然後你只要執行? ?我大學時候做的大作業都不只這個程度好嗎…做軟體的都應該知道,永遠不要相信使用者的輸入…
上次做個spa,一個刪除按鈕,我試了3個位置才最終確定。
以前聽過一句話,「把用戶當成傻逼,當成極度沒有耐心的熊孩子,你就對了。」
以前我不以為然,經過幾次坑之後,才深表同意。
用戶不會考慮應用程式的複雜度。只考慮用的爽不爽,顏值高不高,能不能約炮,能不能撩妹。做程序的第一個原則, 就是把用戶當什麼都不懂得傻子來看待, 這樣設計自己的程序界面及邏輯的時候, 才能讓最終結果不出問題...
很顯然, 你做的東西離這個目標也太遠了吧...
一般上一個可以操作內容的項目, 要有不同權限的東西, 還要有後台管理界面, 不是只做展示就可以的了, 因為直接操作數據庫是大忌, 一般都要封裝一下然後再做完善的資料校驗權限, 管理員也很少直接操作資料的, 都是在後台管理頁面去操作資料...因為人都有迷糊的時候, 手滑操作一下資料庫, 錯了怎麼辦? 慎之又慎才是最重要的事...
你現在不僅要補習前端知識, 對於用戶體驗設計的東西也有很多很多的要學習, 才不會有這麼多的低階錯誤出現...
這個系統我要打分的話, 滿分一百分, 我最多給1分...只是界面出來了而已...
老闆的意思你沒懂
他的意思是
大家用習慣後,萬一你小子辭職了,以後我找誰來維護?