一个七年开发经验程序猿的自述

程序员如何实现财富自由系列之:建立自己的软件开发工作室 作者:禅与计算机程序设计艺术 1.背景介绍 软件开发是一个全新的行业,开发者需要摒弃之前的通用编程语言、框架和工具,转而学习新的技术架构、编程语言、工具、模式、设计方法和工程实践。软件开发是一项非常复杂的工程,它涉及从需求分析到编码、调试到测试、上线运维等整个生命周期,而实现这一切都需要程序员掌握一 阅读详情

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者Tomasz Łakomy将他 7 年的开发生涯中学习到的一些经验分享了出来,这里推荐给你,希望有所启发。

Tomasz 讲到了以下 6 个要点:

编程中最重要的语言

对于中国开发者来说,这个问题的答案多半是“英语”,然而 Tomasz 却说:是英语,或者西班牙语、中文、波兰语,或者其它任何你在工作中与他人交流所用的语言。

作者指出“与人交谈比与机器交谈更重要”。编程是一项团队运动,虽然存在极少数案例,个人可以从零开发出很出色的产品,但是在绝大多数情况下,编程工作需要一个团队。

沟通技巧可以决定项目的成败,甚至 NASA 也因为这个问题而困扰。项目想要获得成功,整体的专业技能比纯技术技能更为重要,举个例子,如果你聘用了世界上最好的五位数据库专家,但是他们之间拒绝交流,没有协同工作,那最后交付给你的可能是 MySQL、Aurora 与 MongoDB 的五个不同实例,那又有什么意义?

编程中最重要的语言

大多数人在有目标感时会更开心,这也适用于工作。作为软件开发人员,你的目标不是用 JavaScript 实现 JIRA,或者用 C# 重写 Trello,你的目标应该是解决代码问题。

如果你对正在开发或者维护的系统有深入的了解,那么就可以在纯技术之外做出决策。这个功能是必要的吗?它解决了什么问题?我们能以其它方式解决这个问题吗?这个问题的优先级这么高合理吗?

这种思路有时被称为“业务上下文”,但如果你想做好自己的工作,你不仅应该了解这些上下文,还要能够塑造和影响它。这不是说你必须在组织中拥有某个高级职位才能这么去做,你至少要先去了解这些内容。

代码审查

不要背地里审查别人的代码,并且公开指出其中的问题,你在初级开发者的代码 PR 下以不好听的言论挑出了一些问题,这样并不能证明你有多厉害,相反,这只是说明你不是一个友善的人。

但是如果真的发现别人实现的功能完全无效,那么怎么办呢?合适的做法是私下去联系代码的编写者,与他们交流,找出他们为什么会以这样的方式实现该功能。

大多数人都不会想着说要写出不好的代码,如果他们的代码你觉得不行,那可能是他们在处理一些你没注意到的限制问题;或者他们确实编程能力还不够强,那这个时候就是你展现实力,帮助他们解决问题的时候了。

有些事情会出错,做好准备

“任何可能出错的事最终都会出错”,墨菲定律很可怕,你要始终假设在设计系统时可能会出现问题。

如果你正在构建登录表单,需要假设用户会将整本书复制并粘贴到密码字段中;如果你正在写一个 WYSIWYG(所见即所得)窗口,要假设有人会试图破坏它,并且他们很可能会成功;如果你有一个数据库,假设它会在某个时候出现故障;如果你还没有测试从 backup 中恢复数据库,那么这就不是一个 backup;如果你正在观众面前进行现场演示,需要确保 demo 在线上或者离线等情况下都能正常展示。

不要害怕说“我不知道”

刚开始当程序员的时候,可能你会害怕别人发现你不懂某一个问题,所以别人问你而你真的不懂的时候,你不会直接回答说你不知道,并且会给出一些不能确定的答案,但是本身没有底气,所以会害怕别人知道真相后觉得你是个骗子。

但是作为开发者几年之后,你可能会觉得如果一个东西你还不知道,那可能它是无关紧要的,或者这是你需要现在去学习的另一项新技术。终身学习不是软件开发的流行语,它是现实。

保持这样的心态,这个时候,当别人问了一个你不懂的问题时,你就可以大胆地说:我不知道,我还没有试过,我先看看,然后回复你。

分享学习成果

当你从“我不知道”的状态中学习到某项新技术的时候,这时候可以去与他人分享你的学习成果。比如写自己的博客、录制视频教程、在公司的分享活动中演讲,或者只是简单地把知识点告诉另一个人。

二次教学是考验你是否真正理解你所学的东西的极其有效的手段,而且一般来说,即使是最资深的专家也可以从初学者那里学习到新东西,这样对于你和其他人来说是双赢。

前端基础知识介绍 前端基础知识视频,可以帮助很多的初学者初步了解前端开发所应用的技术 立即下载

相关推荐

mpw:Macintosh程序员工作室(mpw)兼容性层

MPW模拟器 由Kelvin W Sherlock等人撰写 请检查以获取有用的信息。 请检查已编译的二进制文件。 系统兼容性 当前,仅支持不区分大小写的HFS +的OS X 10.8+。 执照 680x0 CPU代码来自 ,已获得GPL v2或更高版本的许可。 因此,编译后的二进制文件也根据GPL v2获得许可。 内存分配器(NewHandle / NewPointer)代码来自 ,它是Jefty Negapatan和D. Richard Hipp编写SQLite零分配分配器的分支。 和SQLite一样,它在公共领域。 建筑 编译需要cmake,ragel,lemon和具有c ++ 11支持的最新版本的clang ++。 它仅在OS X 10.8+上构建和测试。 mkdir建立cd建立cmake ..使 这将生成bin/mpw和bin/disasm 。 安装 某些配置和执行文件通常很

进入 编程 开发 7 年,我学到了什么?

前言:相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者 Tomasz Łakomy 将他 7 年的开发生涯中学习到的一些经验分享了出来,这里推荐给你,希望有所启发。Tomasz 讲到了以下 6 个要点:编程中最重要的语言对于中国开发者来说,这个问题的答案多半是“英语”,然而 Tomasz 却说:是英语,或者西...

weixin_34221775的博客 230

程序员薪金(虾皮工作室)

程序员薪金(虾皮工作室)

【程序员如何更好的展示自己】

在这篇文章中,我将向你介绍一些如何让你的技能和经验更好地展示出来的方法,包括你的技能、项目经验和学习能力。经验和项目:列出你的项目经验和参与的开发项目,这可以帮助别人了解你的技术能力和实践经验。在展示你的项目经验时,重点是要让别人了解你的项目经验、技术能力和担任的角色。在展示你的技能时,重点是要让别人了解你的技能水平,并简洁明了地表述你的技能。在展示你的学习能力时,你需要展示你的自主学习能力和学术背景。通过以上三方面的展示,可以让别人更好地了解你的能力和擅长的领域,从而更好地展示自己的技能和经验。

我是Java程序员廖志伟,感谢朋友们的支持! 346

SPI模式下的SD卡读写,为什么你的数据总出错?详解时序与状态机避坑指南

本文深入探讨SPI模式下SD卡读写数据出错的根本原因,提供时序优化与状态机设计的实战指南。针对时钟周期计数、状态机跳转和忙检测等核心问题,详解命令时序细节、状态机同步策略及高级避坑技巧,帮助开发者提升SD卡在SPI模式下的稳定性和性能。

weixin_30514745的博客 263

【Pytorch】DCGAN实战(三):二次元动漫头像生成

文章目录1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE3.具体实现3.1数据预处理(data.py)(1)导入包(2)定义数据类3.2模型Generator,Discriminator,权重初始化(model.py)(1)导入包(2)Generator(3)Discriminator(4)权重初始化3.3网络训练(net.py)(1)导入包(2)创建类3.4 主函数(main.py)(1)导入文件(2)定义超参数(3)实例化(4)进行训练4.训练过程4.1

qq_44031210的博客 4918

程序员组建工作室

在大型企业工作的人往往会产生一种错觉,那就是把企业的能力误认为是自己的能力。然而,当你真正离职后,你会发现,同样的客户,你可能连面都见不到。最常见的讨论是关于回老家结婚,不,是开设工作室。我有不少在大城市打拼的朋友选择了这条路。本质上,这确实是一个不错的选择,但问题在于,如果没有做好充分的前期准备,失败的可能性也非常高。再加上全球经济放缓、投资减少,这种单一的转变方式蕴含着巨大的风险,因此很多程序员选择留在E象限,成为永久的打工人。S象限,可以被视为B象限的简化版,因为作为自雇个体,无需处理公司管理事务。

csqifa的博客 417

2025.05.30【转录组】|Ribo-seq数据流程详解(一 质量控制)

本文详细介绍了Ribo-seq数据的质控分析流程,重点讲解了使用fastp进行原始数据质控的关键步骤和参数设置。作者通过Snakemake自动化流程示例,展示了如何去除接头序列、过滤低质量reads、生成质控报告等操作。文章强调高质量的Ribo-seq数据对转录后调控和翻译动态研究的重要性,并提供了兼顾数据质量和下游分析需求的参数配置建议。该流程有助于研究人员规范高效地完成Ribo-seq数据质控,为后续分析提供可靠数据基础。

786

个人网站收集

文章目录1.基础学习类网站2.开发文档类网站3.解决开发难点类网站【各种库,插件,开源网站介绍】4.想要实现快速开发不可不知的5.各种功能网站6.在线工具7.开发人员应知技术8.前端UI组件库9.刷题10.代码托管平台11.社区类12.项目合作13.新闻资讯类14.书籍类15.学习网站16.应聘网站17.休闲网站18.extra 二、接下来笔者与大家分享一下我个人积累的网站: 1.基础学习类网站 MDN开发者文档:https://developer.mozilla.org/zh-CN/ 菜鸟教程:http

weixin_43617604的博客 6117

Xilinx FPGA平台GTX简易使用教程(四)GTX IP核配置教程

干货来了,GTX IP核配置,搬砖全靠它~~

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

Ollama 在不同操作系统上的详细使用,及用python进行调用实战

本文介绍了Ollama的安装配置及Python调用方法。主要内容包括:1)Windows/macOS/Linux/Docker等多种安装方式;2)Ollama基础命令,涵盖模型管理、运行和服务控制;3)Python调用教程,包含官方库使用、自定义客户端、多轮对话、参数设置等高级功能,以及直接API调用示例。文章提供了完整的代码片段,适合开发者快速上手使用Ollama进行本地大模型部署和开发。

数据知道的博客 1233

一个C站6年的程序猿自述

目录 你来自哪里?来优快云想收获什么? 你的昵称/头像有什么特殊意义吗? 你用过哪些开源项目让你忍不住推荐给朋友? 有什么事情想做很久了?还没去做的原因是什么? 你在技术学习中遇到的最大的问题是什么?怎么解决的? 你来自哪里?来优快云想收获什么? 我来自山西,年轻的时候总是向往大城市,想要去闯荡男儿志在四方。来到优快云是2016年的时候,那时候是刚刚进修互联网专业来到北京,最早的时候是为了在这个平台学习一些接触一些自己不懂得东西,因为最初的社交平台C站是比较有影响力的...

菜鸟老五 4326

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

程序猿媳妇儿注意事项

[转载]http://www.admin10000.com/document/4861.html     一年前我和程序猿第一次见面,还是大一军训期间。我甚至不确定程序猿是否记得那是第一次见面。当时不小心装伪文艺参加了吉他社,想借一本吉他入门书,然后同在吉他社热心的海哥说他一同学有,就带着我去拿书了。于是我们第一次“见面”了,我只看见一个对着电脑,佝偻着背的背影......严重怀疑程序...

awp7451的博客 547

因果强化学习:优化决策策略的因果方法

1. 背景介绍 1.1 传统强化学习的局限性 强化学习(Reinforcement Learning, RL)是一种通过与环境交互来学习最优决策策略的方法。然而,传统强化学习方法在面对复杂、动态和不确定的现实世界问题时,往往存在以下局限性: 数据效率低:传统强化学习方法

AI天才研究院 659

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 384

做程序猿的老婆应该注意的一些事情

来源:https://www.jianshu.com/p/fa00d09908ff今天来说说一位女青年的老公以及他们的事儿。如有雷同,纯属巧合。十一年前我和程序猿第一次见...

哲洛不闹的专栏 213

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

做一个“有资格”程序猿

其实这篇文章是很早就想写一,一直忙到没时间,今天终于是空的,继本职业工作方案谈猿我个人的一些想法: 要想做一个我觉得是“亲密格”程序猿。该要做到下面几点: 代码规范,凝视清楚 要做一个好的程序猿,代码的质量是最重要的,代码是项目过程中最为重要的资源。有非常多程序猿认为写凝视太麻烦,还会花太多时间,尤其是非常多规模比較小的公司,更不会注重这一点,可是往往到了项目后期。乃至项目由...

weixin_34121304的博客 103

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

程序猿杂记——七年之痒

不敢想象这调调是怎么一步步变得这么灰暗的,毕竟这两年也实现了薪资翻一番的目标,且走了狗运,被领导挖到了核心部门,终于在本猿不惑之年实现了人生的一大跨越,但很多东西却越看越不懂,借用《无间道》的一句台词:“XXXX金腰带,修桥补路无尸骸,世界不应该是这样的”,实话实说,我技术真挺菜的(仅有的几篇所谓原创文章还是东平西凑的读书笔记,越想越做作,现在就删了),特别是之前疯狂面试之后,这种自我认知越发清晰。我是来做技术开发的,不是来坐台当男公关的,不应该仅凭技术能力来评定我的薪资吗,现在咋多了这么多场外因素?

WDJNDY的博客 150

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

来自一个菜鸟的Java后端面试经验总结

lz从去年二月份开始春招找实习,(双非本科学历)到现在差不多过去了一年。大大小小的面试也经历过了不少,也相应的拿了一些公司的offer,下面是我的一些个人见解加上别的大佬的一些参考,希望能抛砖引玉,如有瑕疵,还请多多指教!我认为的面试=基础+能力+规划以及一些面试技巧 其实也就是对应着一个人的:过去(学过的知识)、现在(拥有的能力 )、未来(规划)最后补充了一些个人的见解,都是同学们加我微信聊到的问题,我谈了一下我的看法。这个就很简单了比如这些是基本上都要知道的,尤其是一些面试常问的必须要数量掌握,尽管有人

weixin_70730532的博客 586
上一篇: 一位资深Java的阿里系公司实战面试经验,套路还是面试官的多
下一篇: 分析了阿里,京东,腾讯等大厂之后,漫谈我的Spring面试题总结
程序员摩西
博客等级 码龄7年 45粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值