毕业后想成为一名软件开发工程师,应该如何学习,大牛给出建议!

aside section._1OhGeD · · 2248 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

毕业后想成为一名软件开发工程师,应该如何学习,我整理了一下,觉得可以如下几个过程,逐步深入。希望对大家有帮助。

1、基础

这是每个开发者的起点。开发者刚刚学会了某种语言, 比如C语言,学习了基本的数据结构和算法,并通过一些练习对知识点进行巩固。这些练习主要以课后练习为主,是一些简单的基础概念的练习,比如打印输出、接收用户的输入、数组的遍历、排序,或者链表等。

接下来是做一些简单的项目,这些项目没有复杂的算法和高深的领域知识,比如数据的统计分析、产品的售后管理系统等。这些项目虽然简单,却是一个真实完整的项目。不仅练习了开发者对语言的应用能力,也体会了软件开发的全生命周期,即软件工程,从项目的需求分析,到设计开发,到软件发布和项目验收,最后到软件的维护。

通过简单的项目,掌握了对语言的驾驭能力,并熟悉了软件工程。随着能力的提升,慢慢地就会接触更复杂的项目,使自己能力得到进一步的巩固和提升。

能力的提升方面包括:对语言的应用得心应手,对软件的设计驾轻就熟。接触并熟悉更多的语言,如动态语言Pyhton、脚本语言Bash、新兴语言Golang、Swift等。通过语言间的对比,对语言的优势和缺点又比较清晰的了解,从而在项目中合理选择语言。

2、架构设计和系统分析

随着项目越做越多,会发现多数是在重复,到了一个瓶颈。这是可能要阅读大量的书籍,向软件架构和系统分析转型。在设计软件时,要多留意架构设计。软件架构可以通过演化得到。但是若能看得更远,提前做些设计,会事半功倍。

这个阶段,可能要花大量的时间在业务领域。因为软件技术已经暂时不需投入太多精力了,也有时间关注业务领域了。熟悉业务领域,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划等,能根据实际工作环境,评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档等。在实际项目中锻炼系统架构和系统分析能力。

愿意的话,可以考一个系统架构师或者系统分析师。

3、基础算法和项目管理

发展到这个水平后,对软件技术和业务领域都比较熟悉。所谓穷则独善其身,达则兼济天下。很可能会带带新员工。这是练习领导力的一个机会,可以体会一下如何带人。为下一步带团队打下基础。可以把手上的一些事情安排给他们做。自己抽身出来研究更重要的事。比如研究基础算法、拓展新的领域等。

其实到这个阶段有两个选择,可以向项目管理进一步,做项目经理。也可以钻研基础领域,做领域专家。

希望对你有帮助。

另外,C/C++就是一个既可以强化思维能力,又可以打好编程基础的编程语言,你想要做软件开发,成为核心程序员的话,学习C/C++是比较好的选择,笔者有一个C/C++的编程千人湫羣(604,168,719)你如果感觉自学C/C++语言有困难的话,有兴趣学习或者了解一下C/C++编程的伙伴就可以进来交流。下面给大家分享一下C/C++的学习路线图:


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section._1OhGeD

查看原文:毕业后想成为一名软件开发工程师,应该如何学习,大牛给出建议!

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2248 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传