您的位置  > 互联网

1024程序员节,看看一个程序猿的奋斗史

本文来自微信公众号“编程无界”“假不立”投稿

十月,金秋时节,本应是一个丰收的时节,但因为同事们陆续离开,我感到有些伤感。 突然想起来,自从我参加工作以来,已经过去五年了。 当年那个年少无知的年轻人,如今却流落街头。 大摇大摆地走过市场时,孩子们看到他就会喊叔叔。 回首这五年,有悲伤与无奈,有幸福与期待,也有不断的蜕变与成长。 趁着国庆假期,写下这一路上的心路历程。 对我来说,这是一个总结和监督,对读者来说,这是一个故事。 听了你就会明白。 希望能给你带来一点启发。 这就足够了。

1. 毕业=失业?可能

2013年6月底,虽然我被某软件公司(国内最大的软件开发商)政府业务部门录用,并被寄予厚望成为核心员工,但由于对家乡、对家乡的眷恋,对于南方的热爱,我还没有被录用。 拿到毕业证书后,我怀着巨大的期望,拖着行李箱和口袋里的几百块钱,从山东乘坐专线巴士返回广州,历时30多个小时。

“我是新来的,请给我一些建议。”一踏进广州,我就热情地对广州说。

我以为,作为985/211大学的毕业生,我被中国最大的软件服务商寄予厚望,我会成为广州的抢手货,不愁吃、不愁穿、不愁offer。

然而现实是,广州的公司并没有给我太多建议,反而抛弃了我很多。

到达广州的第二天,我就开始申请海外简历。 也许是因为985的缘故,我收到了很多面试通知,很忙,但结果却适得其反。 有些是因为我不喜欢自己缺乏经验,有些是因为我缺乏经验。 基础不够好,有的是因为技术要求太高……总而言之,但总之,我没有拿到offer,所以后来我就失去了信心,所以我一次又一次降低了自己的标准,修改了简历,改成了实习生,甚至还向室友学习。 我尝试了几天AS3,并向一些游戏公司投了简历,可惜没有用。

每次我回到公寓,室友都会关切地问:“你还没收到offer吗?”

每次我打电话回家,家人总是问:“你找到工作了吗?工资怎么样?”

甚至到最后,家人都对我失去了信心,打电话给我说:“我们想去旅行,你怎么不回来看看你家呢?反正你也找不到工作了。” ”。

……

种种打击,心里满是伤痛

毕业前,我充满希望,想凭借自己的力量掌控一切,至少找到一份好工作。 现在现实摆在我的面前,毕业=失业。 对我来说,这不是一个假设,而是一个真实的命题。

住所是一个只有10平米的单间,却住着三个人。 两个人睡在床上,我睡在床边的地板上。 每当夜深人静的时候,我总能感觉到地板上传来的冷气,直接渗入我的身体,刺骨。 凉爽让我彻夜难眠。 我想摆脱这一切。 我想摆脱这种困境,更加努力地准备笔试。 无论薪资多少,公司大小,距离远近,只要你把面试通知发给我,我就去面试。

我记得最困难的时候,我几乎身无分文。 我没有能力申请信用卡,也不敢向家人要一张。 每天的午餐,室友都会从公司带来盒饭。 晚餐,到住处旁边的一家餐馆吃了三道菜,8元钱。 小店里钱、米、洗锅水都是免费的,可以随意吃喝。 有一次我和大学舍友聊天,聊到这件事,舍友说我送你500块钱,因为异地取款有10块钱的手续费。 为了省下这10块钱,我步行到三公里外的一家银行取钱(当时还没有摩拜、ofo等共享单车)。

最终,所有的努力都得到了回报。 7月底,中山大学旁边的一家小型外包公司给我发了offer。 那一刻,我感觉自己很突出。 一切都变得那么友好,天空那么蓝,空气那么清新。 很清爽,地沟油好香,连我睡觉的地板都是凉的。

作者推荐:

作为一名毕业生,千万不要高估自己的实力。 过去的辉煌,代表着过去。 每一次采访都要以一颗谦卑的心认真对待。

不同的城市对毕业生有不同的需求。 北方(北京、大连、济南等)的公司更关注985学校的状况,认为你是潜力股。 因此,在北方的公司简历中,多写一些在学校获得的荣誉。 为面试加分不少。 南方(广州、深圳等)的公司更看重你目前能为公司做什么具体的工作,能给公司带来多少效益。 因此,在南方公司的简历中,多写一些自己的项目经历和实习经历。 面试加分。 当然,这只是个人经验的总结,不能一概而论。 应将其用作参考。 笔者更喜欢每个公司有不同的简历内容。 了解公司的招聘偏好将有助于您找到自己喜欢的工作。 。

一定要坚定自己的方向,不要因为工作难找而转向其他方向。 这样只会让你浪费更多的时间和精力,得不偿失。

2.offer=工作? 不确定!

我迫不及待地告诉亲朋好友,仿佛这件事值得全国庆祝。

可能是因为太高兴了:

我第一天上班:我迟到了几分钟。 当我的上级看到我时,他什么也没说,并给了我一个任务:“使用SSH写一个简单的博客。” 纸面上看起来是一个很简单的任务,但是因为只给了我一句话,没有其他的,甚至没有告诉我它有什么功能,界面是什么样的,这使得它变得更加困难。 于是我先去网站上找了一些管理系统的前端模板,但过程中我很犹豫。 ,感觉兼容性不好,感觉太大了,大材小用,感觉……

我上班的第二天:我没有迟到,但我惊讶地发现我的上司比我早到。 我赶紧回到座位上,然后我的上司也转过身来。

“怎么样了?”

我连忙说:好了,框架搭建好了,一些功能也实现了。

说完我心里有些愧疚,心想今天还是多花点时间去找个好的模板吧。 我实在是慌了,赶紧找了个模板,开始搭建开发环境,下载下载jdk……我发现网络很差,于是我等啊等啊等。 ,下午终于搞定了。 我匆匆搭建了一个ssh项目并开始编码。 没多久就下班了,也没有加班,心想未来还很长。

上班第三天:一到公司,上司就问我进展如何,可以给我演示一下吗? 我顿时慌了,没办法,只能硬着头皮开始项目。 他看了我做的几个功能后,就离开了。 没多久,HR过来递给我100块钱:

“抱歉,三天的考察期到了,你没有达到我们的预期,这是公司对你三天工作的一点补偿。” “为什么?为什么?具体原因是什么?我不要钱,请相关人员给我。”我生气地说,“解释一下,这就是领导的意思。” 我对此不是很清楚。 把钱拿回来就行了。”她把钱放在我的桌子上就走了。

我非常难过。 坐在我面前的那个已经成为我“前上司”的人没有回头对我说一句话,也没有给出任何理由。 我更生气了,直奔经理办公室,敲门,询问总经理。 为什么你要这样对待我。

经理示意我坐下,别生气:

“不太适合你,我给你讲个故事吧,我大学宿舍里有一个同学,毕业后我写代码,他跑业务,现在他当了区域经理,开着保时捷。 ..”

听完这句话,我的心都凉了。 寻求正义已经没有意义了。 在一个不被老板认可的公司,注定不会长久。 我说:“谢谢老板这三天对我的照顾,希望公司尽快好起来。” 我上市了(当然,我每年都会查看这家公司的经营状况,第三年终于破产了)。”我回到座位上,默默收拾好东西,关掉电脑,决定走之前把100我带了。

作者推荐:

不要以为拿到offer就一定能找到工作。 每个新员工都会有几天的考察期和3到6个月的试用期。 只有过了这两个时期,你才能真正受到《合同法》的影响。 》受到保护,此外,如果公司在两段时间内想解雇你,不需要付出任何代价。

作为一名新员工,刚到的时候,我一定要虚心地与老同事互动,请教。 如果我接到任务,我不会自己做,而是请教老同事怎么做; 在下载开发软件时,公司通常都会有相应的ftp工具库,这样可以节省大量的构建时间,提高开发效率。

对于新员工来说,你的上级将在两个时期内成为你的上帝。 如果你不取悦他,你就会付出代价。

有些常识是不可缺少的:比如不要迟到,比如进度慢就主动加班……

3.困境=绝境?唯有努力

兜里装着一百块钱的巨款,我回到住处,点了最贵的猪蹄饭,平时我都舍不得吃。 它根本没有味道。 回到住处,室友问我为什么中午才回来。 我说:“我……我被打开了。”我的鼻子有点酸,差点哭了,室友不敢再问了,连忙让我休息一会儿。

我躺在地板上,脑子里一片空白。

我该怎么告诉父母我被踢了?

我该如何面对那些关心我的人。

我该怎么找工作。

我真的有那么糟糕吗?

难道我真的不适合写代码吗?

或许…

没有克服不了的障碍,只有克服不了的自己; 不管你有多悲伤,你都必须努力。 躺在地上一会儿,我就起身继续投简历。 这次我重点关注了我所投资的公司所关注的行业,选择了一些我喜欢投资的行业,比如我在一家体育和电商公司工作,第二天就收到了面试通知。 我把一切都准备好了,甚至提前了半个小时到达了面试公司楼下。 这是社区中的一家公司。 一进门瞬间,我就有些失望了。 它看起来像一个家庭作坊。 大厅里有几台电脑,两名员工正盯着屏幕。 我说我是来面试的,一个看起来像是HR的女孩起身走了进去,过了一会儿,一个身材高大的男人走了出来。 那位领导模样的中年男子微笑着把我叫到他的办公室。 问了一些基本问题后,他给我介绍了公司目前的情况(我是2号员工进来的)和公司的业务(体育彩票,我喜欢)。 、福利(实习工资2.5k)、加入后要做什么……说完就让我回去等通知。

两天后,我顺利收到了offer。 虽然工资很低,但因为这是我喜欢的行业,而且目前工作很难找,所以我没有多想就答应了。

经过上一份工作的洗礼,我非常珍惜这份工作。 我每天提前半小时到达办公室。 如果我不懂什么,我会缠着我唯一​​的同事给我解释。 如果我以前从未学到过任何东西,我会在晚上回来。 我加班学习(还记得室友睡着后躺在地板上打字,中秋节的晚上,月亮很亮)。 当老板让我做点什么的时候,我每天下班前都会主动发邮件,写下今天所做的事情。 我把我正在做的事情交给老板,并坚持了一个月。 后来老板说不用写那么认真,简单列出工作内容告诉我就可以了。

第一个月,我拿到了1.6k的工资。 虽然很可怜,但还没有盘服务器多,但收到短信的那一刻,我感觉泪流满面。 我终于可以依靠自己的能力了。 我拿到了第一份工资(最后100块钱与其说是工资,不如说是耻辱)。 为了不让家人担心,我给父母打电话告诉他们我已经拿到了4k的工资。

实习期结束,老板给我开出了5k的工资。 他告诉我,他之前给你这么低的工资,就是故意考验你。 没想到你能坚持下来,把事情做好。 现在这个工资是符合要求的。 你的工作能力和态度。

作者推荐:

毕业生很难找到工作,特别是如果他们没有做好充分的准备。 您需要评估自己的能力和兴趣。 在提交简历的时候,还应该圈出行业范围和公司实力,这样你才能更有可能获胜。

工作是一件长久的事情。 你需要不断努力,让领导看到,你才会得到回报。

生活本来就是困难的。 在困难的情况下,仍然需要努力。 如果你再坚持一点,也许还有出路。

4.工作=工资?​​太肤浅了

实习期结束后,一切都步入正轨,我满怀兴趣地做好领导交办的一切事情。

我的第一份工作是制作一个iOS APP。 在此之前,我一直从事Java工作。 无奈,我花了两个晚上装了一个黑苹果,学了一周。 一周后,老板给了我一台Mac Air,让我开始开发iOS。 我同时感受到了压力和动力。 那时,我只关心如何把事情做好。 当时公司连UI都没有,就央求懂UI的全栈同事帮我剪图。 当我在写代码时遇到问题时,我骚扰我的大学室友。 (两个室友正在做iOS) 答:花了三个半月的时间,终于完成了第一个版本。 上线当晚,我们出去庆祝。 通过这个项目,我学习了iOS(虽然现在已经快忘记了)。

2014年初,H5刚刚流行的时候,老板让我尝试把APP的内容做成H5。 我在大学只学过一点 HTML+CSS,就接受了这个项目。 我花了一个月的时间开发了第一个之后,我几乎每周都可以添加一个业务。 通过做这个项目,我学习了PHP,同时增强了我的前端技术能力和H5开发的强劲动力。

公司接到一个整合项目,需要去A市协调。 说到安排人出差,我觉得这也是一个非常好的学习机会,于是赶紧举手申请出差。 经过一个月的出差,我负责了web项目。 当时有一个非常棘手的问题摆在我面前,就是有一些非常复杂的业务,涉及到很多以前没有开发过的算法。 现在甲方需要,我就硬着头皮研究,老板每天都给我打电话。 我问有没有线索,甲方也在问。 最后,经过一周多的时间,解决方案终于解决了。 因为任务的完美完成,出差回来后,领导直接把我的工资涨到了7k。 当然,不仅仅是工资。 这次出差,我不仅学习了一些项目对接的流程,还学习了一些高级算法。 我也借此机会认识了A市所有的大学同学。

甚至有一次,领导让我帮忙投标,我就跟着他体验了一下。 以后的日子,一说到工程招标,我就已经知道是怎么回事了。

就这样,时间过得很快,一转眼就到了2014年的夏天。毕业近一年的时间里,我从来没有关心过自己有多少钱,也没有想过有什么假期。 基本上,我的工作时间是朝九晚十一点,每周工作六天。 我只是不断努力,不断学习,不断吸收所有我能学到的知识。 不知不觉中,我又加入了iOS、PHP、HTML、CSS等语言,我的工资也得到了很大的提高,达到了我以前从未想过的水平。

作者推荐:

作为这个行业的新手,薪水对你来说并不意味着更多。 放下那该死的薪水,让自己安定下来。 如果你工作的重点是薪水,那就太肤浅了。

抓住每一个学习的机会。 只有不断学习才会不断进步。 随着时间的推移,你的努力将会得到回报。

5. 编程=工作?挖掘更多潜力

随着我逐渐掌握了更多的技能,得到了更好的治疗,我的心态也发生了变化。 一年前,我正忙着写代码。 由于我的逐渐成熟和公司的转型,我获得了其他方面的机会。 锻炼,例如面试、领导新人、领导小团队。

有人说我是技术宅。 我只是想学技术。 做其他事情会浪费我的时间,我也不喜欢这样做。

事实上,这种想法是错误的。 无论你未来的道路是成为技术专家还是进入管理领域,首先你必须拥有技能。 这确实是一个永恒的前提,但与人交往并不是浪费时间。 这是您获取知识和技术的另一种方式。 比如这几年,我采访过的人至少有三五百人。 最疯狂的一天,面试了6个人(作为技术人员,当然不能和HR相比)。

受访者中,有未毕业的、刚毕业一年前的、也有毕业十几年的。 无论面试官的水平如何,与他们交谈都是一种自我检讨和自我提升的方式。 与较年轻的人(技术层面)的面试可以让我回顾和巩固我的基础知识,而与年长的人(技术层面)的面试将扩大和加深我知识的深度和广度。 记得工作第三年,我采访了几位工作十几年的资深程序员。 那时,初生牛犊不怕老虎。 我拿着简历冲进面试室,请资深程序员先自我介绍一下。 我听了。 当他提到自己有多少个开源项目、有多少个star、在哪个开源论坛上写过博客时,他突然觉得自己是如此的渺小,以至于感到羞愧。 幸好大牛心地善良,并不邪恶。 他不仅没有揭穿我,还回答了我提出的问题。 讲得很透彻,顺便也延伸了知识点。 那些我没听说过的技术,我知道但不懂的技术都给我讲解了。 我突然觉得免费参加高级技术班还是值得的。 我已经自学一周了。

所以,技术固然重要,但一个人的力量太弱了。 无论你的同事、朋友还是面试官,只要你愿意与他们沟通、讨论,有时候会比你自己努力学习效率高得多。

我发现有一群老程序员,他们都30多岁了,更不用说地中海了,他们是公司的技术骨干,他们不怎么露面,但是当他们出现给我们讲课的时候,他们都口吃得很严重。 每一个都必须分别发音为 s~s~s~。 虽然我不确定是不是天生如此,但有一段时间我需要解决一个难题。 大约一个月的时间,我一直处于思考的状态。 ~代码~思考~ 至于打字的状态,一天下来,除了上厕所、打水,就没动,更别提说话了。 后来任务完成后,我放松下来,想和同事聊天,却发现说话有点困难。 ,总感觉说不出话来,只能断断续续地说点什么……h~h~h~tml,感觉自己瞬间就要死掉了。

因此,你不能认为你的工作只是写代码,其他的事情与你无关。 当你关闭了与外界的窗户,你就会逐渐与外界失去联系,你所有的潜力和时间都只会被那些可能有用或可能的东西所取代。 只是无用的代码和一点工资。

说实话,我很喜欢技术,但技术不是终点; 我喜欢和PM讨论需求,和技术人员一起编码,和HR一起规划招聘,参加小组活动,因为这些可以让我学到很多东西。 、技术、产品、运营、管理……当你投入并把每件事做好时,回报将超乎你的想象。 有的同事在公司已经工作两年了,可能有很多操作性的。 同事之间互不认识。 有些同事明明为公司做出了巨大的贡献,老板却连他们的名字都叫不出来,这显得有些悲哀。

所以不要抗拒与外界的接触。 你需要与外界沟通,了解自己的潜力和兴趣。 你过去的爱好是写代码,也许只是因为你觉得玩游戏很酷,想自己创造一个游戏; 也许是因为你发现淘宝很赚钱,想写一个自己的网页来卖东西; 或者也许是因为你的兄弟在你面前展示了看起来吓人的控制台输出让你着迷; 过去和现在不一样,当你参与的事情越多,就越容易弄清楚你更喜欢什么。 比如我有的朋友从游戏转到产品,有的从剧转到游戏,甚至有的朋友从编码转到空间管理……

作者推荐:

工作不能只是工作,也不仅仅是为了提高自己的技能、获得更多的薪水。 事实上,无论你拿多少工资,你仍然在工作,而且还有被老板解雇的风险,还有失业的可能。 在工作中,如果学习更多的技术和非技术知识,未来的路就会更宽、更顺畅。

技术成长的方式有很多种,我们往往会选择闭关修炼,但事实上,如果你懂得学习,在任何情况下你都会学到更多的技术和其他能力。

您不必因拥有许多技能而不知所措。 只有经历了更加多元化的工作内容,才能知道自己真正热爱的是哪一行工作。 只有做自己喜欢的工作,才能快乐、长久地做下去。

6. 编程=未来?身体优先

现在已经第四年了,我仍然喜欢写代码,经常加班,有时甚至熬夜写代码。 然而,我的身体素质与五年前相比,已经恶化了很多。 记得刚毕业的时候,我压力很大,动力十足,几乎每天都是11点以后打车回家。 睡个好觉后,我仍然感觉精力充沛,第二天去上班。 现在我的身体渐渐不再受折磨了。 当我加班回来时,我累得不想动。 我一直睡到早上起不来也爬不起来。 每次上楼梯我都气喘吁吁。

、《又一程序员倒下》、《34岁程序员猝死:年轻人,你们过劳死谁来买单?》 ”、“又一位程序员摔倒,心酸:我们只是新时代的农民工”、“华为程序员跳楼了,这是我第35年了吗? 》……。 关于程序员死亡的消息在网络上并不少见。 有些人可能认为我吃得好,睡得好,身体好。 猝死离我还很遥远。 事实上,情况并非如此。 程序员与计算机打交道已经很长时间了。 一天坐在电脑前,头脑风暴十几个小时,对身心的破坏力极大。 一开始可能没啥感觉,但随着年龄的增长,久坐不动,地中海、啤酒肚、四眼仔、老鼠手……等等。 可能会在不知不觉中对身体造成伤害。

所以,不要以为年轻就是资本。 如果不注意劳逸结合,不注意休息,不注意经常锻炼,不出几年麻烦就会找上门来。

这可能是由于压力大造成的。 从上个月开始,我每天午休的时候都感觉肚子胀,睡不着觉。 到了下午,就变成了偏头痛。 整个右脑瘫痪,时不时的心悸。 那时我突然觉得人生没有什么意义。 我什至无法照顾好自己的身体。 不管我写了多少代码,赚再多的钱也是没有用的。 然后我狠心决定每天早起半小时去公园慢跑。 半个月后,我,之前的那些不适慢慢恢复正常了,工作效率也提高了。

所以,健身绝不能成为浪费时间的理由。 良好的身心可以帮助你提高工作效率,事半功倍。

作者推荐:

不要等到像我一样出现身体问题才去健身房。 你一定要坚持再坚持,去健身房吧! ! !

身体是革命的本钱。 想要超越别人,不仅需要技术,还需要时间。 你还需要有一个好的身体,一个健康的身体,这是你成功的坚强后盾。

7. 附上技术清单

毕业前,很多同学对那些炫酷复杂的购物中心网站和那些卓有成效的技术博客感到困惑,但也很好奇。 如果我想制作一个,我需要学习所有这些知识。 接下来,我将做一个简单项目所需的技术清单,仅根据我个人的经验。 我只列出一些常见的技术。 希望对大家有所帮助。

1、前端:

语言:HTML+CSS+

开发工具:/

调试器:

了解 HTML 的常见标签、元素及其属性。

学习CSS的基本语法、各种样式的使用,了解CSS的框模型和文档流程,能够使用定位、浮动、清除等常用知识点。

学习js基础知识(变量、函数、数组、字符串等),了解面向对象思想; 能够使用一些常用的js库(如等); 能够使用js编写一些常用的插件(轮播组件、选项卡等)。

可以使用HTML+CSS编写网页实现基本的网页布局,可以使用+CSS编写常用的动画,可以使用ajax实现与后台界面的数据交互。

将用于开发调试和简单的性能调试。

2、后台:

开发框架:,/

开发工具:/idea

调试工具:

了解Java的起源和发展历史以及语言特性,了解jdk和jre,学习配置Java开发环境。

学习Java基础知识,包括标识符、常量变量、关键字、标识符、数据类型、运算符、流程控制语句、数组、方法等。

了解Java的面向对象思想,了解类和对象的概念,了解面向对象的三大特性(封装、继承、多态),了解this和super的区别和使用,了解Java接口、内部类、抽象类等。

会用到一些常用的Java类(、、、Math、Date、、以及一些包装类等)。

学习Java的一些高级特性,比如集合、多线程、IO等,以及反射的原理和使用。

至少学习一种开发框架(、、等)

学习使用或者idea创建web项目和常用的开发流程,以及一些快捷键的使用。

3. 数据库

数据库:/MySQL、Redis/

开发工具:、Redis命令行

至少学习一种关系型数据库(MySQL、MySQL等)和一种非关系型数据库(Redis等)

学习关系数据库相关的理论和基础知识,了解非关系数据的原理和优点。

学习基本的SQL操作,例如添加、删除、修改和查询数据库表、视图和索引。

学习SQL的一些高级特性,如锁、函数、触发器等。

会使用SQL客户端连接工具来操作数据库。

具备一定的SQL性能优化能力。

4.版本控制:

git/svn/

了解版本控制的原理和应用场景,了解数据仓库中各个库的作用和用途。

熟悉常用的git操作命令(创建本地/远程分支、查看本地/远程分支、切换分支、提交版本、回滚、合并版本、拉取和推送分支等)。

5. 项目构建工具:

/maven

我不会详细介绍这一点。 您必须至少学习项目开发的必要工具之一。

6.操作环境:

,nginx

了解.xml的组成和操作原理,并了解.xml的各种熟悉的配置

学习查看和分析项目操作日志

学会在

了解NGINX的原理和功能并学会安装NGINX

学习NGINX项目配置

7.服务器环境:

Linux

了解Linux的基本原理和一些常用命令

这是在Linux上安装JDK,NGINX和其他Web程序的必要软件。

学习一些服务器性能调整命令

我出于思想而发布了这篇文章,而不是为了鼓励您,而是为了鼓励您。

过去的亮点

假期期间如何没有好处?