程序员人生第二年

活到老,学到老,程序员也该如此 全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高... 阅读详情
        从参加工作成为一名程序员,到现在已经整整一年了。在过去的一年里,我最大的体会就是,程序员的工作并非是想象中的那么潇洒,也不是传说中的写几行代码就可以解决一切难题的神奇。程序员的工作既繁杂也枯燥,整天和机器打交道,甚至可能一整天下来,都没讲过一句“人类”的语言。所幸的是,我还坚持着这份程序员的工作,并未想过放弃这份职业。
        回想起来,令我最难忘的就是参与开发的第一个项目,从项目的系统架构讨论,技术可行性分析,到框架的搭建,系统设计以及编码与测试,甚至上线后的运营与维护,对我而言,项目的每个阶段都是新奇的体验。经历过这些后,我更加坚定了我未来的职业道路。

参与的第一项目
        我一进入公司,就遇到了很牛的项目经理,他负责的项目就是要将公司运行多年C/S架构的应用服务系统改成B/S架构的应用服务系统,这里称为二期(后来这个项目还没立项就夭折了)。项目组包括他在内的成员总共4个,而另外3个全都是新手,工作经验基本为零——我就是这三个新人中的一员。我们就在他的带领下,学到了很多的知识和技能。
        没多久,公司给项目组分派了任务,是某大型支付网站要以B/S的方式接入我们公司的现有系统完成各大运行商的缴费业务。这就要求我们开发一个WEB接入前置系统,实现从B/S架构到C/S架构的过渡。在确定了技术方案以后,我们很快着手开发这个项目了,并且在分工和协作下顺利地完成这个项目。
        这就是我参加工作以来的第一个项目。在这次的开发中,我学到了很多很多东西。我第一次体验到,为了实现一个功能要写成千上百行代码;第一次和合作公司的开发人员共同开发,并学会了如何与对方进行有效的沟通;第一次意识到,写好项目文档很重要……其中学到的最有用的就是,团队要如何沟通和协作!那是我经历的一段最充实的日子。

十年职业规划
        刚入职的时候,我就为自己制定了一个十年职业规划。
        我把规划共分为三个阶段,每个阶段的使命及时间跨度各不相同。第一阶段为期三年,这个阶段的主要任务是做好项目开发的工作,学习基础知识,掌握基本技能以及积累项目经验,并考取程序员证书。第二阶段大概为三年,这个阶段的主要任务是从单纯的系统开发转向系统设计方面的工作,可以带领新人完成模块开发,甚至完成项目开发,并考取软件设计师证书。第三阶段大概为四年,这个阶段的主要任务是转向系统架构师的工作,并考取系统分析师证书。
        这一年是程序员生涯的第二年。为了更好的达到的目标,我细分成了三个小任务:一是每天要上论坛回答十个以上的问题,二是每周写一篇技术博客,三是准备程序员考试。
        今后我每年会对我的程序员工作做一个总结,来审视自己是否按部就班地完成职业规划的目标。

Python广度优先搜索BFS - 蓝桥13届省赛污染海域 请问这片N * M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且N * M以外的海域都为已被污染的海域)有一片海域划分为N * M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。第二行开始输入N行,每行M个数字(数字只能为1或者0,1表示没被污染的海域,0表示已被污染的海域)这块4 * 5的海域,有3块海域(绿色)没被污染,因为每一块的上下左右都被污染的海域包围。输出一个整数,表示N * M的海域中有几块是没被污染的独立海域。 阅读详情

相关推荐

构建多节点AI代理网络:OpenClaw协同框架与实战部署指南

在分布式系统与AI代理技术领域,多节点协同是提升智能体能力与扩展性的核心挑战。其原理在于通过设计清晰的通信协议与数据同步机制,使分散的智能体能够共享状态、知识与技能,从而实现1+1>2的群体智能。这一技术价值在于突破了单点AI的能力上限,为构建复杂、鲁棒且可扩展的自动化系统提供了基础。典型的应用场景包括跨设备任务编排、企业级工作流自动化以及大规模AI代理集群的管理。本文聚焦于OpenClaw这一开源AI代理框架,深入探讨如何利用模块化设计(如网状网络与任务控制中心)实现记忆共享与统一调度,解决多网关协同中的

weixin_42521032的博客 298

在技术变革大背景下,活到老学到老的生存之道

近些年,各行各业逐渐认识到了技术变革下所面临的职业危机,那么技术变革对程序员的影响到底有多大呢?今天我们就来聊一聊。

liuzhen007的专栏 723

用易经智慧看懂人工智能:64卦中的科技密码--当古老智慧遇见未来科技

在人工智能狂飙突进的今天,我们总在追问:这些代码构建的智能究竟会带人类走向何方?或许答案早已藏在《周易》的六十四卦中——这本中华文明的“源代码”,正用一种跨越时空的语言,悄悄解释着最前沿的科技秘密。

weixin_38410320的博客 2081

毕业两年总结

文章目录: 现状 想成为什么样的人 做了什么有意义的事,距离目标还有多远 认知上有什么进步 价值 职业观 人际交往 有没有更认识自己是什么样的人 有什么后悔的事 自己需要反复看的话 总结 去年七月写了《毕业一年总结》,一转眼就又是七月。过去这一年经历了不少事,回头看看,大多数选择还是比较满意的。今天趁着有空,对毕业后的第二年做个总结吧。 文章主要内容: 现状 想成为什...

张拭心的博客 shixinzhang 1万+

ncl泰勒图(均方根误差、标准差、相关系数)

ncl泰勒图(均方根误差、标准差、相关系数)

weixin_61281699的博客 8005

告别轮询!手把手教你用S32K3的FlexCAN Enhanced FIFO+DMA实现高效CAN FD数据接收

本文详细介绍了如何利用S32K3芯片的FlexCAN Enhanced FIFO与DMA组合方案,实现高效CAN FD数据接收,彻底告别传统轮询和中断模式。通过深度缓冲、智能过滤和DMA联动技术,该方案在5Mbps高负载场景下将CPU占用率从42%降至3%以下,显著提升系统实时性和吞吐量。

weixin_30906185的博客 502

不用再问我当程序员怎么样了!统一回复一下

作为程序员有几句知心话要对大家说:360行,行行转IT奉劝大家不要纯粹为了钱切读“速成班”没用的,这一行靠兴趣驱动走不远!程序员是“活到老,学到老”的职业算是吃青春饭年纪...

程序员之家 1万+

汽车ECU诊断刷写和OTA升级中的验签和校验

汽车ECU诊断刷写和OTA升级中的验签和校验

天赐好车的博客 616

程序员毕业后的第二年发生了哪些变化?

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事封面源自:Halt and Catch Fire Season 1作者拭心原标题《毕业两年总结》...

程序人生的博客 5864

Git救援:如何从误操作中恢复未提交的更改

摘要:本文探讨了误操作git reset --hard导致未提交更改丢失后的恢复方法。首先分析git reflog的局限性,随后介绍利用IDE本地历史记录(如IntelliJ IDEA和VS Code)进行文件恢复的具体步骤。最后建议使用文件系统恢复工具(如Linux的extundelete或Windows的Recuva)作为备选方案。文章强调定期提交的重要性,同时提供了意外发生时可行的恢复策略,帮助开发者尽可能挽回丢失的工作内容。(149字)

2501_90323865的博客 129

【Go语言实战】(2) Gin+Vue 电子商城

618来!!不用纠结去哪里剁手了!直接自己安排一个商场不香吗??

面向生活编程 4827

一名中专生的坎坷程序人生(上)

现在IT界流行写自传(不要嘲笑我,我是跟着潮流走。布什总统开始伊拉克战争的那句经典:Lets go)。我也以我的程序人生写一写我的程序人生之路吧(各位前辈,不要扔鸡蛋),以作为自勉。虽然我还是一名coder,但是作为我们这种背景(我说的背景是:学历低,喜欢程序,工作坎坷)的人真的感触很深。  我不记得什么时侯在网上,应该是在csdn网上看到Banaler的一篇文章《一个程序员的自白》(相

漂流的鱼.NET 1752

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

35岁转行,是我人生中最正确的选择

35岁转行,是我人生中最正确的选择

隔壁王叔的博客 1974

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SegmentFault 技术周刊 Vol.18 - 程序人生

(function repeat() { eat(); sleep(); code(); repeat(); })();

SegmentFault_Offical 975

程序人生(三):毕业第二年,涨薪100%

最近我将用系列文章,回顾十年程序生涯,一方面是对职场生涯的阶段性总结,另一方面希望这些经历,对大家往后职场生涯有所启发。 这是十年程序生涯系列的第三篇,第二篇在这:腾讯一年,离职了~。添加链接描述 “一只站在树上的鸟儿,从来不会害怕树枝断裂,因为它相信的不是树枝,而是它自己的翅膀。” 这句话是我职场前几年的写照,为了能力的提升、为了更光明的未来,在职场前两年连续跳槽两次。 2009年因为百度师兄的一番话,让我下定决心找到一家能给期权、有上市机会的公司一起成长,于是北上加入人人网。 入职腾讯之际薪资是7000

findyi的博客 422

程序员的1024|我学开发第二年|专心练剑

为此文章定调为专心练剑,是前些日看张艺谋电影《英雄》的影响,故事在开篇便讲:“人若无名,便可专心练剑。” 人若无名,便可专心练剑;人若有名,便无心练剑。我们俱不是影片中的侠客,但生活又何尝不是一场自我的修为。“练心法,练招式,练套路,练实战,练无可练,便成大家。” 以专心练剑为题,于繁忙的10月抽出几个日子来写一篇文章,我其实是及不情愿的。1024有那么重要吗? 也不过是一小群人为了在这一天寻找一点小圈子的归属感罢了。毕竟人,总是喜欢在一些特殊的日子里,做一些特殊的事。 Key Nodes 大三的枯燥生活.

匿名攻城狮 1145

月薪30K,却把自己活成月薪3K的程序员。他那有点失败的人生,展现了程序员的另一面。

功能测试想进阶自动化测试,是学Java好还是学Python好?

tingting11232的博客 373

程序员35岁以后干什么?大龄程序员现状揭秘

转:知乎问答 1、响马: 今年47,快五十了,每天编程时间平均六到八小时。 身体肯定比不上年轻人了,三十岁的时候,我连续编程时间可以在二十小时以上,经常有人第一天上班看见我在公司,第二天上班看见我还在公司。 年纪大了,明显容易疲劳,工作到两点以后,也就写不了什么了。一度身体状况也很差,过敏性鼻炎,颈椎病,肩周炎,周期性闹肚子等。 去年开始进健身房健身,同时去看康复医疗医生做姿态矫正。几个...

快乐程序员的博客 3万+

程序人生之一:一个四年 JAVA 程序员的工作经历

程序人生之一:一个四年 JAVA 程序员的工作经历 很感谢 优快云 网友liudonglovehemin 的这篇帖子,真实记录了一个 Java 程序员的 4 年来在北京工作、学习、生活的成长之路。此情此景,作为“北漂”一族的我们岂能无动于衷?之所以转载了下来,是因为确实有很多地方值得我们借鉴和参考,诸如职场、生活、技术。很多地方又是值得我们思考的。因为这些是每一个程序员都曾经、或者即将面对的...

java开发指南博客 【转载】 914

一名中专生的坎坷程序人生

   现在IT界流行写自传(不要嘲笑我,我是跟着潮流走。布什总统开始伊拉克战争的那句经典:Lets go)。我也以我的程序人生写一写我的程序人生之路吧(各位前辈,不要扔鸡蛋),以作为自勉。虽然我还是一名coder,但是作为我们这种背景(我说的背景是:学历低,喜欢程序,工作坎坷)的人真的感触很深。   我不记得什么时侯在网上,应该是在csdn网上看到Banaler的一篇文章《一个程序员的自白》(相

不会游泳 1490

代码人生与职业抉择,1024程序员节给你的5条私密忠告

auto-generated

ProceGlow的博客 834

同宿舍的程序员毕业五年之女生篇:有人怀疑人生,有人考虑出家

导读:在昨天的推送《同宿舍的程序员毕业五年后:有人年薪百万,有人月薪一万》中写了男生宿舍毕业五年的现状,而女生宿舍又如何呢?作者:五五来源:程序人生(ID:coder_l...

大数据 548

小镇做题家对大学生活以及人生的所思所想

一、高考之前 二、我的大学 三、大学感知 四、专业建议 五、IT好专业 六、人生无常我是个小镇做题家,只会拼命做题。第一年以全班第4的成绩去复读了一年(我们那私立学校过一本线就可以免费复读),第二年比第一年高了78分,虽然、、,但分数也算是给自己一个交代了。我不聪明,从初中开始,就是个差等生,我中学老师都或多或少委婉的说过,我拼尽全力也很难追赶,但我不曾放弃,一直在努力追赶,别人1遍搞懂,我10遍搞懂,郁闷、烦躁, 但我都坚持下来了。直到复读那年才发现是学习习惯问题,拖拉、没有计划、不重视基础、、

qq_44969643的博客 2万+

同宿舍的程序员毕业五年的现状:有人年薪百万,有人月薪一万

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事作者五五白天搬砖,晚上砌梦想。相信每个人有故事,程序员更是有许多事故,书写最接地气的程序员故事。...

程序人生的博客 15万+
下一篇: 学习笔记:第一章 计算机系统基础知识
代码间的舞者
博客等级 码龄18年 130粉丝 52原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值