在技能的反面这门课的内容里,作者认为精通一个技能是要做到知其所以然,并且做到创新,并用魔方做了个例子。个人理解:但是比如三阶魔方目前的世界排名第一杜宇生,他也能在四秒内复原一个魔方,但是也是使用的大家都会用的公式,只是他在观察能力和手眼协调能力远超他人,我觉得即使他没有创新,也可以称之为精通魔方了。又比如nba的退役巨星蒂姆邓肯,被称之为大基本功的代言人,虽然也没有开创什么新技术,但是他对比赛的影响力也是十分巨大,我想这时候他也可以被认为是精通篮球了。
软件工程 之 动物世界这一篇文章中提到鹦鹉是一种围观的态度,虽然可能会提出一些点子,但是鹦鹉是不会去执行的,他们只会提出一些云观点做一些空谈,总结起来就是一阵口嗨。但是如果项目没有开发好,他们又会立马跑到别的项目去,仿佛公园里围观下棋的大爷。个人理解:在我看来这类人对于团队的项目进展没有任何帮助,反而他五花八门的思想还可能拖累开发速度,如果在团队中发现这类人,是不是应该采取一些措施,例如将他踢出,或者对他做做思想工作。
在这个内卷化日益严重的年代我们是否要跟着一起内卷?当初选择软件工程的原因是因为兴趣,但是为了未来的工作,我现在也需要和别人一起内卷,但是这样我选择软件工程的初衷也没了,可以预见的是这样内卷下去,我的激情会消耗殆尽,而且甚至因为996,007工作的原因而进入不健康的状态。
正如书中所说绝大部分软件工程师都不是技术天才,那么我们应该如何选择自己的发展方向,或者说如何发现自己在软件工程中的长处
如何解决课外实践与课内学习的冲突?我们如何划分课内学习的时间和课外实践的实践,有时候课外实践占用的实践太多影响到了课内学习,我们应该如何把握?如果实践太少的话,毕业出去就被卷没了,如果太多的话,我们的基础知识就不牢靠了,基础知识是我们以后发展的根基也不能轻易忽视。
现在有那么多种语言,我们如何选择一种语言作为自己的主攻方向?想要做到文章说的大脑自动操作,这无疑是需要大量的时间和实践,而到现在为止我接触到的语言有python,php,java,go,c,c++,c#,js,shell,powershell,bat,vb,ruby,而这些语言我都无法做到大脑自动操作,总是这个学学那个学学,不知道以哪个为重点,有时要求这个,有时要求那个,那么我们如何选择一门语言作为自己的主攻方向。
我们如何才能进入团队,而不是被当成完成工作就领钱的乌合之众?我在网上看的一些帖子,很多时候都体现了与公司对立的情绪,很多人都说公司不把程序员当人看,996,007压榨,严重的甚至有一些人选择了轻生或者是猝死了,我们在未来找工作的时候无疑会遇到这样的公司,那么我们如何鉴别出他们呢,如何知道他们团队的工作氛围,公司内部真的是一个团队一起工作学习吗?
为什么有工作经验的软件工程师比学生在“需求分析”和“测试”上所花的时间多,但编码时间短?我们应当怎么去安排“需求分析”、“测试”和“开发”的时间呢?
怎么才能避免“为了自己的角色而做绩效优化”?
产品经理要不要懂技术?众所周知,产品经理的主要任务是:有自己的产品思维,具备出色的判断力,形成自己的商业分析逻辑,能够帮公司赚钱(或具备这个意识),有获取新用户的意识。产品经理花时间在技术上到底值不值呢?
设计产品时是否需要考虑不直接给企业带来利润的用户的体验?对于浏览者在网上浏览、比较货物、但并不购买,这种不直接带来利益,但有极大可能成为企业用户的用户在设计时是否需要考虑其需求?(放在Stone网中可能就是考虑未登录能否浏览商品等等)
什么样的软件工程作业才叫好作业?
P33 为什么使用了int count=m_wordList.Count 后System.Collection.ArrayList.get_Count的调用次数和实践都大幅度减少
P51 瓦茨总结说,软件领域分为技艺创新的大爆发和坚持不懈的工程工作,而其中工程工作占了90%-95%的比例,那么剩下的技艺创新具体体现在哪些方面呢?怎么看出来有技艺创新?
P65 程序设计进行到一半,发现自己原来设计中存在弱点,要解决这个弱点才能避免额外工作,但是如果现在改变设计,会不会让公司、同事以为自己能力不行?
P86 结对编程虽然能够不间断地复审,使代码质量提高,但是编写效率明显下降,要怎么比较质量和时间哪个更重要?怎么能够看出项目是结对编程更好还是个人编程更好?