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

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

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

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

一、工匠之心

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

二、效率即是一切

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

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

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

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

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

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

四、设计与编码

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

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

五、关于提高产能

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

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

六、总结

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


推荐阅读
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • Google最新推出的嵌入AI技术的便携式相机Clips现已上架,旨在通过人工智能技术自动捕捉用户生活中值得纪念的时刻,帮助人们减少照片数量过多的问题。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • Python 学习是否需要先掌握 C 语言?
    Python 是一门非常适合编程入门的语言,很多人疑惑是否需要先学习 C 语言才能更好地掌握 Python。本文将详细探讨这个问题,并为初学者提供专业的建议。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 异常要理解Java异常处理是如何工作的,需要掌握一下三种异常类型:检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常ÿ ... [详细]
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社区 版权所有