我与微软的“浪漫”如何开始
我大学毕业后的第一份工作是编写2000年代初的“老派” ASP代码。 在“持久自由”行动中支持海军陆战队担任承包商,这是我的荣幸。 我花了很多时间弄乱Microsoft Access,Microsoft SQL Server和IIS。 最终这导致了使用SharePoint的几年,然后用C#编写应用程序。 我深陷于Microsoft堆栈中。 当MVC达到临界点时,我停止了全职的.Net开发,所以这真是一个热点。

我在一家充满聪明才智的公司工作。 我们的品牌建立在专业知识和极高的客户满意度之上。 老实说,当我开始使用SingleStone时,我有点被吓到了。 在我职业生涯的这一点上,“拥有自己的”还不够。 我很幸运能与一些非常有才华的软件工程师,项目经理和业务分析师一起工作。 这些人中有一些是我的导师。 我的目标是领导技术团队并成为敏捷技术教练。 我渴望整天编写代码的愿望不像以前那样高。 但是,当我开始与当前的公司合作时,我被要求加入并开始编写.Net代码,并转而成为个人贡献者。
事实证明,这对我有好处。 有几件事对我有利。 我被任命为一支由老派项目经理和一支能力超群的技术主管(我们称为JB)组成的人才队伍。 我们的团队是敏捷的,这是我非常熟悉和熟悉的东西。 工作范围很明确,积压工作已经到位。 我对Visual Studio的热爱很快重新燃起。 它是市场上最好的 IDE。 期。
回到未来
当您打开第一个解决方案时,您正在阅读的代码类似于Klingon,需要3秒钟的内部怪胎时刻,然后继续前进。 赶上C#7确实很有趣。 我已经很期待在C#8中发布的某些功能,例如可为空的引用类型,异步流和默认接口实现。
重新使用.Net马可能会降低速度以加快速度。 您将达到一种让您对事物感觉良好并可能将某些事物视为理所当然的程度。 急于单击该“部署”按钮可能会导致不必要的焦虑。 放慢速度并检查详细信息将防止不必要的调试。 时间很贵。
您可能会在卷土重来中遇到另一个麻烦:继承和更新客户的代码。 他们有权按自己的方式做事。 不幸的是,这有时会给您带来比预期更快的学习曲线,此外您还需要快速提高熟练度的其他所有条件。 有必要进行手工操作。 如果不是很好,就必须要真正好。 同样,不要回避所有权。 隐藏在开发团队中像JB这样的人很容易。

现实的期望
如果您已经离开游戏了一段时间,那么与一直在编写高水平代码(例如JB)的人们相比,您将显得步履蹒跚。 让你的自我吸收它。 不要害怕问问题。 我们不能总是选择我们的队友,但是我们绝对可以选择我们如何与他们互动。 积极的态度和良好的业绩将带来回报。 您必须自己弄清楚一些东西,以免对其他队友造成太多干扰。 但是,几天之后(如果没有记录在案的原因),而您正在使用的用户故事仍未移出“开发中”列,您可能会陷入困境。 当我不得不跨冲刺故事时,我真的很生气,因为我还没有完成开发。 我不想让我的团队失望。 唯一要做的是尽快完成并转到下一个故事。 进步感觉很好。
我一直处于学习和进步的位置。 真是谦卑。 我摸索着更新了Code First迁移。 在调试Azure webjob时,我感觉就像是在撞墙。 在章鱼部署失败时,我无助地观看。 但是……我怀着软件开发的喜悦和痛苦。 看到将工作代码降级为满意的客户和项目经理的满足感令人振奋。
如果您发现自己不得不搁置已经休眠了一段时间的开发技能,请记住编写好的代码的基本原理没有改变。 保持简单,精简。 如果还没有,请熟悉Azure(或您选择的云提供商)。 考虑使用测试驱动开发(TDD)以确保您了解问题或用户故事,并加强单元测试。 而且,不要太自豪地要求JB对您的团队的冲刺节奏进行代码审查。