你有哪些牛掰的自学经历?

打算自学点什么,想听听大家的亲身经历。各种语言编程物理知识汽修开车做饭打毛衣吉他游泳钢琴心理学淘宝店。。。。。。什么都行,只要是自学的。
关注者
8841
被浏览
1237177

刚工作那头两年, 在一个蚂蚁级别的公司上班, 程序员就我一个。 奇葩的是那会我什么都不会, 一行代码也没写过, 我也不明白为什么我能通过老板的面试, 可能是因为我长的忠厚老实吧。 虽然, 这份工作的工资也少的可怜。

入职那天老板给了我一个U盘, 里面有一份网站的代码,asp写的, 让我改成符合他的要求并能上线使用。

幸亏是asp代码, 网上找个教程照着配置个IIS就能让代码跑起,如果是要打命令的linux, 还真的不知道该怎么办了。

网站是跑起来了, 但是我不懂html、 css、js、asp、sql, 根本没法子下手改呀, 于是只能装个dreamweaver拖拖鼠标改下界面,虽然效果惨不忍赌, 但至少能应付老板对工作检查了, 反正他也不懂写代码, 只要看到界面有变化就行。

但应付的了一时应付不了一世, 最终项目还是要按照老板的要求上线的, 只能边做边学。 网站的后端逻辑很简单, 只是增删查改数据库, 网上搜搜现成案例就能直接使用, 反而是前端的东西没有办法下手改, 毕竟前端知识量太匮乏了, 而且也没个同事来教我, 只能自己看书来自学。

刚开始根据csdn网友的推荐买了《JavaScript权威指南》和《css权限指南》来看, 但是因为基础实在太差, 里面百分之九十的内容是看不懂的,但看不懂也得看, 一些重要的内容一遍不懂看两遍, 两遍不懂看三遍,再和网上的资料和实践相结合,一步步的将知识点弄懂。 那会儿整个人非常的投入, 白天工作, 晚上看书, 连坐公交车的时间也不放过。 因为那个时候危机感非常强烈, 这份工作就是我的救命稻草, 死也不能放手。

以这样一个状态去学习, 效果非常的明显 , 技术能力也渐渐的上来了。到前端能力已经达到应付工作的程度后, 我调转方向去学习后端的知识, 因为asp比较简单, 所以没有看专门的书籍去学习, 我反而对关系数据库比较重视, 买了一堆数据库的书籍, 印象中有《关系数据库系统概论》,《深入浅出SQL Server 2000》,《深入浅出SQL Server 2005》,《sql server技术内幕》1-4卷,《关系数据库系统概念》…, 反正绝大部份精力都花在数据库上面, 程序的逻辑也大多数用存储过程在写,到后来已经可以回答csdn数据库SQL server板块里的大多数问题了。

期间还因为觉得asp是过时的技术, 所以去升级学习了asp.net, 也说服了老板将网站用asp.net改写。因为看书已成习惯, 所以也买了许多.net技术书籍来看,如《c#入门经典》,《c#高级编程》,因为.net技术有很多内容涉及到xml, 所以还买了一本千把页的《xml入门经典》来看, 学习里面的 xpath、xquery之类的技术。

再后来, 自己在实现软件功能方面已经没有问题了, 但是代码实在写的太烂, 很难维护, 要修改旧代码基本不可能, 一般都是重写旧代码来实现新功能的。 因此, 我希望提升自己的代码编写质量来提高工作效率, 这自然会涉及到学习面向对象相关的技术。 很显然,又到了大量阅读的时刻了,为了学习面向对象, 我看了《大话设计模式》,《headfirst设计模式》,《设计模式》,《重构》,《代码大全》,《人月神话》这些书后并实践,一举成为代码质量方面的高手。

为期间为了学习正则表达式, 还看了《精通正则表达式》一书, 为了学习算法, 还看了《编程珠玑》和《算法导论》, 可惜因为天资受限和平时缺少实践机会, 对于算法的掌握只能说是普普通通。

二年半不到的时候, 我自认为已经学有所成, 可以独自一人去闯荡江湖了。 我从旧公司辞职 , 去了一家电商公司做前端开发。 工作一段时间后, 我觉得以我的技术能力完全可以傲视群雄了,因为同事们实在是太菜了。写正则表达式都要去网上搜索;存储过程也不会写;后端程序员不懂前端技术;前端程序员不懂后端技术;代码写的一团烂;用mvc框架却连mvc原理都不了解,所有代码都写在控制器里;只会用jquery不会写原生javascript;碰到个BUG能调试一整天;工作效率低下,做个登陆功能要做一个礼拜;等等等…数都数不清, 而且有的程序员已经工作了五六年, 还是很菜,根本没有办法和我比嘛!当然, 我心里是这么想的, 但是我为人比较谦逊比较低调, 我并没有瞧不起他们, 我只是想通过我的理念去影响他们, 让他们在技能方向能有所提升,可惜,不管我多么努力 , 所做的一切都是无用功,一直都是在对牛弹琴, 因为他们根本不看书, 不学习,根本无法理解我所表达的理念, 或者明明知道我的理念是正确的, 但也不试着去学习去改变。

后来我也换过几份工作, 也见过厉害的程序员, 但绝大多数程序员, 不管是有多少年工作经验, 就整体水平来说, 还不及我的头两年第一份工作所学。所以我觉得, 只要热爱自己的工作,有兴趣, 肯投入,能力的提升是一件非常简迅速的事情 ,我现在都还认为, 我那两年完全可以抵的过普通的不思进取的程序员的十年或二十年的时间。