10年+程序人生感悟

前段时间重回CSDN,有种物事人非的感觉。互联网是个好东西,只要你愿意,就能够把很多很多东西记录下来,不需要随身携带却能随时查看,在你回头看的时候,能够看到完整的足迹。
走上程序人生这条路已经十年多了,简单回顾一下走过的路:
2002年毕业,到上海工作。当时的一家上市企业进军软件业,我从北京面试被招聘到上海,不到一年后,这家企业因为转型失败,整个软件部门撤销。
2003年,频繁换工作。第一家是在销售型公司做网站,第一个项目结束,主动离职。去了一家很小的公司做HR系统,几个月后辞职,换到一家还算正规的公司。
2004年,因为家里发生一些事情(家在天津),回家照顾妈妈住院,一个多月妈妈出院后,决定不再回上海,在北京找工作。
2004年,在北京某对日外包公司做程序员,几个月后,被升级为SubLeader,一年后辞职,被同事介绍到一家做民航的软件公司做开发。
2005-2009年,没有换过工作,在这家公司享有期权,由于长期性的出差,2009年,进入现在的行业。
2009到现在,公司变更频繁,但我们的团队始终是完整的,也在这个行业里有了一些好的案例和口碑,现在是团队创业阶段。
--------------------------
总结一下,基本上这10年是“入门”-“学习”-“锻炼”-“沉淀”-“发热”的这个过程,由于不是科班出身,2002年的工作只是入门,接触了很多新的概念,至今受益。2003年频繁换工作积累了很多实用的编程方面的技术,2004年以后,可以说基本出师,能够自己担当一些常规项目、自己独立进行一些技术探索,看书也不在追求纯实现层面的东西了。2004年以前的工作经历主要是从身边人吸取知识和技能的阶段,2005年以后自己的技术知识体系逐渐成熟,这以后除了从书上和网上学习之外,从程序方面一直都是自我完善的过程。
--------------------------
下面大概谈一下感想:
1 写程序、做软件是一种职业,作为一个技术特质的程序人,初始的爱好和热情并不能让你的生活和职业生涯变得丰富,少数人可能最后演变为技术牛人、更多的普通的程序员们,最后面临的是无奈的被淘汰或被边缘化。这是大环境的问题,不是个人意志力的问题。
2 不要把程序作为生活的唯一,这世界有太多美好的、我们未知的东西和领域,技术人的特质是以探索未知为乐趣。多学习方方面面的东西,把自己知识触角伸向多个领域,视角、心胸、思维方式、甚至性情都会发生变化,这对于一个人来说是真正一生受益的东西,即便对于程序分析和设计来说,也会有很大的好处。很多道理是相通的,程序员千万不要局限于技术本身,否则自己的路会越走越窄。
3 虽然跳槽可以积累一些表面的经验,但不要频繁跳槽。虽然我在职业生涯前面跳槽非常频繁,但真正让自己集成沉淀和提升是在后面。行业知识的积累和深层次解决问题能力的积累,和单纯的用程序实现一些东西是两个不同的概念,如果说程序实现是打拳的套路,那么你对问题的分析和提炼能力、对问题的理解和解决能力则是内功。一定是很长时间的积累和沉淀的结果。
4 选择程序这条路,要受得住寂寞,也要有坚持。虽然不要把技术当做唯一,但又不能不关注你所涉及领域内新技术的发展和动态。这是你判断自己是否老化的标志。一旦技术老化,你就失去了前进的基本动力。形成自己的知识体系和知识更新系统,是你不被淘汰的重要保障。
5 千万不要以为程序员很牛,在这个社会分工里,程序员往往是食物链最末端,也就是说,你面临的是从食物链上端开始的几层甚至10几层的剥削,意识到这个,自己对工作的态度、对职业生涯的考虑和选择都会更成熟。
6 不要用钱来衡量程序员的水平、成功与否等等。其实不光是程序员,对这个社会上任何人都是一样,你自己生活快乐不快乐,生活质量如何,并不完全取决于你有多少银子。正确的价值观也是你在技术上能否走远的一个重要因素,如果只向钱看,劝你转行去做销售。如果你做技术的同时乐在其中、对自己有正确的认知,逐渐进化成金子以后就自然会发光。

7 不要怨天尤人,好也是你自己,坏也是你自己,做你自己最重要。



1 尽早的选对方向,坚持下去。
记得很多年前,大概也是在csdn,我写过一句话“很可能这条路走过很多年,才发现在原来出发的地方有更好的路,但是已经再也没有办法回来”。在我们人生中会面临很多次选择,每个选择都是不可逆的,从这个角度看,人生很残忍。但是这种唯一性也同样造就了每个人不同的人生,每个人都可以活出自己的精彩,最怕最怕的,就是反反复复犹犹豫豫,浪费了时间就是浪费了生命。生命给予我们的时间比我们想象的要少很多很多。
2 关于迷茫
迷茫是人生旅程的开始,没有人生下来就有人生目标。在自己的认知范围内选择一条路,坚持下去,自己要做的就是不断的修正,路就会越来越清晰。另外,多留心借鉴身边人的经验,能够少走很多弯路。
3 关于持续的学习
我相信这样一个道理,好的大学和不好的大学,最多就是4年的差距。如果能坚持每天学习1个小时或半个小时,10年以后,你所得的远远胜过普通意义上的好大学或好老师。不要说不知道学什么,一切未知的东西都可以作为你学习的对象,多了解,才会知道哪些是你需要的,哪些是不需要的。积少成多,量变终会质变,"不积跬步无以至千里"。
4 关于困难
我们直觉里是讨厌困难的,源于人的惰性。能够把困难踩在脚下的人,是永远的胜者。战胜困难的背后是战胜了惰性、战胜了自己。
5 关于比较
太多的人,眼看着别人如何如何,心有不甘抑或唧唧歪歪或心生羡慕。其实,只看到贼吃肉没看到贼挨打。背后永远有你看不到的东西,包括基因。更何况,多比无益。比姚明、比盖茨、比奥黑,那我们不是会无比的自卑,即便把他当成自己的目标,这个目标也太过浮漂了。一个成熟的人,个人的成就感应该是来自于和自己过去的比较,而不是其他。多和自己的昨天比,最能看到问题。
6 知易行难
说起来容易,做起来很难,有些很简单的东西,只有坚持下去,变成自己的原则或理念,融进自己的血液,才会真正受益。

另外,借用10年前听到的一句话“做技术的再坏也坏不到哪去,做销售的再好也好不到哪去”(销售勿喷~~)。CSDN上的朋友大多是技术特质的人,都是好人。有人不喜欢我的帖子,扔个板砖或喷点啥,请自便,只要您高兴就好,新年快到了,不打不闹不热闹,很乐意为您增加点节日气氛。

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值