各位前辈大家好!
小妹毕业于112农学院,
工作一年半后,由于感觉自我提升空间不足,因此想转职软件工程师,
今年三月底辞职,目前自学大约七个月的时间。
在自学的道路上,
主要参考了友人在国外软件业求职的经验、还有网络上推荐的线上课程,
目前完成的都是资料结构与算法相关的课程。
然而由于想在台湾求职,最近认真蒐寻职缺,
本人在缺乏本科学历的情况下,觉得履历作品与技能树仍相当缺乏,
因此想请在此教各位大大未来的学习方向。
以下也分享一些我目前自学MOOC的经验,
课程的lab、homework、project的题目都有完成,因此也花费了不少时间。
虽然目前还不知道对求职得帮助大不大,但我觉得学习的过程蛮充实愉快的。
1. Harvard - CS50
这门课是我第一个接触程式语言的课程,包含的内容相当广泛,程式语言编译的概念
、资料结构、内存、网络的基础概念都有带到,观念也很清晰,但可能由于内容广
泛,每一个主题介绍的不算深。最后也有运用Python和Flask框架以及SQlite,搭建
出简易的股票查询与模拟交易网页。
2. UC Berkeley - CS61A Structure and Interpreter of Computer Programs
主要使用python语言,学习撰写功能以及初步的物件导向程式设计概念。这门课能大
量的练习到high order functions, recursion, lambda, iterator , generator等
功能的实现,也让我对于python的撰写技巧熟悉很多。不过课程后1/3为Scheme语言,
实用性应该比较低,但该语言结构比较容易直译,最后一个课程project是运用Python
写出简易的Scheme Interpreter。
3. UC Berkeley - CS61B Data Structures
4. Princeton University Algorithms, Part1 & Part2
这两门课主要是使用Java语言,对于资料结构与算法的介绍应该算是扎实,list,
disjoint set, tree, hash, graph, string,从浅到深,每一个资料结构的实现以及
相关算法都有实作练习。由于CS61B的授课教授是Princeton大学出身的,因此两门
课的内容与作业有重叠,我主要是观看CS61B的课程影片、并搭配阅读Princeton的教
材与程式码,也将两边的课程作业都完成。
自认目前对于资料结构与算法打的基础还算深入,
也有能力做答Leetcode median到hard的题目,
但是面对实际求职,感觉仍需下功夫补足网页各类相关技能,
增加自己的专案作品再来投递履历。
目前想将目标放在网页后端工程师,
然而后端语言与框架选择众多,
因此想请教各位大大,
在台湾业界,后端工程师建议往哪种语言和框架学习,
需求和发展前景比较宽广呢?