【献计一刻】软件开发小工的学习和工作清单
目录
学习基础知识、专业知识和领域知识
工作检查单
软件开发过程中的一些习惯
英语是软件开发的一种语言
图片来源:https://www.dreamstime.com/illustration/novice.html
软件开发小白,如何不断学习和发展自己?经过一段时间的观察,我总结了以下一个学习和工作清单,希望能帮到大家。
学习基础知识、专业知识和领域知识
软件开发需要学习基础知识、专业知识和领域知识,如果掌握了以不变应万变的方法,是可以不用担心掉头发这件事情的。
1.很认真,但是学习效果却不是很好,可以参考使用费曼学习法和康奈尔笔记法提高学习质量。
https://bbs.csdn.net/topics/601213730
快速学习新理论和技术的方法:费曼学习法 和 记录、简化、复述、思考和复习:康奈尔笔记法
2.如何选择好的书籍?欢迎查看这里的内容
【好书推荐】给大一到研一的同学们
【好书集锦】推荐计算工作者读读
相比看视频,笔者也喜欢看书学习新理论和技术,因为Musk鼓励大家看书自学
#Musk鼓励大家自学 钱颖一:通过阅读书籍,就能成为高科技领域的专家,就这样?
马斯克:是的。我可能把自己说得像个机器人。其实看书的速度要比听课快。看可以比听快得多,所以看书学东西要快得多。来源钱颖一对话马斯克:SpaceX的来龙去脉(视频+全文)
3.不知道如何学习一个新领域的专业知识?
可参考这里的一些信息。
【脑洞大开】如何学习行业领域知识
经常根据下图总结自己的知识体系,并试着查漏补缺吧。
从小白到专家,需要掌握以下的专业知识。
图片来源:CC2020 ACM/IEEE 计算课程体系规范2020 中文版
专家和优秀工程师的认知技能主要体现在分析、评估乃至创建能力。掌握软件开发中各个环节的框架、平台、架构以及硬件系统的基本原理,而不是简单地填空和搬砖,可以走得更远。
图片来源:CC2020 ACM/IEEE 计算课程体系规范2020 中文版
举例来说,如何选择一个合适的开发工具?就需要分析和评估能力,这个过程包括检查和分解信息,做出一些推理,判断信息的有效性和材料的质量。参考以下文献,可以理解为何IDEA取代了Eclipse成为大家喜欢的IDE。
- Java之父James Gosling:你需要的软件可靠性越高,静态类型语言的帮助就越大_语言 & 开发_Evrone_InfoQ精选文章
- 从 Eclipse到IDEA,就像从金字塔到太空堡垒! - 云+社区 - 腾讯云
工作检查单
1.是否使用特定的工具?高效率和有效地实现软件开发需要选择和使用最合适的计算机硬件、软件工具、技术和流程(这里统称为工具)
阶段 | 工具和技术 |
分析 | 层次分析法、需求分析法、面向对象分析方法、结构化分析方法、SWOT等 |
设计 | 面向对象的设计方法、结构化设计方法、UML图、设计模式等 |
开发 | IDE、编码规范、防御式编程、单元测试、代码复杂度分析工具、重构等 |
部署和维护 | 脚本、因果分析法与鱼骨图、系统分析法、风险分析方法等 |
笔者因为工作关系,已经看到很多没有使用面向对象特性的又臭又长的代码,总是会很感叹,为什么不用面向对象这么接近人类自然思维的方法呢?
可以听听这里的内容
面向对象程序开发的优点_计算机原理的7个理念_免费在线阅读收听下载 - 喜马拉雅
培养面向对象思考的好习惯_计算机原理的7个理念_免费在线阅读收听下载 - 喜马拉雅
面向对象的设计过程_计算机原理的7个理念_免费在线阅读收听下载 - 喜马拉雅
包装对象_计算机原理的7个理念_免费在线阅读收听下载 - 喜马拉雅
设计模式与面向对象开发的问题_计算机原理的7个理念_免费在线阅读收听下载 - 喜马拉雅
2.如何用合适的图表工具记录工作成果?可以听听下面的音频,解释了为什么只使用思维导图会欠缺系统分析能力
只会用思维导图会欠缺系统分析能力_趣谈计算领域的学习和发展_免费在线阅读收听下载 - 喜马拉雅
软件开发过程中的一些习惯
1.在学习新的框架,或者利用新的框架开发新功能的时候,用了太多的时间去调试和测试,而不是在认真学习和阅读程序代码后一次性写出正确的代码?
2.要查找资料的时候,用了太多的滑动,而不是搜索关键词功能?
3.在安装开发环境及相关工具时,是否不太认真或者不太重视?
4.在设计和开发的时候,没有质量意识,等着QA提出来?
可以参考这些内容 【实战技能】如何安装软件运行环境?
希望你能提高工作效率和工作质量 介绍了学习新理论和关键技术的方法,完成一件新任务的方法以及团队协作的方法。
英语是软件开发的一种语言
是否不愿意看软件相关的英语官方网站?相比系统而全面的官方网站英文文档,更喜欢看碎片化的中文文档?
如果真的热爱软件开发,学习和应用英语促进软件开发,并用软件为世界和人类进步做些贡献应该不是一件难事。
图片来源:https://www.quotemaster.org/Expert
愿大家技艺精湛,早日成为优秀的工匠!
希望我的文字能帮助大家,欢迎留言交流。
【献计一刻】软件开发小工的学习和工作清单相关推荐
- vivo软件开发马拉松大赛学习总结
vivo软件开发马拉松大赛学习总结 后端技术 部署 使用到的docker镜像 MySQL部署 后端项目部署 jenkinsfile swagger配置 跨域解决 其他 后端技术 部署 后端部分是使用d ...
- 转行软件开发的通用学习路径(转自刘校长亲笔)
[序言] 哈!2015年到啦,我知道好些个朋友今天都许下心愿.立下誓言:"从今天起好好学习 .天天向上,一定要以XXXX方面取得成功!"其中就不乏有朋友是打算在今年从某个" ...
- 软件开发专业需要学习多少年
作为一名IT行业的从业者,同时也在指导计算机专业的研究生,所以我来探讨一下这个问题. 软件开发专业的人才培养通常分为三个阶段,第一个阶段主要是基础知识教育,重点内容在于基础学科和计算机基础课程,包括数 ...
- 第一次写博客-C/C++软件开发工程师需要学习哪些东西?
学习路线概述 概述 数据结构和算法 操作系统 计算机网络 数据库 设计模式 概述 作为一名本科机械电子,研究生研究计算机视觉方向的211应届毕业生,如何才能从事C/C++软件开发类的工程师呢?如果能有 ...
- 软件开发人员PMP学习与考试心得
背景 从事软件开发及软件项目开发管理将近20年,期间参加过公司组织的若干次项目管理方面的培训,包括PMP.PRINCE 2等.通过这些培训,对软件项目管理标准和知识体系有了一定的了解,对之后的工作也带 ...
- 软件开发管理的十大工作任务(FROM 栾跃)
1. 决定项目的启动 (Project Initiation) - 确定软件的目标:使用项目管理的范围管理中判断项目启动的指南来帮助判断和决定某个软件开发的项目是否需要进行.简言之,在明确了要开发的软 ...
- 2020软件开发趋势预测(学习总结)
数字化,工业4.0,对软件开发人员的巨大需求. 云计算/云服务.容器技术.软件架构.编程语言.Web开发.APP.深度学习.数据库.数据湖.批处理.流处理.字节码(ByteCode).无代码(No-c ...
- [精易软件开发工程师Leo学习笔记]010模块化开发+API
模块化开发 现在模块化开发分为两种,但是他们也可以说成是一种,都是 1.是模块化设计思维,是把一个产品分为若干个功能(模块),然后若干个子功能拼接起来,就是一个产品 2.减少不必要的重复工作,某个功能 ...
- python学习中软件开发知识点_Python 学习知识点总结归纳
知识点 说明 缩进是指代码行开头的空格 注释是不会执行的代码行 如何在多行上插入注释 变量是用于存储数据值的容器 如何命名变量 如何为多个变量赋值 使用print语句输出变量 如何连接字符串变量 全局 ...
最新文章
- Windows2008 R2下,DCOM配置里的属性灰色不可用的解决方法
- 皮一皮:别人家的老公...
- python画曲线图例-python使用matplotlib绘制折线图教程
- 数据挖掘具体技术——分类
- pythonnamedtuple定义类型_python-自定义type.NamedTuple
- java method_JAVA Method的解析
- python正则表达式生成器_Python学习之路-装饰器生成器正则表达式
- R语言︱决策树族——随机森林算法
- 重定向与请求转发的区别
- Java+MySQL 基于ssm的宠物商店领养管理系统#毕业设计
- 思维导图的优缺点与绘制思维导图方法
- 同花顺校园招聘笔试题 2014 武汉站
- 单片机原理与应用-51
- 计算机学set,计算机上set是什么意思
- poj1163数字三角形动态规划
- 第四次的面试 C++ 面试 (迷茫) + (复习知识点)
- 计算机网络工程师等级考试,计算机四级网络工程师等级考试真题_3.doc
- 题目 1878: 蓝桥杯2017年第八届真题-青蛙跳杯子
- 阿里云邮件推送服务配置
- 一个屌丝程序猿的人生(二十)