要如何做才能改善軟體工程師的工作環境

想請教一個軟工相關問題要怎麼做才能讓自身所屬或是台灣整體的軟體公司脫離因為沒錢沒時間做改變所以無奈繼續創造更多的技術債這種惡性循環的困境人生病就要請病假看醫生程式生病就沒錢沒時間所以我覺得心態上可能也有問題以至於傳承下來的公司文化也開始對新人產生不良影響

這要看實際個案判斷,難以一概而論。如果能多利用開源軟體和協作社群,至少錢和時間的壓力都會稍微小一些。

我認為裡面並非全部都必須要依個案來做判斷,需要依個案來做調適的部分應該是改革內容,但是現在的問題是於改革前就遇到同樣的問題,也就是沒錢沒時間,會沒錢沒時間的原因較為明顯的部分,其實有一些已經是因為技術債堆太高導致在維護上花了更多的額外的時間,或是已經有家庭的同事也沒辦法於下班後自修,而上班時間更不太可能有時間自修,即便是有部分團隊有定時做新知或技術分享,效果也有限,專案本身的利潤也因為技術債堆高,以及過於保守的想法,難以去騰出額外的錢來當作改革的成本,當然還有更多的情況以至於此,我想開源軟體與協作平台等當然會有幫助,而且我甚至知道要使用哪些東西可以改善那些狀況,但是前提得是已知如何使用的情況之下,才有辦法達到稍微小一些,在這之前就已經產生無法前進的問題了,如果能靠程式來解決的話倒是小事,而這已經是人的問題了,各種實質的障礙各種心理的不願意改變,以及各種客戶或業主的 “系統好好地為什麼要動”,所以解決方案有,但是無法進行要怎麼辦?

感謝分享。我自己的習慣是從自己本身的作業習慣開始、逐漸示範,不強求從上而下的改變。可以參考「雲端技術應用的經驗」一節: https://www.facebook.com/notes/唐鳳/1107-工研院-iek-眺望2017產業發展趨勢研討會演講/1420847451277804

可是我並不是位居上位阿 XD,現在位居上位且會去關心這種議題的應該很少吧,而且這又會牽扯到另一個議題上了,FB的文章與影片也是我所期望的一種模式,之所以說是一種也是希望不要讓想法被限制了但是想要嘗試去實行這樣子的模式仍舊是會遇到前面所說的層層關卡雖然有一些idea 在嘗試 但還是抓不著邊際結果論這種事情雖然在很多事情上很好用但是 也是停滯不前的關鍵

MIS(資訊管理系統)在企業裡的角色是什麼(軟工只是其中一部份)?簡單來說就是服務使用者(包含老板),協助老板決策,協助使用者順利推展業務,最後讓企業賺錢;這就是"系統好好的,為什麼要動"的由來,外面新創的VR,AR,或是ORACLE,SAP…跟企業這些使用者有關嗎?,若是軟工為了要展現自己部門的實力及份量,代表有在做事,我想,倒不如針對使用者的需求去做新增修改刪除,備份,災難快速能復原,讓使用者做事順利,讓老板要資料,馬上有資料來得有用;說實在的,新的東西真的只會花錢,會讓老板覺得這單位是花錢的單位,只有業務部門才會幫公司賺錢(我不能苟同,沒有MIS或其他內勤單位做後盾,業務能很順利嗎?)同理,政府部門也是.

To Rocky Hsu : 我想這就是無法推動的主因了,所謂的債是指虧欠的東西,尚未圓滿的東西,我們常常聽到所謂的先求有再求好,可是當有了的時候,我們根本沒有機會去追求她好,而這樣的東西就會是債被留下來,表面上是沒問題的 其實內部充滿了不穩定性,這些事情老闆看不到,客戶看不到,業主看不到,直到某天這個不穩定性被引發的時候才會被看到,並且責怪於工程師,而且通常這種時候所爆發的絕對是一整串的問題,比起平時花一點點時間去追求好的累計是多很多的時間,最後可能就會打掉重做,但是仍然會衍生新的問題,ex:與原始狀況不符,而工程師們為什麼不說,就像你說的公司不是只有IT部門阿,最嚴重的可能還有賺錢單位和花錢單位的問題,工程師提的建議或作法在你們眼中看到認為只是新技術的,都只想到要花現在的錢,卻沒想過要在未來花工程師的肝,我看到的東西和Audrey大在連結影片中所表現的就是一種新技術和新想法,這樣的技術與想法是為了讓我們可以在有限的時間之內,去達到更多的服務,排除掉更多的阻礙,而不會讓你們其他部門每次都聽到什麼都有限制,或許你們有過不好的經驗或經驗傳承,但是我可以告訴你一段我常說的,"全世界都有遇到同樣的問題,全世界都在想辦法解決這樣的問題,全世界都已經有了解決的可能方法,而且全世界也已經有許多團隊接受或已經改變他們的方法,而台灣仍然對此方法抱持懷疑,並且害怕失敗"工程師沒有你想像中的那樣目中無人,我們也只是想做好我們的工作並且展現我們的實力,但是現在的環境只是持續在打擊我們的興趣,並且企圖創造許許多多的如同工人的程式設計師,我也試圖在想辦法能不能在不去造成非IT人員困擾的狀況下,去改善這樣的情況,說真的,這仍然只是增加工程師們的負擔而已,也是有不少軟體界的大大們在努力的去做推廣與教學,但是影響力仍然有限,我覺得工程師本身也不太喜歡發聲,這會影響台灣軟體業界多少我不清楚,只是我所看到的這種發展是非常不樂觀的,你仍然可以繼續抱持著你的想法,並且把我說的事情當作純粹的抱怨,我也希望我的不樂觀是看走眼了,並且最後發生全世界的工程師們都錯了只有台灣是對的,但是,如果不是呢?
最後補充一點:有些資深同事常說XXX等大專案再用就好,請問大專案了誰敢使用一個從來沒用過的技術,別再自己騙自己,還順便騙新人了.

您說的一些苦衷我認同,但企業是追求最大利潤為目標的,各部門會提出各種方案,等待評估後去執行,推遲或是否決(不是只經過老板一關,若只有老板說了算,那就簡單了);問題在,你如何說服相關人員通過評估呢?這可能不是技術問題了,就看你及你部門會不會做人了.

To Rocky Hsu: 您說的是,這對工程師來說也是一大難關阿 orz…,雖然有想到一些較為實質的快速見效作法,以及漸進式的改良,但是再怎麼有效的方法,也是得說服人心,如同Scrum 的精神,得先找到團隊期望的共同目標,會想在這裡問這種問題,也只是希望能夠找到一些靈感,這件事情已經沒辦法用正確,說服,未來考量,等等方式來推動,得加上一些即時,速效,利益才有推動的可能性,hmm…沒聽過有還債還得快速有效的,不過Programming 的樂趣也就是在創造這樣的可能性 XD,真希望哪天那些前輩們看到更新出現時,是充滿著驚喜,而不再是恐慌,大概也只有這樣才有辦法應付未來善變的環境了吧,

當老板及各部門都對你的人豎起大姆指時,那你要推什麼應該會比較容易了吧?

但是這個議題的困難點就是在於,還債是看不到利益的,或是他是長久的投資,就像是捷運剛開始蓋也是罵到翻,但是現在是主力交通運輸,如果可以像捷運這樣強制執行,被罵一陣子我覺得無訪,但是這個作法在公司不可行,那相對就會較為困難,而且有些情況工程師自己內部就有歧見了,一樣都能跑的程式,為什麼要做那麼複雜,或是這樣寫別人看不懂是怎麼運作的(程度問題),但是想把大家帶起來又再度回到沒錢沒時間,所以才覺得這根本是惡性循環,不是沒人想做吃力不討好的事,而是有人想做也會吃閉門羹.