真正的软件工程不仅仅是一种技术,而是一种生活方式。我以编程为生,连帽衫、乒乓球、小吃和饮料随处可见,这就是我的真实生活。尽管在这个领域工作很有意义,但我必须承认:有时我希望我从未学过编码。怪癖自从我开始学习编码以来,浏览网页的方式从未如此。我不能再忍受我在其他网站上遇到的错误。每当有奇怪的事情发生时,好奇心就会战胜我,我不得不打开浏览器的开发工具并开始调试。尝试提交表单时出现神秘的错误消息?那是我深入JavaScript控制台、查找错误消息、深入源代码并观察它们处理网络请求的时候。UI看起来有点过时,还是页面布局华丽?无论哪种方式,我都会调整浏览器窗口的大小以查看它处理屏幕尺寸的响应速度。您选择的字体是ComicSans吗?我可能再也不会相信你和你的公司了。请停止使用ComicSans字体职业工程师通常骨子里都很固执和迂腐。您是否使用空格或制表符来缩进代码?你更喜欢Vim还是Emacs?铬还是火狐?这些对话最终导致有人问“这真的重要吗?”,人们浪费时间和精力讨论这个在现实生活中毫无意义的问题。xkcd——《真正的程序员》随着越来越多的公司采用敏捷项目管理方法,他们有时不得不在使用Waterfall、Scrum或Kanban进行开发周期之间进行比较。我们都喜欢抨击Waterfall是过时的、低效的公司使用的遗物。然而,Scrum与看板的战争仍在继续。“你说你是Scrum的忠实粉丝?我敢打赌你喜欢人工时间盒,它可以轻松发送紧急代码以满足sprint结束前的假想截止日期。”Dilbert-敏捷时间尺度上的ScottAdams?努力?复杂?风险?在某些时候,这可能会演变成毫无意义的讨论,但能够相互理解和有效沟通至关重要,这包括对我们一整天使用的术语有共同的理解。前端开发开辟了另一个话题世界,最著名的是:“InternetExplorer支持何时最终会被取消?”对于那些已经在使用它并深受其害的客户,它需要得到支持。InternetExplorerNetworkHeatmap持续学习随着技术环境的不断变化,持续学习是软件工程的重要组成部分。每个月都会发布数百个新的库和框架,JavaScript的枯竭是真实存在的。当我告诉人们我花了一天时间配置Webpack、Rollup和Babel以使用最新的ES6+语法时,他们可能认为我在编造一些东西。Angular和Angular是两个完全不同的东西;LitElement、Svelte和Stencil似乎是很有前途的Web组件解决方案;Deno可能是新的Node。当有人问我工作用什么工具时,我只能直截了当地说:“我通常使用前端技术,如HTML、CSS和JS。有时我不得不使用PHP或SQL,但我更多的是MEAN/MERN堆栈开发人员。有时使用Heroku等PaaS技术,但有时使用AWS或GCP等IaaS提供商。”关于“开发者”热图|Source:Manga《Poorly Drawn Lines》业余生活闲暇时间,我会看一些枯燥乏味的书,比如《CleanCode》、《Refactoring》和《DomainDrivenDesign》。除了课本,我也在网上看了一些文章,这些文章往往会有一些建设性的建议,或者看看别人的编码教程。我更喜欢听有关编程的播客,没有什么比在上班的路上听到有人谈论代码更好的了。因为上班了,还要整天讨论代码。除了访问Web上的资源之外,软件工程师个人生活中的很大一部分时间都用于创建在线内容。我的个人爱好是开发以前没有人见过的简单应用程序和游戏,例如CrossyBlock,它是FlappyBird的仿制品,以及企业BSgenerator。这是在浪费时间吗?或许。但是,是不是也让人看到这些应用时,会感到高兴两分钟呢?他们当然知道。公司BSGenerator应用程序编码让我有机会创造一些东西,并赋予我创造力。它让我对生活有了新的认识,甚至重塑了我的人生。软件工程使我能够解决困难但有趣的挑战,并希望通过我自己的一点点努力让人们的生活更轻松。软件工程帮助了我的职业生涯,让我有机会学习并从中受益!好吧,我不得不承认,我喜欢编码。
