其实0和1之间就差那么一点!

在这里插入图片描述

和很多从事计算机行业的年轻人一样(一定要强调年轻,不能让00后的看出我我们这些95后的已经老了),我也是一个在这个专业摸爬滚打的底层程序猿。之所以说是底层,首先是因为目前为止以自己大学都未毕业,不论是入行的时间和能力而言,都比不上从事这个行业多年的老前辈,其次我还在从事这传统的撸代码的工作,还没有能力做到项目架构的阶段。


和绝大多数的从事计算机行业,尤其是软件开发行业的的新人一样,我也一直走着学习—实践—出错—纠错这样一个循环往复的过程,而且重复了无数遍。


和很多很多人一样,我体验着刚学完的技术点跳跃于开发环境,行走在代码的字里行间,最终得出正确输出的快乐;也遇到过简单的问题DEBUG无数次任未果的失落;更加体会过深夜与计算机为伴的辛苦付出和无穷的孤独。


但是,作为一个技术人,这一切的技术沉淀之路是每个人都要走的;倘若你绕开了这条路,那么技术人也就变得无意义。


最近CSDN上一直有同学问我要一些小项目的源码,其实心底里来说我是不愿意给的。并不是因为自私,而是总觉着有一种罪恶感。因为一般要源码的都是未毕业的计算机专业的学生,也许正在做课程设计实验,倘若完全把代码给他们不就是害了他们吗。所以在考虑是否给他们源码之前还是会和他们交流交流,看看他们从心底里是抱着参考学习的态度还是完全想要抄袭完成任务(当然,有些时候也会看走眼,就当是自己在犯错了,毕竟学习这东西,谁也说不准)。一份源码利用好了是一次不错的学习和提升,利用不好就是让他在你的IDE中运行一遍,甚至有的人连配置都不会改。


通过与他们的交流我发现一个普遍的并且很重要的问题,也许正在看这篇博客的你也有这样的感触:一些常用的代码片段、常用的知识点或者算法、或者是功能代码块、数据库连接等的知识点你都会,并且能够写出来。但是让你去做一个项目,哪怕是简单的项目的时候你会发现自己不会,无从下手。


究其根源,就是因为我们学习技术点的出发点是有问题的,或者说开始的学习思维和学习模式就是有问题的。


我们来思考一个问题:在学编程的过程中我们为何要学习数据库连接、数据结构的组织、前后端的交互方式、数据库SQL的编写等的这一些功能与技术栈?

难道是为了简单的会用这些功能?或者说未来你们从事的工作中只会让你片面的写这些单一的功能点?其实不然,我们的目的是最终打好这些基础的同时,将所有的知识点、技术点和技术栈完整的链接在一起,有效的组织构建在一起,实现一个完整的包含前后端和数据库的可运行的项目和产品。也就是说所有的技术点和技术栈都是为项目而服务的


之所以会遇到技术点我会完整项目我不会写的原因无非如下:

  1. 思维太过局限,自始至终都考虑功能点如何实现,而未曾考虑功能点或者技术栈置身于项目中时如何实现和运用。
  2. 一直停留在学习功能点的过程,未曾尝试写项目,尝试组织和运用完整的技术栈。

这就好比一个学汽修的工人一直学习和练习如何的拆螺丝和装螺丝,从未想过自己真正的拆卸、修理、组装一台有问题的发动机。


从入行到现在,从自己的实际体验而言,我一直认为计算机的学习过程并不是严格意义上的举一反三的过程,我更愿意把他理解为触类旁通。

就像是不会做完整项目这个问题,喊着不会不会而不去实践的人,永远也不会;但有朝一日真正的动手写一个完整的项目,通过实践解决项目中遇到的各种问题,最后有了成品,对于这类人而言,往后的第二个、第三个项目的开始就会轻松多了。因为当你有了一次将全部的技术栈、知识技术点合理组织、实现的经验后,剩下的每一次哪怕具体的代码和项目的业务需求不一样,你也能够大概的有一个对项目的理解和掌握。我习惯把这样的过程称之为触类旁通


因此在我看来,很多的实战经验丰富的,能够自己独立写项目的人和一般的不会写项目的人的区别很大的一个重要原因就是那些不会写项目的人没有走过将知识点技术栈组织为一个完整项目这样一个过程。


因为我们都知道对于软件开发人员而言,所有的技术栈、功能点、解决方案的学习无非就是为构建完整高质量高可用的项目。即使你学的再多,做的练习再多,但是不能将这些东西运用到实际的项目开发中,那么你的有效转化率就是0,只有将这些东西构建成一个完整项目,那么你的有效转化率才是1。所以,其实0和1之间就差那么一点,就差那么一次构建和实现完整项目功能的一次实践。

在这里插入图片描述


软件开发行业就是这样,**你学过的东西并且实践过得东西就是简单,你从未触及或者实践过的东西在自己看来就是一道艰难不可逾越的鸿沟。**这并不是一个人的感觉,我相信大部分从事这个行业的小白,在一开始接触一个新的东西的时候都是这样。


抛开对于业务需求的理解能力,单从技术角度而言,那些拥有项目经验或者说实习经验的同学比其他一般的同学强的原因不就是他们有对于各种技术栈在项目中灵活运用的实战经验吗?


所以,其实0和1之间就差那么一点,当你调整自己学习技术点的目的,勇敢的迈开开第一步,尝试做一个完整的项目,尝试把所有的技术栈和技术点转化和运用到实际的项目中区,你就已经在0到1的进步过程中迈出了巨大的一步。当有了第一次的经验,以后的一次将比几次轻松。

在这里插入图片描述


加油陌生人,我不知道你的能力目前处于那个阶段。但是有一点是没有错的,那就是构建起一种**任何的技术栈和知识点都不是单独存在,总是为一个完整项目服务的这样一个思维**,同时不断的去学习和实践专业知识,通过编写完整项目的方式去组织和展示这些技术栈、知识点。
当你一直按着这样的方式走,相信随着时间的推移,软件开发对你而言将变得越来越行云流水。技术的道路就是这样枯燥又有趣,加油,陌生人!
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良缘白马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值