“半路出家”的程序猿怎么不被“熊”

文本原创:孙浩

投稿这篇文章总有点‘好为人师’的感觉,但是自己作为一个“半路出家”的程序看过太多的和我同样出身的程序半途而废了。我现在在一家软件公司就职,担任技术主管职位。

01

带过毕业生,也带过中途转行,也带过培训班出来的。实话说,我现在的工作技术只是一方面,也要协调开发进度,测试以及一些人员的管理,特别是同事们因为某些问题产生“自我怀疑”的时候。

那些非常打击自信心的的问题大部分都是很基础的知识,比如数据库的字段类型问题,开发中极限值处理问题,服务器文件的误删问题等等;这些问题往往会导致老板大发雷霆,然后就是劈头盖脸一顿骂。毕业生和培训班出来的同学会经常出现此类问题。

但是他们有时间来吸收经验,对于中途转行的人来说这些问题会大大拖慢你的工作、学习的节奏和热情,怎么避免?我的方法就是尽可能的抽时间来写demo,我个人偏向写一些简单的游戏来训练“值的敏感度”,像飞机大战,赛车这类的小游戏会有边界处理,对极限值是有考虑的,更简单的比如说扫雷这些也是能训练“值的敏感度”。如果家里有小孩还可以写一点寓教于乐的游戏。

另外还有就是有一些问题看起来简单,但是做起来是有复杂度的。不可带着浮躁的心去看需求,更不可把浮躁代入到代码里面。代码本身是没有情感的,但是写代码的人会赋予它“情感”。

02

写代码之前最好先动笔,把每一个需求点画出来逻辑图,把一些能在逻辑上就能避免的坑标注出来,比如用户登录未注册的处理、抢单时的处理等等。这样既能使你的实现需求时思路更顺畅,也能方便之后的找bug。

没有哪一个程序员敢说我写的代码一点问题没有,bug是必然的,不能为了解决一个bug而无意中又造出了一个bug。长此以往,你的代码会变成“屎山”,各种令人抓狂的循环嵌套判断,会让接手的同事心里“爱你”一万遍。

遇到bug时,我强烈推荐“小黄鸭”,对着一只小黄鸭,把你的代码重头到尾读给它听,我自己很多问题都通过这个方法解决了。方法很傻,但是绝对好使。

半路出家的程序还应对自己有一个清晰的规划,35岁不是开玩笑,如果还只是做业务需求的码农,那你会被年轻的人取代,要么做管理,要么深入的去学一门技术。要让你有一份不被取代的资本。我虽然还未到30,但是深切地知道“青春饭”吃不得,都说计划赶不上变化,但是有一个目标总比浑浑噩噩的混日子好。

03

时刻保持好奇心,会使你在学习中能增添一点乐趣。我现在一闭眼就是马上要结婚,房子没有,以后赡养双方的父母,子女的上学...这些未来的压力催着我去学习,工作,挣钱。但是如果只是为了这些岂不是“碌碌”之辈?看到好玩的我想着能不能自己也搞一个玩玩,比如人脸识别语音识别?网上的大牛用AI训练玩游戏,怎么实现的呢?有问题的话就带着目的去探究,找资料,问大牛,都是积累经验的方式。

久而久之,养成习惯,你会慢慢的发现:老板是需要你的,团队你是在核心的,以后的“码农之路”是清晰的,手里的闲钱也是有的,还有更多的问题是你还没有弄清楚的。

题目虽然是半路出家,但是希望对于所有刚刚踏入代码这一行的程序能有一点帮助,也对我自己有一个鞭策。

后期我会整理一些我学习的笔记和踩过的坑分享给大家。

往期精彩

某同学工作之后的感悟

2020-10-10

为了金秋那沉甸甸的麦穗,我绝不辜负春天

2020-10-09

"爸妈没多大本事"……

2020-10-07

subList?? subString???

2020-10-08

存放80000000学生成绩的集合,怎么统计平均分性能高

2020-09-30

asList方法产生的List对象不可更改

2020-09-29

点分享

点点赞

点在看

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

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

相关文章

这可能是把Docker的概念讲的最清楚的一篇文章

转载自 这可能是把Docker的概念讲的最清楚的一篇文章 Docker 是世界领先的软件容器平台,本文主要来介绍下关于Docker的那些事儿,主要包含以下内容: 容器 什么是Docker? Docker思想、特点 Docker容器主要解决什么问题 容器 V…

【2018.3.17】模拟赛之一-ssl2574jzoj1368 无限序列【斐波那契数列】

正题 链接 需要纪中OJ账号 刚开始一个字符串”1”。然后进行无数次变化,1变为10,0变为1。然后求多个区间内的1的个数 输入输出(需要自取) Input   第一行为一个整数Q,后面有Q行,每行两个数用空格隔开的整数a, b。 …

Python变量名的定义规则与定义方式

变量名的定义规则 1.变量名只能是 字母、数字或者下划线的任意组合 2.变量名的第一个字符不能是数字 3.一下关键字不能声明为变量名 常用定义方式 驼峰法 AgeOfOld56 NumberOfStudents22 下划线 age_of_old56 第二种为官方推荐 定义变量不好的方式举例 1.变量名为中…

洋葱架构简介——分离是为了更好的结合

写出高质量软件是困难和复杂的:不仅仅是为了满足需求,还应该是健壮的,可维护的,可测试的,并且足够灵活以适应成长和变化。这就是洋葱架构出现的原因,它代表一组优秀的开发实践,用来开发任何的软…

RBAC(基于角色的权限访问控制)

第一节.RBAC简介 英文全称(Role-Based Access Control)中文全称:基于角色的权限访问控制rbac: 一种数据库设计思想,根据设计数据库设计方案,完成项目的权限控制.经常需要添加权限的情景 4.1 不同用户登录后看到的菜单是不一样的. 4.2 不同用户看到的页面效果不一样 4.2.1 有的…

子列表只是原列表的一个视图

原文参考:《编写高质量代码:改善java程序的151个建议》本文原创:穆雄雄上期文章:subList?? subString???上期我们说到,List接口提供了subList方法,其作用是返回一个列表的子列表。并且我们通过案例说明…

python注释的用法(单and多行)

单行注释 # name"asdfdasfdas"多行注释 """ print(xy) aad2"""快捷键 先选中要注释的内容然后Ctrl/

【2018.3.17】模拟赛之二-ssl1862jzoj1366 删数【区间dp】

正题 链接 需要纪中OJ账号 有n个数,可以选择删除一段区间,价值为|xi – xk|*(k-i1)。求删完所有数的最大价值 输入输出(需要自取) Input    输入文件的第一行为一个正整数N,第二行有N个用空格隔开的N个不同的正整…

ASP.NET Core之跨平台的实时性能监控

前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲讲如何监控它,下面上效果图: 阅读本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库,开源)(注…

EasyUI(前端框架)

第一节 EasyUI的介绍和常用组件 [1]EasyUI的介绍 介绍: EasyUI是一个前端开发的框架,其将常用的页面开发使用的组件进行了 封装,前端开发人员只需将EasyUI的资源导入项目后使用即可,快速 提升开发效率。 使用: ① 导入EasyUI的资…

如何快速开发一个 Dubbo 应用

转载自 如何快速开发一个 Dubbo 应用 导读:在分布式系统中,远程调用是最基础也是最重要的基石。历史上,曾经先后出现过 CORBA、RMI、EJB、WebService 等技术和规范,在服务化以及微服务日趋流行的今天,更多的被广泛使…

‘小会计’的转行之旅

本文原创:王哈哈1大学学习的专业是会计学,目前社会上来说很普遍的工作,都说会计是越老越吃香,所以一毕业就先找了一份和专业相关的工作,然后就开始了抱着公司的大腿努力工作。毕业三年期间也换了几份工作,本…

【2018.3.17】模拟赛之三-ssl1863jzoj1367 俄罗斯方块【模拟】

正题 链接 需要纪中OJ账号 有7种方块 有n列,给出每列的方块高度,求一种方块所有方面都落地的方案数 输入输出(需要自取) Input 第一行为二个整数C和P,1 ≤ C ≤ 100, 1 ≤ P ≤ 7,表示列数和下落方…

Python缩进的几个原则

Python的缩进有以下几个原则 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进 同一级别的代码,缩进必须一致 官方建议缩进用4个空格

应用程序的8个关键性能指标以及测量方法

前言 高性能一直是我们作为程序员..孜孜不倦的追求.. 有的时候甚至会为了一句代码吵上几天.. 那么到底应该如何评估我们的性能指标来判断是否需要优化呢? 今天就来讲一下这个.. 说明一下,本篇是译文. 原文地址:https://stackify.com/application-performance-metrics/ …

MyBatis Plus

文章目录第一节 MyBatis Plus 的简介第二节 MyBatis Plus 的框架搭建[1] 第一步:导包[2] 搭建SSM开发环境[3] 在数据库中创建测试表[4] 在pojo层下创建Student表的实体类[5] 在mapper层创建StudentMapper接口并继承BaseMapper接口[6] 创建测试类,并从Spr…

班级日常分享,一天一瞬间

119级日常分享经过两周左右的KTV项目终于要告一段落了,上午先让各个小组在班内试讲了下自己小组所做的KTV点歌系统,整体上做的还可以,有些小组还存在一些细节问题,在试讲的时候也都给他们指了指,相信下来会有所改进的。…

DDOS 攻击的防范教程

转载自 DDOS 攻击的防范教程 一个多月前,阮一峰的个人网站遭受 DDOS 攻击,下线了50多个小时。这篇文章就是他总结的,教大家如何应对这种攻击。 需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标。攻击…

【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】

正题 链接 需要纪中OJ账号 有n条木棒,长度为1或根号2,给出每根木棒两头的坐标,和燃烧需要的时间。只能从一个木棒的一头开始点火,求燃烧完所有木棒所需要的最短时间。 输入输出(需要自取) Input 输入…

python变量的创建过程(内存地址变化)

​ name “Alex” 原因 python 解释器有自动垃圾回收机制,自动隔一段时间把没有跟变量名关联的内存数据回收。