希望大家能够给小弟我一些学习上的建议

希望大家能够给我一些学习上的建议
    毕业之后一直在一个国企的it部门工作,主要是做一些c#的软件开发。部门不大,开发也是自己做自己的。刚开始一两年自己读了c#入门经典,c#高级编程,觉得自己提高的还蛮快,可是最近才发现这种小作坊似的开发模式根本就不能跟外界沟通。给人看了代码会质疑我没有专门做过开发项目。
    前一阵子看了一篇文章,发现我就是从一个熟练的控件使用者到更熟练的控件使用者,但是软件开发所需要遵循的规则完全不懂,想怎么来就怎么来。我也知道开发需要的软件说明书,数据库设计说明书,模块化,测试流程,可是自己做的东西的时候也不知道先干什么后干什么。赶紧做出来就完事了。
    前几天想接个兼职的活,对方看到我的代码就拒绝了,我问他怎样才能提高,他的建议是到一个正规的软件公司去工作。可是我又不想放弃安逸的国企环境。
    在这里真诚希望大家能够给我一些学习上的建议,比如该读些什么书能解答我当前的困惑,我很想看一看别人的软件项目都有哪些东西,界面数据库代码都是怎么做到规范的,文档有哪些都需要怎么写。如果模板或者样例是C#的我会非常感激!
------解决方案--------------------
工作几年可以学习一下PMP,项目管理的思路在软件工程领域也很重要
------解决方案--------------------
如果是总想着“标题党地”去模仿别人的代码,好像是“邯郸学步”,可能其实你照样还是原来的编程层次,而且因为多了一大堆纠结的“理论”而失去了原来的敏捷。

因此空谈学习软件工程,是有害的。

你所谓的“赶紧做出来就完事了”这就是失败的根源。这种“蒙人的”开发思路,在国营企业里比较盛行(或者那种转给国营企业做点小软件的小公司)。

做软件开发跟做其它的事业一样,如果我们不能说“一生只作一件事”至少你要花几年时间只作一件事,这才能够刚刚入门。而那种拼凑一点书本知识的,是不行的。
------解决方案--------------------
找几个C#稍微大点的项目自习研读源码,学学设计模式,你的代码就正规了