我的前同事,阿里大牛的技术感悟

以下内容转自前同事现阿里技术大牛-王怀利

——

现在想想,从业十年了,现在做的活,都不如我大学的时候做的项目,那么具有“技术含量”和挑战。

一个是,我用最便宜的12M单片机开发的计时算法,帮老师赚了一笔钱。

当时研究这个算法的时候,非常着迷,课也不听,就在课堂上冥想,当时总结了一个规律,时间横向是单向的,但纵向是多维的,利用这个特性,这个计时算法,在省计量局测验的时候,突破了这个芯片的极限,简直完美。

第二个是,接了一个外包,对方老板,给了我一笔钱,整个方案我自己设计。从芯片选型,到电路设计,到电路焊接,到操作系统编写,到嵌入式应用程序开发,到组建局域网,到PC机上Python开发,全是一个人开发的。

令我骄傲的有两个,一个是当时成本很低的情况下,电路板只有一次制板机会,结果我成功了。芯片完美运行。最后发现,仅仅是一个地线没连接,但无伤大雅。另一个是依旧是廉价单片机,但我给它移植了TCP/IP协议栈,当时实验室里一位清华的高材生,始终不相信,这可以做到,但我确实做到了。据我所知,当时我是国内论坛里第一个吃螃蟹的人,不过它有致命的缺陷,就是吞吐率不高。

应了那句话,面试造火箭,进去拧螺丝。

有趣的是,我一次面试,我说我移植了TCP/IP协议,对这套协议有深刻的理解,他立马问了一个协议的概念,我却答不出来,于是他不相信我所说的~

===

我和这位同事在恒大认识,当时他做事情还是很激进,对项目的风险点把控很好,特别是,如果遇到一个比较难的问题,他会非常的兴奋,这种兴奋觉得他对这个事情很重视。

然后,最近在腾讯做项目,接触的一位同事,我从他身上看到了很多闪光点,这种闪光点和我这位前同事很像。

做技术项目,是要把难点给汇总出来一一的给出解决方案的,包括正常,不正常的,如果我们每个方方面面都考虑到了,并且有了解决的办法,这样的项目才会是健康的。

但是,不可能所有的问题都可以解决。

所以,就有了容错的办法,就是在不正常的时候,我们怎么保证最坏的情况下还是可以正常运行?

学生时代,做的很多东西,大多都是功能性的开发,比如刚学习单片机的时候,我点亮了一个数码管,我非常开行。我完成了流水灯,我也很开心,到后面我移植了一个系统,我点亮了一个LCD屏幕,我自己做了一个项目。

这样的进步都是飞跃性的。

但是到了后期,到了在产品公司做项目的时候,我们有时候为了抠一个参数,调一个效果,可能需要花费非常大非常大的精力。而这个时候,你感觉不到技术的提升,也感觉不到自己的作用,这种时候肯定是焦虑不安的。

现在,我能明白,诸葛亮带着几十万大军,却拿不下一个小小的陈仓。当然,我也明白,张辽的几百突袭部队,就能奇袭孙权。


推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法熟记-排序系列-堆排序

1. 简述 假设待排序数组为 int array[], 数组长度为n。 主要是利用堆的性质。对于升序排序,使用最大堆。 首先,建堆,使用递归后根序遍历得方法,通过交换元素,保证根元素比孩子元素大。 第1趟,堆顶…

oracle入库的速度能到多少_多线程能提高Oracle的入库速度吗

多线程能提高Oracle的入库速度吗最近常常和同事们讨论“系统架构”,其中有不免提到如何使用“多线程”来改善系统性能。有些同事普遍有一种“认为”:他们认为“多线程”是改善系统性能的“灵丹妙药”,他们简单的认为,“多线程”导…

数据结构-- 线性表之链式存储

https://www.cnblogs.com/ZWOLF/p/10604252.html

那些年,我和发哥在恒大的日子

在广州上班那会,我们在恒大中心旁边的利通大厦上班,我和薛总每天一起上下班,那时候宿舍还有盼盼,有时候玩开心的时候,我就会跟他们说,等过了很多年后,我们要写一本说,书的名字就叫做…

十六进制转化为十进制

package lsh.element.numbersystem;import java.util.Scanner;/*** * desc 有意思的地方:两种思想得到的结果都是正确的,但是超出int类型最大之后,错误值却不同* * author * LSH* 2018年9月23日*/ public class HexToDecimalConver…

回来了

三年了 又回来了 未来去哪里转载于:https://blog.51cto.com/itcnjd/589429

KEIL高级调试——条件断点

在线调试程序时,打断点是非常有效的一种方式,配合单步调试,可以快速定位问题。但是有时候,手动打断点用起来不是那么方便。比如想要在一个循环的第N次停下来,如果手动打断点,那就要不停的点击单步运行&…

emailjava中怎么校验_Java使用注解实现参数统一校验功能

在项目开发中,当使用配置文件的时候,需要对一些配置参数进行合法校验,如果不存在则会抛出异常或者提醒用户重新修改配置文件后运行系统。 以前的做法就是读取到配置文件后,每个配置项挨个检查,写多个if判断是否存在问题…

原来保险丝熔断原理是这样的

如果电路中的保险丝熔断了,想亮起一个灯来指示,可以考虑用这个电路:这个电路的工作逻辑:当保险丝F1正常工作时,只亮起绿灯LED2。当保险丝F1熔断时,熄灭绿灯LED2,亮起红灯LED1,告诉人…

redhat6 使用raid5的系统安装

raid5安装步骤(有三个磁盘,分别是sda/sdb/sdc) 1.独立给/boot创建一个分区(可以在创建software raid前后创建,但是不能加入raid software,例如:一个磁盘为sda,那我们把sda1作为/boot的独立分区&…

docker 定时重启脚本_使用 Go 添加启动脚本

简介实践困惑总结当前部分的代码简介虽然 Makefile 能很好的整合各种命令, 是一个非常方便的工具. 但启动脚本也是必不可少的, Makefile 更多用于开发阶段, 比如编译, 单元测试等流程.启动脚本的作用是控制程序的状态, 管理程序的启动, 停止, 查询运行状态等.实践直接上脚本了:…

SpringBoot在自定义类中调用service层等Spring其他层

解决方案: 1.上代码Component public class ServerHandler extends IoHandlerAdapter {Autowiredprotected HealthDataService healthDataService;private static ServerHandler serverHandler ;PostConstruct //通过PostConstruct实现初始化bean之前进行的操作pu…

为什么我的U盘空间变小了:图解 FAT 文件系统基础知识

作者 | 鱼鹰Osprey转自 | 鱼鹰谈单片机FAT 文件系统是什么,当你格式化 U 盘之后 U 盘发生了什么,为什么删除的文件还可以再恢复?买的 U 盘明明写着 16 G,实际却只有15 G,这里隐藏了什么事实?FAT 文件系统随…

持续集成(CI)- 各种工具的资料总结

为了实施CI,必须使用工作的支持,以使整个过程的自动化进行,以下把该过程涉及的各种工具汇集一下 必须的工具和功能 源代码控制系统 微软的工具: Microsoft Team Foundation Server (TFS) 或VSS 开源工具: 服务端: Subversion&…

如何用python制作动画的软件_大牛Python程序员制作3D动态可视化教程

Bar3D(3D 柱状图)name -> str图例名称x_axis -> strx 坐标轴数据。需为类目轴,也就是不能是数值。y_axis -> stry 坐标轴数据。需为类目轴,也就是不能是数值。data -> [list], 包含列表的列表数据项,数据中,每一行是一…

Python开课复习10

# 储备知识:# 函数的使用应该分为两个明确的阶段# 1. 定义阶段:只检测语法,不执行函数体代码def func(): print(from func)# 2. 调用阶段:会触发函数体代码的执行# func()#先定义后调用# 示范一# def foo():# print(from foo)# bar()# foo()# # 示范二:# def bar():…

如何DIY一款属于自己的HID键盘?

这是一个自定义游戏键盘,带有四个热插拔机械键和可自定义的RGB LED。它由STM32F103Cx微控制器供电,并通过Arduino IDE进行编程。文章末尾分享该项目资料。功能概述:快速STM32F103Cx微控制器可实现低输入延迟。USB全速,轮询速率为1…

给要学习.NET(c#语言)的新手一些学习方法

推荐两本书 第一本是《21天学通c#语言》 可能这本书的出版时间有点早,一些新的技术没涉及到,但是作为基础这本书是很不错的。 【原 书 名】 Sams Teach Yourself C# in 21 Days 【原出版社】 Sams 【作 者】(美)Bradley L.Jones…

arm9重启ssh服务_部署ssh使用rsa登录配置

什么是ssh?ssh专为远程登录会话和其他网络服务提供安全性的协议,利用ssh协议可以有效的防止远程管理过程中的信息泄露问题。使用ras公钥登录linux操作环境本地服务器:win10 远程服务器:centos 8 git环境生成rsa文件在windows机器上&#xff…

Android MVP模式简单易懂的介绍方式 (一)

Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式。看了很多文章,基本上都是长篇大论,一堆理论。但这里,我们不从理论出发&#xff0c…