这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历、初衷以及思考。
写的不错,转来给大家看看。

如果程序人生的话,这条路太漫长

我并非天生喜欢写程序,上高中时也没有想过程序员的生活。

我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。

当我学会一些后,发现自己特别喜欢写程序。我是八七年上的武汉大学计算机系,大一下学期才有专业课。当我有资格上机的时候,发现电脑世界太美妙,就一头扎进去。

当时用的是 Motorola 68000 (相当 于 Intel 8088), 540K 的内存,运行的 UNIX 操作系统,八个人一起用。

大二学PC,又过了一学期,开始出现在老师的实验室,帮忙干活,当时就写了现在很多人用的 RI (RAMinit, 清内存的小工具, 看来我还是最早一批写 Shareware 的人)。

又过了一个学期,开始和校外的公司接触。大二暑假,也就是1989年8月,和一个朋友组建了 Yellow Rose 软件小组,写了我第一个商品软件 BITLOK 0.99。后来自己创业办过公司,也写过一些其他的软件。

大学毕业后,分到研究所,不太适应那里的气氛,就在1992年初加入金山软件,开始了职业程序员的生涯。后来成了金山软件研发部门的主管,但我一直都是一线的程序员。

编程的感受

程序员活在自己想象的王国里

我刚接触电脑就发现电脑的妙处,电脑远没有人那么复杂。如果你的程序写得好,你就可以和电脑处好关系,就可以指挥电脑干你想干的事。

这个时候你是十足的主宰。每你坐在电脑面前,你就是在你的王国里巡行,这样的日子简直就是天堂般的日子。搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。

电脑里的世界很大,编程人是活在自己想象的王国里。你可以想象到电脑里细微到每一个字节、每一个比特的东西。

我爱编程这个工作,可以肯定我会干上一辈子

不少人认为程序员最多干到三十五岁就可以收山换环境了,脑子也差不多该歇歇了,体力也不支了。并认为写程序是年轻人的事情,到了一定岁数,估计没什么人再当程序员了。

当我刚有一点本事的时候,我也和大家一样觉得编程辛苦,也想三十岁后干别的。当我年长一点后就发现了自己的无知。

一个人大学毕业就二十一二岁,有点水平的时候可能二十五,接着就是过日子诸多事情。一切搞掂的时候,也许就是三十五岁。如果这样的话,我们就不用选择程序人生的道路。搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。

电脑进入中国时间并不短,但真正大规模开始用,还是八五年 PC 开始的,因此国内真正写电脑程序的人最长也就写了十几年(不知道是否还有这样的人)。

由于电脑应用在国内时间比较短,国内开发的主力是三十五岁以下的年轻人为主。但这不表示程序员如同红粉佳人般的容易衰老。美国主力工程师以三十四十多岁的人为主。

开始的时候,我们觉得我们没有什么不能做的(现在还能听到这样的豪言壮语),而且更要命的是好象我们特别聪明,特别适合开发软件,比老外强得多。

当我们真正接触那些杰出的开发人员的时候,发现他们太厉害了,都有十多年的开发经验。虽然也有很多年轻人做了很多好东西,但决大多数的产品出自这些有丰富开发经验的程序员的手。

刚毕业的时候,编程不仅仅是爱好,而且也成了一辈子的工作。整天不知道写些什么东西,觉得特别没劲,找不到感觉,特别灰心。

后来,才明白,只有全身心地投入,程序才会有感觉。

写程序的活特别费脑子,也特别累,但我喜欢,可以肯定我会干上一辈子,虽然我没有打算一生只干这一件事。用一生来编程序是一件既容易又困难的事。

如果碌碌无为,为交差写点程序,这样的日子太好混了。但如果想全身心地写程序,写十年就不是一件容易的事。

现在我不少朋友都洗手了,有时我也想“用什么电脑呀,Windows 外的世界不是也很大吗?”。

面对电脑的时候,立刻顿悟:写程序还是自己最擅长的事,也是最喜欢的事。

如果你也想要入门程序员这个行业,那么下方这份学习资料正好会适合你,需要的话可以直接扫描下方二维码领取。

安卓入门学习资料

Java语言基础从入门到熟悉

一. Java综述

  • 面向对象
  • 设计模式

二. Java基础

  • 基础笔记
  • 接口与抽象类

三. class

  • Java 类的基础,class 基础
  • Java 类初始化顺序

四. 面向对象

  • 抽象,封装,继承,多态
  • 多态

五. 容器

  • Java集合类
  • ArrayList介绍
  • Map

六. 多线程

  • 线程简介
  • Java 读写锁

七. IO

  • Java读写文件
  • Java读写xls文件

八. 正则表达式

  • 使用正则表达式
  • 查找特定字符串
  • 提取特定字符

九. 日历

十. 注解使用与简单说明

十一. Java使用加密算法

Kotlin语言基础从入门到熟悉

一. Kotlin系列简介

  • 系列大纲

二. 新建项目

  • Hello World
  • 变量

三. 概念介绍

  • 包的定义和使用
  • 程序入口
  • 标准输出
  • 方法
  • 变量

四. 常用写法

  • 方法参数的默认值
  • 过滤列表
  • 检查某个元素是否在集合里

五. lambda

  • 什么是 Lambda 表达式
  • 简化 Lambda 表达式
  • 从 Lambda 中返回
  • Lambda 表达式的类型

六. 高阶函数

  • 高阶函数介绍
  • Kotlin常用标准高阶函数介绍

七. 扩展函数

  • 何为扩展函数
  • 扩展函数的解析为静态的

八. 协程

  • Kotlin协程入门
  • Kotlin协程基础
  • Kotlin协程取消与超时

Android 技术栈从入门到熟悉

一. 开始

  • 新建App工程
  • Android项目使用kotlin

二,Activity

  • Android Activity综述
  • Activity 生命周期
  • Activity 启动,携带参数启动

三. Service 服务

  • Service 综述
  • 后台服务
  • 启动前台服务
  • IntentService 分析和用法

四. Broadcast 广播机制

  • 广播机制 Broadcast 介绍与使用
  • Android 监听屏幕亮灭

五. Fragment

  • Fragment 基础概念
    -Fragment 加载方法

六. res应用资源

  • res资源目录简介
  • shape的绘制和使用
  • Android Button,TextView背景增添动感

七. 权限

  • Android 添加自定义权限

八. TextView 显示文字

  • TextView简介
  • textStyle
  • Android 字体(字库)

九. EditText 用户输入

  • EditText 监听回车
  • EditText 光标移动与选择

十. Button 按钮
十一. ImageView 图片显示
十二. Layout布局
十三. DrawerLayout侧滑栏
十四. RecyclerView 显示列表
十五. 多线程
十六. IO 操作
十七. 存储
十八. NetWork 网络
十九. ProgressBar进度条

二十. View
二十一. 自定义View
二十二. 动画
二十三. WebView
二十四. StatusBar
二十五. Camera相机
二十六. Media
二十七. Bluetooth 蓝牙
二十八. WiFi连接
二十九. 获取手机当前角度
三十. launcher
三十一. AIDL
三十二. zip
三十三. Binder
三十四. Notification 通知
三十五. PackageManager
三十六. RTFSC
三十七. 设计模式
三十八. 第三方库
三十九. Android Studio
四十. 模块化
四十一. Gradle
四十二. NDK
四十三. 调试

Android Jetpack 全家桶全面学习

一. 介绍

  • 在 Fragment 之间共享数据

二. databinding

  • 使用databinding
  • 数据绑定
  • 使用可观察数据对象ObservableField

三. LiveData 事件传送

  • 准备数据类型
  • layout
  • Activity设置

四. LifeCycle 生命周期

  • 活动
  • 状态转换

五. WorkManager

  • 入门示例
  • WorkManager工作约束,延迟与查询工作
  • WorkManager定时任务

六. ViewModel

  • ViewModel 概览
  • Activity使用ViewModel

七. 数据库

  • 开始使用Room
  • 实体类介绍

八. Paging

  • 从使用角度看结构
  • 分析准备


  • 需要完整版资料的可以扫描下方卡片免费获取(承诺100%免费)↓↓↓

高级程序员不是追求的目标

有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。

一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。

成为一个高级程序员并不是件困难的事。

当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标。

编程不仅仅是技术,还是艺术

有人认为编程是一种熟练工种,也有人把编程说成是艺术创作。这两种意见争论比较激烈。

我们换个工种来看,石匠应该是熟练工种,属于工人,更和艺术似乎沾不上边。但正是这些石匠,给我们留下多少文物古迹,如乐山大佛、莫高窟等等。应该说这些石匠给我们留下了无穷的文化财产。

现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战。一名普通程序员接受编写某一模块的任务后,往往只是写代码,发挥的余地很小。

在大项目中,很多程序员只能了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事”艺术”创造,更多的时候是感到自己在从事重体力劳动。

有的时候还担心自己苦苦参与的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬件的发展,操作系统的换代而过时……

我认为编程的工作和石匠比较相似,有技术活,更多的是体力活。不管怎么说,写出一个好软件不是一件容易的事。

这两种想法都有片面性,编程应该说两种属性都有。

编程不仅仅是技术,也还是艺术。

编程是技术活,才有可能大规模进行,才会有软件工程和软件工厂。

也正是编程是艺术,才会有如此多的好产品,让大家如痴如醉。

技术进阶分享

在这里,我想告诉大家,学习是终生的事情,也只有真正掌握了技术,你才能有能力做自己的选择。

我这里还有一个带过我的阿里大佬前辈整理的对标阿里 P7 的Android高级架构师的一套大神学习笔记。

大家可以去看一下,如果有需求,可以直接点击此处获取:
耗时298天,8大模块、3382页66万字,Android开发核心知识笔记!

这份学习笔记绝不是在网上那种打包下载的廉价资料,而是大佬他自己需要学到某个方向知识的时候,需要看了,去网上挨个找的,最后汇总而成。

这个笔记分为几个模块,内容并不算多,但贵在精。

大家可以在这里获取,对于想成为Android架构师的朋友帮助非常大,且十分系统.

部分资料展示:



后面的内容大家有需要的可以自己下方二维码免费领取收藏查阅,我这里就不多说了。

雷军做程序员时写的博客,很强大~相关推荐

  1. 雷军做程序员时写的博客,太牛了。。

    来源:雷军的博客 blog.sina.com.cn/leijun 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考. 如果程序人生的话,这条路太漫长. 我并非天生喜欢写程 ...

  2. 雷军做程序员时写的博客,太强了

    来源:雷军的博客 blog.sina.com.cn/leijun 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考.写的不错,转来给大家看看. 如果程序人生的话,这条路太 ...

  3. 雷军做程序员时写的博客,太牛了!

    这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考.写的不错,转来给大家看看. 如果程序人生的话,这条路太漫长. 我并非天生喜欢写程序,上高中时也没有想过程序员的生活. 我 ...

  4. 雷军做程序员时写的博客

    欢迎关注方志朋的博客,回复"666"获面试宝典 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考. 写的不错,转来给大家看看. 如果程序人生的话,这条 ...

  5. 雷军做程序员时写的博客,很强大!

    点击关注公众号,实用技术文章及时了解 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考. 写的不错,转来给大家看看. 如果程序人生的话,这条路太漫长 我并非天生喜欢写程序 ...

  6. 雷军做程序员时写的博客,真心强啊!

    来源:blog.sina.com.cn/leijun 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考.写的不错,转来给大家看看. 如果程序人生的话,这条路太漫长. 我并 ...

  7. 雷军做程序员时写的博客太棒了

  8. 雷军做程序员时写的文章,太牛了!

    来源 | 雷军的博客 如果程序人生的话,这条路太漫长. 我并非天生喜欢写程序,上高中时也没有想过程序员的生活. 我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选 ...

  9. 雷军做程序员时所写博客

    来源:雷军的博客 blog.sina.com.cn/leijun(文章已经不见了,所以没法发转载文章!) 这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历.初衷以及思考.写的不错,转来 ...

最新文章

  1. python的切片和索引是什么_NumPy 切片和索引
  2. 以人工智能的卖点,华为携Mate 10向苹果发起新一轮攻势
  3. MySQL基本命令 (二)
  4. 【Python小游戏】当当当当 万众瞩目得《滑雪大冒险》来啦~(附源码)
  5. linux——管理系统设备之vsftpd服务
  6. 二叉树的蛇形遍历 leetcode 103
  7. leetcode122. 买卖股票的最佳时机 II
  8. [java基础问题] Exception 和 Error
  9. 数据结构期末复习(に)--链式栈定义及使用
  10. c语言学生管理系统write to a text file,语言编程学生成绩管理系统.doc
  11. ios 控件徽章_一行代码给你的控件加上徽章(Badge)
  12. SAS Viya应用简介
  13. 利用钩子技术控制进程创建(附源代码)
  14. JavaScript 实现:输出斐波那契数列
  15. Bzoj1070 [SCOI2007]修车
  16. Linux基础命令大全
  17. Android Webview posturl 传参被encode问题
  18. 【软件工程】图书馆自习室及座位管理系统的分析与设计
  19. 购物中心弱电智能化系统工程施工方案
  20. office韩文版本

热门文章

  1. Navicat for MySQL打开之后没有显示表
  2. 将图片切patch并重新组合
  3. 微信iPad协议-附近人
  4. 计算机网络——华为QINQ详解及其实验配置
  5. matlab编程中函数randperm用法
  6. c语言除法向下取整是加一么,【向上取整/向下取整】C语言向上或向下取整 函数...
  7. opencv 异常报错Microsoft C++ 异常: cv::Exception,位于内存位置 0x00000058F84FEC20 处
  8. 家里的微店开通了,欢迎大家买柿饼
  9. 【前端GUI】——对一些优秀网页设计作品的分析心得
  10. android 热更新nuwa