我是一个自己生活中对编程感兴趣的
自己在业余中自己自学编程PHP 和前端 大概用1年多了,
自己开发过一些项目,接过一个公司企业外单项目,比起来大公司的整体项目比,可能还远远不够,
自学编程的业余爱好是不是一定要去大公司锻炼自己的技术,自学跟公司的编程规范有很大区别
这个问题已被关闭,原因:非技术提问的讨论型问题
我是一个自己生活中对编程感兴趣的
自己在业余中自己自学编程PHP 和前端 大概用1年多了,
自己开发过一些项目,接过一个公司企业外单项目,比起来大公司的整体项目比,可能还远远不够,
自学编程的业余爱好是不是一定要去大公司锻炼自己的技术,自学跟公司的编程规范有很大区别
开发本身没区别,但是压力不同所以最后的结果因人而异。如果你很自律,去不去公司都一样。不过通常大部分人都很懒,以为实现了核心就沾沾自喜,这就造成了学习与实战之间产生了巨大的差距。例如
<code>//学习时可能这样写 if ($_POST['user_id']) { //do something } //实战必须 if (! empty($_POST['user_id'])) { // do something }</code>
决定项目成败的是细节而不是核心。我就遇到过一个程序员,一个网站做了半年,所有功能几乎都实现了,但是网站一直无法上线,原因就是各种问题,比如用户名唯一性检查,字段不能为空,使用未定义变量,js里面的undefined等等等等。最后的结果把这货开了,整站重做,2个月完工。
所以,自学没问题,编程不符合大公司规范也不是问题,但是自己完全没有规范开发的意识那就是问题了。很多细节可以强化自己的规范意识,比如缩进、换行、空格、命名、大小写,这都是自学的人很常见的问题。反正我面试的时候看到如下代码基本就不会再考虑其技术水平了
<code>$a = $b +$c; $e= $a*5; </code>
先找找个人的目标,编程是要作为职业赚钱还是爱好解决一些实际工作生活上的问题?
如果作为职业:那么目标可以细化为技术专家方向还是技术管理方向
如果作为爱好:那么目标可以细化为外快还是创业?
每个目标都有不同的专研技术点,所以目标很重要,脱离目标谈结果也一样是耍流氓的!
要锻炼应该去小公司,这样接触到的技术面会更广一些。
如果純粹的興趣,可以不用去大公司,多參與開源項目也可以提升自己的能力,了解到世界上最新的技術,帶給自己的提升也並不比大公司小,閉門造車是不正確的,所以關鍵是多交流。
如果為了謀生,在實際項目中掙經驗這是兩全其美的辦法,而且公司同事間有交流,還有定期培訓,外加公司工作會有壓力,反過來倒逼你去進步與提升。但是公司做的項目不一定都是自己有興趣的。
以上個人的一些看法。
肯定会有不一样的地方,公司编程毕竟是多人合作。在很多东西上可能业务编程无法体验到的。
编程重在实践,但是去公司实习比起自学来说有许多优点。大公司里面有大神当你的导师,有人带你学比起自学来说效率提升了很多。在小公司里面按道理来说一般都有从大公司里挖出来的大神吧(ps:错了勿喷啊),但是小公司里面学的东西会更多更广一些,有机会让你重零开始学习项目。
感觉去公司好一些,虽然在公司的话会有很多条条框框束缚,但是整个氛围就不一样,学习这个事情上我一直觉得交流很重要,而公司就是把你带到一个交流的环境去工作。
有必要 项目经验
主要是你学的技术能用得到,练习是没有用的,用到了才能知道哪里有问题怎么解决什么的。至于是不是在公司其实无所谓的。
实践出真知,自学过程,一般都是自己想学什么就去学,但实战就不一样,是有什么需求,你就必须解决,拿电子商城来说,如果是自学,做一个demo,做做支付,你可能就觉得差不多了,但实际问题非常非常多,如果你没有实战过,你脑子里面根本没概念。比如生成订单号,写demo的时候你可以生成一个不重复的随机数就可以了,但实战过程,会有高并发要考虑,如果一万人同时下单,你的系统能不能保证生成可用的订单号并保存,如果一百万人呢。。。。刚学的时候你绝对没想到,单单生成订单号,某宝某东要用独立的系统去生成。
从学生的角度来举例,我觉得就是平常的功课 与 毕业论文的区别。