热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

作为一名程序员的心得分享

明天要进行部门的知识分享,所以写了这篇文章,刚写完就想发出来,无论观点对错,都希望能启发一些人的思考。一、工匠之心在写这篇文章的时候我的第一反应就是想写工匠之心,我认为一个合格

    明天要进行部门的知识分享,所以写了这篇文章,刚写完就想发出来,无论观点对错,都希望能启发一些人的思考。

一、工匠之心

    在写这篇文章的时候我的第一反应就是想写工匠之心,我认为一个合格的程序员应该要对它的作品负责,在有限的条件中尽可能地将作品完成。那时我一直认为自己是一名“冒牌程序员”,因为总感觉少了点东西,现在的我之所以不再认为自己是“冒牌程序员”的原因是后来我看到一个女生的博客,长相看着还算顺眼,那时候看完她的博客我鸡皮疙瘩都出来了,在她身上我注意到了工匠之心,我终于明白会认为自己是冒牌货的原因,自那以后,我都会在有限的资源(时间、成本、范围、质量)内将自己的作品完成好。

二、效率即是一切

    从事IT这行大部分人都很单纯(想要获取一些经济来支撑有幸福感的生活),正是因为单纯他们很努力,傻傻一天干到晚,我经常在想我如何才能在这群人中脱颖而出、如何才能在以后不被淘汰,于是我经常觉得时间不够用。在时间有限的情况下很自然而然的开始想着如何提高自己的效率,我开始运用在《程序员修炼之道》、《程序员的职业素养》、《代码大全》、《高效程序员的45个习惯:敏捷开发修炼之道》等书中学习到的知识,为了成为一个高效的程序员。

    《程序员修炼之道》是我的第一本启蒙书,自那以后我就开始持续学习、工作时间调整生活上的作息不再熬夜保证充足睡眠、也开始锻炼虽然这个经常断断续续。每天我会保证8.5个小时左右高效工作的时间给公司剩下的时间我会持续学习,在剩下的时间如果对公司未来发展感兴趣也可以投资1小时的时间,然后余下的时间是投资自己感兴趣的前沿技术如人工智能、物联网。

    那些国际大师已经通过书将自己的经验分享,这些心得不看过于可惜。后来,我也跟一些我认为的牛人包括我的老师、我上家公司的几个老板交流过,他们想法其实在很多书中都有提及,我认为我们很需要去学习一些国际大师们的经验,可能是通过书籍、视频、论坛等等方式,因为这些方法论是教会我们如何正确做事的方法。

三、从沟通到学习软件开发过程

    十个程序员中有九个会吃过沟通不足的亏,而我也不例外。我经历过因为沟通不足而导致项目严重延迟的情况,从那之后我意识到自己对软件开发过程的理解不够。我开始从《网易一千零一夜》、《人月神话》、《敏捷软件开发原则、模式与实践》、《谷歌和亚马逊如何做产品》等书中学习软件开发过程的方法。

学习之后感觉一下子扩大了自己的知识面,了解了会议的重要性、沟通的重要性、敏捷开发对于现代项目的影响等,知道如何去实践它们。像华为在内部推行敏捷开发时要求普及到每个程序员都对敏捷有一定程度的了解,我在实行敏捷中的一些方法时很多人表示不理解甚至于认为其不重要,很明显它们错了,过去的一系列让我觉得这些方法是有必要的只是它们的知识层面还达不到而已,就像你玩优秀很多明明是意识性的操作不懂的人还是会喷你菜。我认为我们需要了解软件开发过程,意识统一之后更能推动我们项目的进展。

四、设计与编码

    我认为软件设计过程最重要的就是一个解耦的过程,关于解耦面向过程的语言能做到的有限,于是我开始学习面向对象的设计原则以及设计模式为了加深自己对解耦概念的理解。主要是从《大话设计模式》、《设计模式之禅(第2版)》、《敏捷软件开发原则、模式与实践》还有一些大师级开源代码中学习。

编码设计的内容还是挺多的,早前还是先通过《代码整洁之道》、《代码大全》、《编程珠玑》、《编程之美》、《高质量C++-C编程指南》还有大师级代码中学习,当然我也有经常练习编码,因为编码的熟练度很重要

五、关于提高产能

    软件开发过程主要包括两部分,设计相关部分与实现部分,这里的设计部分指的是你可能需要自己来设计你的程序长什么样子,可能这部分在很长一段时间内还无法用AI来实现,实现部分你可以利用一些现代工具来提升你的效率。

    我认为对于公司或个人来讲提高产能最重要的因素之一是技术积累以及代码库积累,程序员必须积累自己的私人代码库这是你的资本,公司必须积累70%关于业务相关的代码库。技术积累是关于设计部分的重用,只要做好这点我相信无论是公司还是我们个人的产能都能有一定程度的提升。

六、总结

    目前最想讲的就以上这几点,其它的后续有更深感触的时候再写。


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了游戏开发中的人工智能技术,包括定性行为和非定性行为的分类。定性行为是指特定且可预测的行为,而非定性行为则具有一定程度的不确定性。其中,追逐算法是定性行为的具体实例。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 本文讨论了小学编程普及的必要性,以及学生在学习编程过程中所需具备的数学能力和综合能力。通过采访获奖的牛娃发现,学习编程需要耐得住寂寞,并且需要花费大量的时间和精力。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 作为一名正在读EE专业的研一学生,面临选择一门适合未来职业生涯的编程语言的问题。目前只会使用C++和Matlab,但发现C++的使用率逐渐减少。对于选择哪门语言进行深入学习还没有明确方向,希望选择一门使用广泛且不会被短期淘汰的语言。提到了Phyton的简洁性,但担心从零基础学习起会有困难。同时也担心选择了C++后语言会被淘汰,以及编程效率低的问题。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
author-avatar
c72586051
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有