Hi 你好,小弟我学店数学系,
目前在软件公司担任前端的小主管,
算是有点自学软件转职成功的经验,
不嫌弃的话跟您分享一下。
虽然技术跟经验比不上板上的大大,
但是关于从零开始自学转职算是有点心得,
也比较知道非本科系的同学会有疑惑。
首先先回答你的问题:
有自学能力的话尽量不要去资策会,
网络上一堆平台可以学习。
至于学习的语言,如板上的大大说的,
语言不重要,重要的是懂软件开发的原理跟流程。
但如果一定要推荐,我的私心建议是python跟js,
再来是php,虽然职缺上Java跟C#是很多,
但我个人的使用经验觉得前三者学起来舒服多了。
再来给一些自学的建议:
1.比起学习什么语言,心态最重要:
我觉得比起要学什么,更重要的是你想做什么,
我常常问一些刚毕业的学弟妹:
“如果不考虑能力、时间、资源,你想从事什么样的工作”
大部分的人都没办法回答,所以软件工程师这个工作真的是你要的吗?
这才是你应该考虑的。
建议你不妨给自己测试看看,现在开始每天逼自己坐在电脑前自修8小时,
持续一个月,如果你还是觉得有趣,那恭喜你很适合这一行。
2.自学的能力绝对比起熟练一个程式语言、框架更来的重要:
技术是永远学不完的,
软件这一行每天都有新的技术出现,
很可能你今天用的很熟的技术明天就消失了,
所以我才建议有能力自学的话尽量不要去资策会,
养成自己自学的习惯跟能力,
这远比你去资策会学会.net Java或什么其他的重要多了。
P.S:这里有一个常见的谬误...
老一辈的RD或是长辈很常会说观念很重要,
一定要很扎实的学好所有的资料结构、算法、作业系统、物件导向,
所以才要去资策会,里面的课程比较扎实。
当然我不否认这些很重要,但是一来资策会没有教这些,
二来我认为这些都是可以在实际的专案中学到,
甚至未来有钱可以去修个资工硕士博士的学位。
(我也在往这方面努力)
最重要的是你要能够自学这些。
2.5.选择一套语言不只是学习语言本身,而是他背后的社群。
软件工程师绝对是这个世界上最同心协力的职业,
你不会看到50岚公开自己的配方跟材料,
不会看到台积电把自己的制程跟技术做一个教学影片,
但是软件工程师的生态就是分享,
github 应该是除了pornhub之外最友善的平台,
每天都有人分享自己好几年的工作成果。
而你要做的就是了解你学习的语言这个生态系够不够完整,你喜不喜欢。
(当然这可能要等你学了一阵子才能有所体会)
解决方案有很多,碰到不喜欢的技术,就快点逃!
3.不要先想着要学什么,而是想着你想完成什么:
因为我自学的方式并不是拿着一本书,
或是看着一个影片就开始k,
而是自己先想我要做什么样的project,
然后在到处去问、去查把这些需要的技术一点一滴做出来,
举个具体的例子:
A.我会开始接触软件,纯粹是因为当时我很喜欢NBA,
我就想,我要怎么把所有球员的数据都抓到我电脑里,
用excel去看数据、画图,
然后我就一步一步试着做,接触了PY 学会了爬虫,
甚至后来用R来做资料分析。
B.接着我又和设计系的同学合作帮他们设计网站,
当时我连架设网站要什么技术都不晓得,
我就自己硬著头皮玩,碰过几次钉子,
从开发到架设站台、设计数据库、SQL、GCP的使用我就慢慢学会了。
后来我就不知不觉投入这一行。
所以我认为,你应该是想你想完成什么作品,
然后去搜集那个目标需要的技术,
一点一滴试着去解决这些问题,
如此一来同样花三个月,你学到的可能会比资策会更多。
很多人常说,软件工程师是码农,
这点我部份同意,或许有很多很枯燥的地方,
但是有很多地方都有创造、艺术的成分在。
再者,我认为软件就是我们这时代的金矿,
我们也许没有很庞大的资金去做半导体的产线,
但我们可以从一台小小的电脑中创造一个世界。
(单押*1)
我从自大学以来爸妈就不在了,
也没有其他家人理我,
要半工半读照顾身障的小弟、跟8+9的大弟,
现在虽然不算富有,但是已经可以过得还算舒适,
是软件给了我希望,
所以我相信如果好好把握、他也能带着你前进。
大家加油!
(抱歉最后有点鸡汤QQ)