请问对于一名非IT行业的在岗企业员工来说怎样有效的利用业余时间对软件工程 进行系统的学习

谢邀!一般来说,理工科转软件开发比文科要容易得多。另外,其实这几十年来,软件工程向建筑行业、建筑工程等等其他工程界也学习借鉴了不少东西,例如 Architecture,Modeling,Component 等等。有理工科基础的人,通常具有较好的逻辑推理思维、抽象空间思维以及梳理、分析大量复杂事物与细节的能力,这些理性思考力都是成为一名职业软件工程师所必备的条件。先学 Java Web 编程业余选手利用业余时间入门软件开发,建议从学习 OOP 入手(没必要先学 C 语言),而 Java 正是如今专业和业余开发者数量最多的一门 OOP 代表性语言。选择一本 Java Web 编程的经典教学书看起来,应用驱动(Application driven),边做边练,比如在自己的电脑上给自己做一个小网站,然后逐步添加功能。根据应用和编程的需要,由浅及深,有选择地学习一些基本的数据结构和算法。一开始步子不要迈得太大,学一点、记一点,跟着教材做一点、理解一点,积跬步以至千里。这样学练同步推进,有持续的反馈,再加上有互联网和老师的指点,一段时间后进步将是很快的。学习编程入门,一定要掌握合适的学习方法。最忌讳的是脱离代码实践,只顾死读书、死记硬背,这样学习效果是很差的,翻几个月书能真正掌握的技术可能寥寥。别忘了英语最好拿出 1/3 的学习时间来强化自己的英语阅读能力,多记单词,争取以后能熟练地直接阅读英文原版资料和专家源码。码农如果有英语阅读困难,将来想要成为编程高手的可能性将大幅降低。
■网友
核心课五门:计算机组成原理,操作系统,编译原理,计算机网络,数据库原理。不管今后从事哪个it方向,这五门课侧重点不同而已。然后是语言了,汇编,c,c++,java。学这一套后,再学什么语言都很简单了。然后是算法,数据结构,设计模式,这些东西一点一点积累就行了,不是几天能学明白的。
■网友
IT没啥神秘的,千万别系统学。IT包括的东西太多了,首先你先的基本了解很多方向,然后选择兴趣在深入。先看看计算机概述吧,有很多公开课。哈佛的CS公开课可以全部看完,然后对计算机行业有所了解,然后选择具体的感兴趣的方向在深入。


    推荐阅读