“你们进行同行评审吗?”
同行评审,或者让别人看看你的代码再把它放进代码库,这是识别愚蠢错误的极好办法,同时也是开始你的职业生涯时一个关键的培训机会。
危险信号:“我们相互信任!”→很有可能那些开发者对自己的代码非常警惕不想给人看也不擅长接受反馈。
“你们的继续教育计划是什么样的?”
作为一名软件工程师意味着当新技术出现、成熟并以令人眼花缭乱的速度走
江苏java开发

“你们进行同行评审吗?”
同行评审,或者让别人看看你的代码再把它放进代码库,这是识别愚蠢错误的极好办法,同时也是开始你的职业生涯时一个关键的培训机会。
危险信号:“我们相互信任!”→很有可能那些开发者对自己的代码非常警惕不想给人看也不擅长接受反馈。
“你们的继续教育计划是什么样的?”
作为一名软件工程师意味着当新技术出现、成熟并以令人眼花缭乱的速度走向过时的时候要不断学习。因此,很多公司都有培训预算用来买大学和在线课程、会议或者内部交流。
危险信号:“你是说在闲暇时间读读网上的东西?” →这家公司要么资金紧张,要么把开发者视为可替代的,而不是长期投资。
组织你的思路
既然你的大量时间都是用在沟通、研究和多任务上,你需要一些工具来帮助一切井然有序。TODO 清单/任务工具:你的公司应该已经有了某种任务管理软件了,但你自己也有类似的个人系统是有帮助的。使用便利贴或者像 Trello 或者 Todoist 之类的软件。笔记:开会一定要记笔记,要致力于改进现有文档并且建立个人的知识库。使用 Evernote、OneNote 或者笔记本。使用这些工具似乎有用力过度之嫌,但日后在回顾这一耗掉了你 3 天时间才想清楚的晦涩的开发过程时你会感谢自己的。不要直接问月薪给多少这样的问题,这一般有HR的人会主动问你的。不做丰富笔记的好的软件开发者我一个都没见过。图表/可视化:人是视觉动物,创建流程图和架构可帮助你和其他人理解复杂的话题。在跟非技术人员沟通时图解尤其有用。可使用 Lucidchart、 Visio 或者白板。
您的数据事务是基于什么?或者,您需要什么级别的事务支持?如果您的系统需要ACID属性,那么您很好还是坚持使用RDBMS解决方案。否则,您将花费大量的时间试图在您的应用程序/业务逻辑层重制ACID保证,并且您可能仍然没有RDBMS解决方案那么高效。#3: 您需要Web/高可伸缩性吗?总是在先计算出您需要什么样的可伸缩性。在这个特殊的例子中,我们正在为微软内部游戏工作室构建系统。有10到15个游戏工作室正在考虑中——这取决于有多少注册用户使用这个系统每个工作室多有3-5个活跃的游戏标题。它是帮助识别开发完成(中间或终的版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality)的软件过程。每个游戏标题为三个环境存储遥测模式——开发、预生产(PPE)和生产对于每个标题,将会有2-5个数据科学家同时修改游戏标题数据每一个标题事件都有大约50 KB的max事件数据我们被要求存储所有的版本——我们估计这个数字是1000除以一个标题的生命周期有了以上粗略的估计,我们就可以计算并发性和存储需求:
总并发数 = 工作室数量 * 标题数量每工作室 * 用户数量每标题
= 15 * 5 * 5 = 375 并发用户
大存储 = 工作室数量 * 标题数量每工作室 * 环境数量 * 事件存储大小每版本* 需要存储的版本数
= 15 * 5 * 3 * 50 KB * 1000 = 11250000 KB = 11.25 GB大存储
SQL Azure支持1024个并发打开连接,并且能够很容易地支持并发需求。另外,在考虑云计算时,11.25 GB实际上是一个非常小的数字。
这个系统并不是下一个FaceBook或必应——那么NoSQL的路线真的值得吗?
(作者: 来源:)