软件开发工程师,入门以C或C++开始,学完之后,一般是再选一门语言作为主修。语言只是程序编写的工具,算法核心是程序的灵魂,数据结构是程序的框架。因此数据结构必须学好,算法是你进步的阶梯。
之后又牵扯到数据存储的问题,这时候你就要去学数据库,常见的数据库mysql,oracle,sqlserver等,还有其他nosql型数据库。提议以学习成本较低的mysql开始。有人说软件工程师只是学软件就够了,诚然学会这些是够你工作,但如果你这时候看了硬件方面的书,对你的编程思维是有很大用处的。希望你能看下计算机原理这本书,并认真掌握要领。
总之一句话,稳扎稳打,熟能生巧,实践是检验代码的唯一标准。




软件开发也囊括了很大的范围。
我们就以 web服务端的开发来说,高级工程师 一般需要掌握或者说熟悉 如下相关知识
Web服务端编程语言,列如 Java、Python、JS、PHP等
Web 服务框架,列如 Django、Spring、Express等
操作系统,列如 Linux、Unix等
HTTP协议、WebSocket等
数据库管理系统,列如 MySQL、Oracle、Postgresql、MongoDB等
缓存系统,列如Redis,memcached等
消息队列系统,列如 RabbitMQ等
任务队列系统,列如 Celery等
反向代理软件,列如Nginx等
同时还要熟悉一些云服务,列如阿里云的 OSS、CDN、ECS