《构建之法》第一次博客作业
这个作业属于哪个课程 | 课程链接 |
这个作业的要求在哪里 | 作业要求 |
我在这个课程的目标是 | 汲取前人的经验,寻找自己的目标和未来努力方向 |
作业正文 | 作业正文 |
1.建立博客并介绍自己
我的博客:https://home.cnblogs.com/u/hqs-123-iu/
自我介绍:我现在可以说还是一个Loser。对技术都知道一点,都不精,没有一个方向是自己擅长的,做项目时上手快,但是稍微有点难的地方就不会了,需要自己一点一点的从头理清或者是寻求别人的帮助。对学习,绩点不高,也不算低,卡在中间特别难受,不能保研。或许是幡然醒悟吧,大二下期确定了自己要走的方面,不再随大军被动的学习。参加建模比赛、与同学一起做数据挖掘的项目,准备向这个方向迈进。
2.阅读与思考
拜读了大牛们写的博客,我深有感触,觉得大家对大学生活的安排都好有计划,即使是有一段时间过得浑浑噩噩的,但是他们能很快的醒悟过来。而且我觉得成功人士的毅力都不是一般的强,他们能对时间进行非常合理的,科学的规划,这是我们要成功必须要学会的。我觉得我对时间的把控力不是很强,虽然每天都有自己的计划、安排,也会按着计划一步一步的往下走,但是有句话说得好“计划赶不上变化”,一个计划的用时超出了预期的用时,后面的计划都得改变,最终加班都不能完成当天的任务,导致了事情堆积的局面。总结了一下,还是做事效率不高的原因,没有全身心投入到该项工作中,这也是我的短板,我应该调整自己的态度,做出改变。
(1)回想一下你初入大学时对你所在专业的畅想
1.1 当初你是如何做出选择所在专业的决定的?
当初填写志愿的时候,是寻求一个正在读大学的亲戚的帮助来填写的。当时就问了他两个问题,哪个专业最赚钱,哪个专业就业率最高,他给我说了几个比较好点的专业,让我从其中选择一个。后面问了问我表姐,可能是因为表姐夫是从事软件开发工作的关系吧,她给我推荐软件工程,说这个专业比较符合我的性格,于是我就报了这个专业。现在发现有一个前辈在前面指引前进,也是很不错的。
1.2 你认为过去两年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
过去两年中,我所学到的知识比较杂,每样东西都了解到了一些,但是每样东西都不精。可能我们班大多数人都这样认为吧,这是事实。但是我能理解老师这样做的目的,让我们拓宽眼界,先横向的看待这个行业,了解这个行业的广度,然后找一个自己感兴趣的方向纵向发展,了解它的深度。但是我没有什么特别感兴趣的,我想的是哪项技术就业面更广,薪资更高,我就学这项技术。后面我发现我错了,只有你比较突出,别人才会喜欢你。换句话说,就是只要你在一个方面技术达到一定的高度,公司抢着要你,这是你才有选择的权力,同时你的业务方向也是自己擅长的,职业的后期发展也好。但是你在中途转技术方向,到时候两项技术你都不是很精通,公司不一定会要你的。我也是这样的迷惘了两年,不过现在还有机会,我不会放弃的。
1.3 你觉得你所在的专业是你喜欢的领域嘛,他是你擅长的领域吗?
说实话,这个专业让我学到了许多东西。高中以前我只知道有这么一个行业,但是并不知道这个专业需要学习些什么知识。都是到了大学跟着培养方案慢慢的了解这个专业需要学习的知识,慢慢的知道我们这个行业的知识更新太快,需要我们每天去了解新的知识,新的技术。不能局限于学习培养方案中要求学习的知识,还需要我们自己花时间去学习新的技术,新的知识。慢慢的习惯了这个专业的节奏,也很享受这样的节奏,如果让我到其他行业工作,我可能不能适应。或许它现在不是我擅长的领域,但是我会将它发展成我擅长的领域。
1.4 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
当我选择这个专业的时候,我就知道我以后都不会离开这个行业,无论从这个行业的发展前景来看,还是从我对这个行业的喜爱程度与熟悉程度来看,我想这个行业都是我的首选。再者,离开这个行业我还真不知道我能干些啥。如果可以的话,我想留在成都,一是离家近,二是习惯了成都的慢节奏。进一个大点的公司(心里还是想着华为)从程序员做起,慢慢往上爬。
(2)对照前任们做过的路和描述未来发展,现在的你
2.1 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
目前我会C/C++的用法,C语言的数据结构,还在深入了解C++编程思想,用C#写了两个桌面,会一些Python的基础用法,计划进一步深入学习Python的知识。写过的代码还真没统计过,但是可以肯定的是,比那些大佬大牛们写的代码少得太多了,还需要勤奋的练习才行。目前最复杂的项目的话,应该是暑假培训做的网站吧,因为在那之前我一定都不了解前端框架,还有js,jsp,甚至连数据库都不怎么使用,后端的java也不是很了解。相比于Python的算法项目,我都觉得要简单一些,只是容易在思路上卡壳,其他的地方要好些。
2.2 离成为一个合格的本科生,在专业知识、技能、能力上还差距哪些?
我觉得以我现在的专业知识出去找工作的话,根本没有公司要。一是因为自己的编程能力还不足,代码量太少,二是因为自己掌握的知识都是二手的,甚至说是三手知识也不为过,不能与公司用的技术接轨,三是业务能力还没形成,没有公司那样对编译器的熟悉和编码好习惯。离一个合格的本科生,还有一定距离。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同放入努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
3.1 对照以上你阅读的前人们的经历,你的选择是什么?
考研吧,向人工智能方面转,目前尽量学好Python和C++的算法,为以后的学习打下夯实的基础。一是因为我觉得我现在的知识还不够充足,二是因为现在社会上对人才的要求越来越高,我觉得拿个硕士学位要好找工作一些。
3.2 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势:能更加静下心来做事情,毕竟研究生就要静得下心来搞研究。有更宽广的知识面,对研究方向的技术有更加深刻的理解。
劣势:会少两年的实战经验,对公司的项目模式不是很熟悉。不能与直接就业的同学一样,能很好的应对公司的规则,做事习惯,相处方式和目标效益。
3.3 针对你的选择,你给自己的大三设定的规划安排是什么?
搜集相关资料,积极做好考研准备。继续深入学习Python的知识,有时间的话,还可以将数据挖掘,机器学习的书也看一看。然后就是把C++编程思想这本书慢慢的读完。
3.4 你对于实现自己的梦想已经做了或者计划做什么样的准备?
我的梦想的话,还是要先考上研究生才行,就我目前的水平来说,真的太弱了。还需要在这条路上走很长的一段路程。只有考上研究生,才是实现我梦想的第一步,不敢想得太远,万一掉下来会摔得很疼的。目前来说,要全心全备战考研。
3.疑惑问题
- 书中第三章提到个人的能力,因为团队是由个人组成的,个人的能力决定了团队的工作效益,那么一个具有良好素质的程序员应该具备哪些条件和素养?
- 读了书中的第五章之后,我明白了团队合作的重要性,也了解到各种各样的团队合作模式。我想问的是:我们如何确定在团队中的位置,怎么知道自己究竟适合哪种团队模式?在与团队人员出现意见分歧时应该怎么处理?
- 在软件的运行过程中会出现各种各样的问题bug,这时我们要给软件打补丁,维护用户的服务。如果一款软件在前期投入了大量的资金和人力,但随着时间的流失,软件后继无力无法满足客户的需求,这样的软件是将它抛弃还是更新后仅需投入使用?
- 书中16章提到创新的问题,现在各行各业都充斥着创新型人才,那么在我们计算机行业,作为一个在校学生如何获取相关创新知识和运用这些知识去规避创新的盲点呢?计算机行业的创新是什么样子?
- 对于软件开发者来说用户需求重要还是用户体验更重要?如果最终向用户允诺的功能没有实现,怎么解决这个问题?
4.了解和调查源程序版本管理工具
1、Microsoft TFS
优点:是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用。
缺点:能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能。
2、GitHub
优点:GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。
缺点:可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
3、Trac
优点:非常灵活,可以随心所欲控制可以和SVN集成,trac做一个SCM配置管理平台,意味着它有良好的扩充性
缺点:功能不是很强大, 核心功能很少,不安装插件基本上没法用。
4、Apple XCode
优点:可以自动创建分类图表。自动提供撤消、重做和保存功能,无需编写任何编码。
缺点:更新版本后,某个插件可能会失效。
5.参考文献
- 目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
- 管理的优缺点