Skip to content

四火的唠叨

一个纯正程序员的啰嗦

Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接
Menu

Category: Career Growth

多面手程序员

Posted on 12/29/201210/01/2024 by 四火

1 先来看看这样的场景:

  • “没有美工做的高保真页面,我怎么来开发呢?我没有审美,也不会用 PS 作图啊。”
  • “正交测试这种技巧,是测试工程师应该掌握的,开发不需要了解。”
  • “目前进度的瓶颈在产品经理那里,他还没有给我澄清需求。难道要一个写代码的去给客户整理需求么?”
  • “我是 C++程序员,我是做底层开发的啊,这种页面样式的问题我怎么可能懂?”
  • “这是维优人员关注的线上数据,他应该把日志、错误现象全部备齐了再提交问题给开发。”
  • “这是他的模块,把问题提给他来处理。”
  • ……

这些是我下面要反驳的一些做法,你有没有中枪的?

事实上,我已经在很多篇文章里(比如这篇文章)阐述了这样的观点:程序员要多能。很多情

[……]阅读全文

Continue reading

致那些自嘲码农的苦逼程序员

Posted on 09/19/201210/01/2024 by 四火

1 好吧你可以说这是水文。

今天下午和经理聊了一些关于软件行业的话题,这两天晚上都有朋友向我倾诉程序员的茫然和苦楚,我觉得有些想法可以记录下来。时光佐证,其实我好久没写发骚的文字了,就啰嗦啰嗦。我不算一个梦想家,但是对于信念还比较固执。人各有志,赚钱多多的钱,没有什么不好。但是我希望赚钱能真正作为一项副产品,把自己希望的事情,当做一项事业去做。

互联网环境恶劣、软件环境恶劣,来到北京工作数个月,我有一些未曾体味到的感触。多少人都在议论吃青春饭的职业,多少人在自嘲重复劳动、苦逼工作,多少人在听到 “程序员” 三个字以后露出鄙夷的神色……我已经没法在每次听到这些关于程序员是非评价的时候反驳他 [……]阅读全文

Continue reading

多年前的一封邮件

Posted on 09/07/201206/23/2019 by 四火

Email 昨晚在整理邮件,翻阅到这样一封邮件,它来自我的老师郭军,曾经教我 COP(面向组件编程)课程的老师。这个邮件的始末是这样的,郭老师在课上扯到了一道题,在现在看来是再简单不过的题目了,对于给定的 n,要求只允许用一层循环,打印这样的星号(下例中 n=3):

  *
 ***
*****
 ***
  *

因为只能用一层循环,所以当时是这样实现的:

	int n=3;
	int row,col,mid;
	for(int i=1;i<=(2*n-1)*(2*n);i++){
		row = i/(2*n)+1;
		col = i-(row-1)*(2*n);
		row

[……]阅读全文

Continue reading

我十年学习编程的历史

Posted on 08/14/201206/23/2019 by 四火

首先,我不是标题党。其次,我只想说说十年来我自己的关于编程的故事,做过的一些乱七八糟的程序。我的成长并不快,下面这些程序已经足够让我丢脸的了,喜欢发难的朋友,尽管嘲笑我吧(当然,如果你产生了共鸣,我们或许是同龄人、好基友)。最近尤其喜欢回忆起一些以前的故事(比如这篇,还有这篇),是不是说明我越来越迂腐了?

其实接触编程,是从更早学习机上的 G-Basic 开始的。但那时的我只能说凑个热闹,回忆似乎已经模糊不清。所以这段时间实在不能算作什么历史。不过无疑学习机,以及是早些时候在同学家玩的电脑,才是真正领我进入神奇计算机世界的启蒙者。

2002 年正值我高二,学校要组织一帮人去参加编程的比赛 [……]阅读全文

Continue reading

程序员学英语

Posted on 07/23/201210/01/2024 by 四火

老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“ 致命” 来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“ 软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。

我在这篇文章中,已经讲到了“ 为什么程序员非得搞定英语”:

中国人为什么要学英语,程序员为什么要学英语,当我把那些方法名、

[……]阅读全文

Continue reading

工作压力的问题

Posted on 06/25/201210/01/2024 by 四火

1程序员的工作是紧点好还是松点好?

对个人的影响

有人说紧点好,理由是可以从中学到东西,这是一种压力驱动式的学习方式;也有人说松点好,可以有大把的时间去闲逛、打酱油。前一种人至少是上进的、积极的,只是兴许是由于教育体制和软件大环境的原因,已经失去了许多主动性,非得要环境逼迫的压力下才能去学习、去分析和解决问题。

其实,大部分刚毕业的程序员都属于前一种,他们至少是努力着去提升自己,设法去写出好的代码,有一种追求卓越的愿望。但是,我们从来的教育都是这样,喂食—— 吃食,喂食—— 吃食…… 到了大学,喂食的情况少了,于是颓废、

[……]阅读全文

Continue reading

思考、学习新技术的原则和方式

Posted on 04/28/201210/01/2024 by 四火

1 先看下面这样的困惑:

  • 最近了解了几个 MVC 的框架,其中有两个是公司内部的。发现这些东西都是类似的,从处理逻辑到页面渲染;从 service 到 layout;配置的实现无非就是 XML,或者 annotation……我有种感觉,兴许已经跳不出这个思维圈子了?
  • 如今的时代,是一个概念翻飞的时代,oschina 里的开源软件数量就已经超过了两万,五花八门的技术层出不穷,到底什么技术才是值得学习的?
  • 有位朋友说,他想学习一些关于 Android 上的开发技术,兴趣驱使。几个月过去了,他说他已经能做出许多小程序了,可是他现在回想起来,掌握一门技术是好,可兴趣之外还有什么呢?他说,“如果我的工作中不使用 And

[……]阅读全文

Continue reading

“ 你不适合做程序员”

Posted on 03/21/201210/01/2024 by 四火

1 我的一位同事,他带他读小学的孩子去学钢琴,通过关系找了一位有点名气的退休的老教师,学费不菲。他说其实他并不知道为什么要学,但是看到那么多孩子都在学钢琴,他想,他的孩子不能落后。一个月之后,他去问钢琴老师,对孩子的学习有什么建议没有。钢琴老师用尽了委婉的表达,最后说:

“ 对于你的孩子在学音乐方面,我最大的建议,就是你的孩子最好别学音乐”。

什么?!

这位同事听了当然恼怒,但是转念一想,老师未尝不是负责任的。通常这样的老师,赚钱之心,都会忽悠家长,或者好话歹说,很少有说“ 不” 的。但是真话就是这么犀利。

他说:“ 我们平时并不容易听

[……]阅读全文

Continue reading

谈谈对程序员的培养

Posted on 03/11/201210/01/2024 by 四火

1 这篇文字是我好久以来的想法,有一些感悟,有一些激烈的言辞,我很自豪我就是一名程序员,我希望给程序员或者前程序员们带来一点启发。也许你认可我的言辞,也许你不屑我的观点,无论如何,欢迎谈谈你的看法。

 

让程序员做更多种类的事

为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为 “自己吃自己狗食”)。

然而到了某些公司,在一些正规的流程下,“人” 反而显得不那么重要了:一个完、整的流程被切分成若干环节,程序员只能负责那小小的一环,更严重的是,他们显示出消极和片

[……]阅读全文

Continue reading

我在华为的五个瞬间

Posted on 01/21/201206/23/2019 by 四火

huawei 从 08 年 7 月 28 日正式加入华为,到 12 年 1 月 17 日正式离开华为,三年半的光阴,我一直没有机会好好整理一下我的行囊。现在回过头来,却又发现故事太多,无从下笔。也罢也罢,挑选我在华为五个令我深刻的瞬间,这些故事我带着不同的感触经历。不管现在开放的互联网上如何风言风语,不管在其中经历了多少欢乐或者悲伤,有多少感慨和抱怨,我依然非常感激华为带给了我这波澜跌宕的时光,谢谢我的朋友们,是你们,一直陪伴我走完这段旅程。

 

我参与的第一个项目

我参与的第一个项目是服务端的一个产品的研发,做一个涉及到营销业务的需求,对当时的我来说,业务逻辑还比较复杂,而且实现基本上要落到存储过程中实现;接口层只需

[……]阅读全文

Continue reading

电信领域和互联网领域的差别

Posted on 01/16/201206/23/2019 by 四火

1 最近有机会了解到了诸多 IT 业公司,了解到了程序员的生存状态,也看到了各种不同的做产品的方式;有机会得以从电信领域转向互联网领域,在这里我谈一谈在我眼中的电信领域和互联网领域的区别。

 

 

营销模式

 

电信:

卖服务,提供配套的软硬件给运营商,强调解决方案的完整性(如包含 WEB、WAP、客户端、短信等多种接入渠道);

运营商可能选择几家中标单位分散风险,也可能采用独一家的全套解决方案,通常要求服务稳定和可持续性,而在成本考量上通常较弱。

 

互联网:

靠流量挣钱,有流量就有用户群,有流量就有广告潜力,特别关注市场竞争和用户感知;

互联网公司给用户提供

[……]阅读全文

Continue reading

写在职业生涯的路口

Posted on 01/11/201206/23/2019 by 四火

cross 工作变更的事宜快要告一段落了,从电信行业转向互联网行业。其实我不算一个很有经历的人,但是我依然愿意回头望望走过的路,记录下我的体验、感触,给那些刚入职的兄弟们、遇到困惑的朋友们,说一些小小的事情,给一些小小的建议;同时,更作为一份小小的新年礼物,送给自己。

 

—————————————————————————————————————-

 

关于求职

 

每一次求职都意味着一次挑战,在这一步过程中,至少要

[……]阅读全文

Continue reading

一些平安夜里的 IT 人

Posted on 12/25/201106/23/2019 by 四火

1 一个普通的平安夜。

而我,已经过了遍地牢骚的年纪。

可是有一些 IT 人,他们都在平安夜里做什么?

有人在和客户洽谈,有人在现场维护,有人在加班 Coding,还有人,像我一样,在各个技术网站上闲逛,写一些小众的、自我感觉有一点点营养的博客,赢取 IT 业的兄弟姐妹们一点唏嘘,一点赞同。

年岁不算大,但是在 IT 业,工作经历也到了一个可以被称作老员工的时候;故事不算多,但是在 IT 业,生活体验也到了一个可以被扯出来摆事实讲道理说教的阶段。我做出了一个决定,在思索良久之后,我想从电信领域转到互联网领域,寻求下一段职业发展旅程。

好歹不算头疼脑热,好歹也不算神经冲动,最近看到一篇文章,又让我想起了最

[……]阅读全文

Continue reading

我为什么坚持写博客

Posted on 12/12/201106/23/2019 by 四火

blog 我是从 06 年开始真正写博客的,几经易辙,到了 09 年,我也中断过一段时间,好在现在已经坚持下来并且养成习惯了。

 

写博客可以保持思考的习惯。

这是我写博客的最大动力,除非标注转载的极少数几篇,否则文章都是原创的。我是一个普通教育背景的孩子,小时候很喜欢看书,家中也藏书不少。只是上大学开始,我的阅读量逐渐下降,而且愈发发觉,书读得多不动脑,还不如少读几本,多思考。在逐渐的工作中,也越来越发现思考的重要意义,和在中国这种教育体制下的缺失。后来又发现,思考可以让人少走一些弯路,少受一些苦痛,对程序员来说尤其如此。

 

写博客可以帮助其他的程序员。

我要给自己印一摞名

[……]阅读全文

Continue reading

程序员看法上的几个典型错误

Posted on 10/04/201110/01/2024 by 四火

1 今天我不谈抱负理想,也不谈具体的技术,我来谈几个看法上的典型错误。下面的这些问题都是我曾经遇到,或者是我的朋友们遇到过的问题,这些都是我个人的理解,希望对大家有帮助。

 

关于设计模式、设计原则

有人认为,熟悉了设计模式、设计原则,就学会了设计。其实,设计模式和设计原则,只是前人根据设计实践做的总结和提炼,设计,归根到底是要解决问题的,把具体问题的解决办法,经过一定的抽象,变成程序员的语言。

我见过一些人,他们知识渊博、见识广博,甚至理论可以给你阐述得冠冕堂皇,但是到了实际需要解决问题的时候,他们却拿不出巧妙的、优雅的办法,这是典型的象牙塔人。

另一方面,也有一些人看不起学习设计模

[……]阅读全文

Continue reading

我们的时间去了哪里?

Posted on 04/26/201110/01/2024 by 四火

clock 做一个大型的 WEB 项目已有近两年,兄弟姐妹们总在忙忙碌碌中度过,看似很充实,可是当每个版本结束,我想我们又完成了一件大事,可是紧张的项目周期加上持续的加班,客户和一线还是对版本质量不满意。看到完成的作品时,我总有一种感觉:投入了相当大的人力,团队成员也兢兢业业,按说时间应该绰绰有余才对,可是实际上为什么我总觉得版本紧张,我们的时间怎么那么容易就被消耗掉了?

 

内耗之事

不可否认当一个团队人数越来越大,就越需要流程来约束人、管理人,可是团队越大,就越容易产生沟通、交流的内耗,尤其是流程产生的内耗。项目经理或者团队 Leader 能够及时识别出这样的内耗,就显得尤为重要。

流程的内耗,比

[……]阅读全文

Continue reading

为中国的程序员说几句

Posted on 05/18/200806/23/2019 by 四火

programmer 我只是个普通大学生,出于对软件的喜爱,我选择了这个热门和复杂的专业,已经习惯安心地坐在书桌前翻着实践课程中一段一段烦杂的代码。很自然,我关注起中国软件业的发展和变革,更愿意谈及 IT 界相关的话题,当然包括就业。确实,我不是什么专家,但临近毕业,我也以自己——一名学生的眼光,担忧起中国可怜的程序员们,担忧起中国看似迅速发展然而并不十分健康的软件业发展态势。

首先是结构分布的极度不平衡,只懂得写几行代码而根本不真正理解编程却自以为是的人多如牛毛,然而从事底层代码开发工作或者思想深刻技术过硬的程序员凤毛麟角,于是 “大量 IT 人遭弃用” 和 “高薪聘请不到资深程序员” 的现象看似难以理解地同时发生了。其次是部

[……]阅读全文

Continue reading
  • Previous
  • 1
  • 2
  • 3

订阅·联系

四火,啰嗦的程序员一枚,现居西雅图

Amazon Google Groovy Hadoop Haskell Java JavaScript LeetCode Oracle Spark 互联网 亚马逊 前端 华为 历史 同步 团队 图解笔记 基础设施 工作 工作流 工具 工程师 应用系统 异步 微博 思考 技术 数据库 曼联 测试 生活 眼界 程序员 管理 系统设计 缓存 编程范型 美股 英语 西雅图 设计 问题 面向对象 面试

分类

  • Algorithm and Data Structure (30)
  • Concurrency and Asynchronization (6)
  • System Architecture and Design (43)
  • Distributed System (18)
  • Tools Frameworks and Libs (13)
  • Storage and Data Access (8)
  • Front-end Development (33)
  • Programming Languages and Paradigms (55)
  • Testing and Quality Assurance (4)
  • Network and Communication (6)
  • Authentication and Authorization (6)
  • Automation and Operation Excellence (13)
  • Machine Learning and Artificial Intelligence (6)
  • Product Design (7)
  • Hiring and Interviews (14)
  • Project and Team Management (14)
  • Engineering Culture (17)
  • Critical Thinking (25)
  • Career Growth (57)
  • Life Experience and Thoughts (45)

推荐文章

  • 聊一聊分布式系统中的时间
  • 谈谈分布式锁
  • 常见分布式系统设计图解(汇总)
  • 系统设计中的快速估算技巧
  • 从链表存在环的问题说起
  • 技术面试中,什么样的问题才是好问题?
  • 从物理时钟到逻辑时钟
  • 近期面试观摩的一些思考
  • RSA 背后的算法
  • 谈谈 Ops(汇总 + 最终篇):工具和实践
  • 不要让业务牵着鼻子走
  • 倔强的程序员
  • 谈谈微信的信息流
  • 评审的艺术——谈谈现实中的代码评审
  • Blog 安全问题小记
  • 求第 K 个数的问题
  • 一些前端框架的比较(下)——Ember.js 和 React
  • 一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js
  • 工作流系统的设计
  • Spark 的性能调优
  • “残酷” 的事实
  • 七年工作,几个故事
  • 从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
  • 一道随机数题目的求解
  • 层次
  • Dynamo 的实现技术和去中心化
  • 也谈谈全栈工程师
  • 多重继承的演变
  • 编程范型:工具的选择
  • GWT 初体验
  • java.util.concurrent 并发包诸类概览
  • 从 DCL 的对象安全发布谈起
  • 不同团队的困惑
  • 不适合 Hadoop 解决的问题
  • 留心那些潜在的系统设计问题
  • 再谈大楼扔鸡蛋的问题
  • 几种华丽无比的开发方式
  • 我眼中的工程师文化
  • 观点的碰撞
  • 谈谈盗版软件问题
  • 对几个软件开发传统观点的质疑和反驳
  • MVC 框架的映射和解耦
  • 编程的未来
  • DAO 的演进
  • 致那些自嘲码农的苦逼程序员
  • Java 多线程发展简史
  • 珍爱生命,远离微博
  • 网站性能优化的三重境界
  • OSCache 框架源码解析
  • “ 你不适合做程序员”
  • 画圆画方的故事

近期评论

  • Ticket: TRANSACTION 1.922915 BTC. Go to withdrawal >> https://yandex.com/poll/enter/BXidu5Ewa8hnAFoFznqSi9?hs=20bd550f65c6e03103876b28cabc4da6& on 倔强的程序员
  • panshenlian.com on 初涉 ML Workflow 系统:Kubeflow Pipelines、Flyte 和 Metaflow
  • panzhixiang on 关于近期求职的近况和思考
  • Anonymous on 闲聊投资:亲自体验和护城河
  • 四火 on 关于近期求职的近况和思考
  • YC on 关于近期求职的近况和思考
  • mafulong on 常见分布式基础设施系统设计图解(四):分布式工作流系统
  • 四火 on 常见分布式基础设施系统设计图解(八):分布式键值存储系统
  • Anonymous on 我裸辞了
  • https://umlcn.com on 资源链接
© 2025 四火的唠叨 | Powered by Minimalist Blog WordPress Theme