Share Your Knowledge and Experiences

Paul W. Homer

FRoM All oF ouR ExpERiEnCES, including both success and failure, we learn a great deal. In a young industry like software development, disseminat- ing this experience and knowledge is vital in helping sustain progress. What each team learns in its own tiny little corner of the world is possibly influential across the globe.

Realistically our fundamental knowledge base for software development—that is, the knowledge that is absolute and theoretically correct—is small compared to what is necessary to successfully develop a project. To compensate, we guess, rely on intuitive judgments or even pick randomly. In that, any major devel- opment project generates empirical evidence into what works and what fails. We’re gradually working through the permutations, which we want to apply back to the industry as a whole.

At an individual level, we are all trying to grow and come to understand how to build larger and larger systems. The course of our careers will take us toward ever-increasing challenges, for which we want our past experiences to help guide us. Being there is one thing, but to get the most from the experience we often have to rationalize it. The best and easiest way of working through it is to attempt to explain it to another person.

The act of discussing something always helps to show its weaknesses.You don’t really understand something until you can explain it easily. It’s only by putting forth our explanations and discussing them that we solidify the experience into knowledge.



Another point is that while we may have had specific experiences, the infer- ences we draw from them may not be entirely correct in the overall context. We may not have been as successful as we thought, or as smart as we wanted. Of course, testing your knowledge against the real world is scary, particularly when you find out that something dear is myth, incorrect, or was never true; it’s hard to be wrong.

Ultimately, we are human beings so not everything in our minds is correct; not every thought we have is reasonable. It’s only when we accept our flaws that we open up the possibility of improving. The old adage about learning more from failure always holds. If our ideas and beliefs do not stand the test of a debate, then it is better we find out now than build on it later.

We really want to share our knowledge and experience to help the industry progress; we also realize it helps us to understand and correct it. Given the state of so much of our software, it is clearly important for us to take every opportunity to share the things we know, what we think we know, and what we’ve seen. If we help those around us to improve, they’ll help us to reach our full potential.

Paul W. Homer is a software developer, writer, and occasional photographer, who was drawn into software development several decades ago and has been struggling ever since with trying to build increasingly complex systems.

Share Your Knowledge and Experiences的更多相关文章

  1. Top 100 Best Blogs for iOS Developers

    (by JP Zhang | Last updated: Apr 5, 2016 )  转载自:http://www.softwarehow.com/best-blogs-for-ios-develo ...

  2. Extending sparklyr to Compute Cost for K-means on YARN Cluster with Spark ML Library

    Machine and statistical learning wizards are becoming more eager to perform analysis with Spark MLli ...

  3. ACM会议列表与介绍(2014/05/06)

    Conferences ACM SEACM Southeast Regional Conference ACM Southeast Regional Conference the oldest, co ...

  4. Dan Zhang - Visual Studio ALM MVP

    I am a Microsoft Certified Partner specialising in .NET solutions, also worked as an ALM consultant. ...

  5. Vue in 2016

    原文链接:Vue in 2016 Vue 作者尤雨溪对 Vue 在 2016 年的总结以及未来的展望 现在已经是2016的尾声了!在这过去的12个月里,Vue的持续增长速度已经超过了我的预期--这个项 ...

  6. SNMP 原理与实战详解

    原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...

  7. (转) Deep Reinforcement Learning: Playing a Racing Game

    Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playi ...

  8. 记录毕业论文 LanguageTool 二次开发时用到的网站

    LanguageTool Development LanguageTool Supported Languages Share your knowledge about LT - LanguageTo ...

  9. MySQL 5.1.73升级为MySQL 5.5.35详解

    一.前言 二.概述 三.安装MySQL 5.1.73 四.升级为MySQL 5.5.35 五.总结 注,测试环境 CentOS 6.4 x86_64,MySQL 版本(5.1.73.5.5.35)目前 ...

随机推荐

  1. gcc 4.8安装

    suse的安装参考:http://blog.csdn.net/cloudskyfhx/article/details/17660607 有些错误处理见本文黄色部分 CentOS 6.4 编译安装 gc ...

  2. hdoj--1257--最少拦截系统(动态规划)

    最少拦截系统 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status ...

  3. gdb的使用(转)

    gdb使用 转自清华大学操作系统实验指导书 gdb 是功能强大的调试程序,可完成如下的调试任务: 设置断点 监视程序变量的值 程序的单步(step in/step over)执行 显示/修改变量的值 ...

  4. c#约瑟环实现

    约瑟环问题就是有n个人坐成一个圈.从某个人开始报数,数到m的人出列,接着从列出的下一个人开始重新报数,数到m的人再次出列,如此循环,直到所有的人都出列,最后按出列的顺序输出.

  5. js例子

    1.子菜单下拉 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  6. gitlab quickly install

    一.安装gitlab依赖环境 yum -y install vim wget epel-release  yum install curl policycoreutils openssh-server ...

  7. Android之Action Bar

    Action Bar在实际应用中,很好地为用户提供了导航,窗口位置标识,操作点击等功能.它出现于Android3.0(API 11)之后的版本中,在2.1之后的版本中也可以使用. 添加与隐藏Actio ...

  8. RN打包的那些坑儿

    Write By lz: Lz 寄语: RN虐我千百遍, 我待RN如初恋, 坑儿爬多了也就自然了 官方文档: http://reactnative.cn/docs/0.43/signed-apk-an ...

  9. TD中INPUT的宽度设置

    最近在用C#做Web程序时,碰到一个问题: 将TextBox的asp控件放在Table中的TD里面时,不设置宽度,自动会将TD撑的很大. 查看运行后页面的源代码发现,其实TextBox控件最终在客户端 ...

  10. mysql数据库索引原理及其常用引擎对比

    索引原理 树数据结构及其算法简介 B+/-树: - 多路搜索树; - 时间复杂度O(logdN);h为节点出度,d为深度 红黑树: - 节点带有颜色的平衡二叉树 - 时间复杂度O(log2N);h节点 ...