提问 HN:吐槽,是我不行,还是这家公司的技术文化不行?

3作者: apatheticonion3 个月前
大家好,你们帮我看看吧?我是不是一个糟糕的开发者(这总有可能),还是我太关注不重要的事情了? 我拥有 13 年以上的从业经验,在大科技公司工作了大约 4 年,一个月前加入了一家成熟的初创公司(成立 10 年,盈利),我开始怀疑自己是否脱节了,因为我经历了“争夺影响力”、排名等残酷的竞争。 我不知道是否应该继续留在该公司,因为我觉得在这里我无法真正做好工作,而且感觉如果我留下来,5 年后我的经验会比刚开始时更少。 ----- 所以 我一个月前加入了一家成熟的初创公司,他们有一个遗留应用程序,正在逐步从 Angular 1 迁移到 React。 他们“好的”应用程序是一个高度定制的 React 实现,非常难以理解,包括某种组件中间件和半生不熟的 Redux 集成,无法与任何开发工具一起使用。 客户端大约有 20MB 的 JavaScript 发送到浏览器,本地开发工作流程非常糟糕。 90% 的 JavaScript,10% 的 TypeScript,而且团队真的不想迁移到 TypeScript,禁止将现有代码移植到 TypeScript。 我开始时注意到了一些基本错误,比如没有将 package-lock 提交到代码库,所以我问了这个问题并提出了一个 PR 添加它——但被拒绝了,因为这“有风险”。 package-lock 在 npm audit 中发现了 60 个严重漏洞,我提出了这个问题,但被告知解决这些问题也“太有风险了”。我建议我们至少应该为应用程序添加一个 CSP,考虑到一些漏洞与注入攻击有关——再次被拒绝,因为这“有风险”。 在开发过程中,热重载时间为 30 秒,所以我提出了一个 PR,添加了 `npm run dev:next`,它使用 Rspack 仅为开发构建客户端,这使热重载时间缩短了一半,但也被拒绝了。 我注意到他们没有任何自动化测试(有一个海外团队在每次发布前进行手动 QA),并询问他们是否愿意构建一个自动化测试套件——他们说不。 他们也没有任何 CI,所有验证都在 pre-commit hook 中进行,他们也不感兴趣添加 CI。 我注意到他们没有对客户端进行任何可观测性——没有错误率,没有加载时间。我问他们如何知道是否有任何问题,显然,如果没有在 QA 中发现,“客户会打电话给我们,我们来修复它”。我建议采用类似 Sentry 的工具来开始跟踪客户端,以帮助量化功能的影响并抢先处理错误,但再次被告知不行,因为这“有风险”。 今天早上我的经理和我进行了一对一的沟通,他告诉我,我不应该尝试在分配给我的任务之外做出贡献,并且我需要每天提交一个 PR,否则我将被解雇。 我重复了上述担忧,他说他们雇我来完成任务,仅此而已。
查看原文
Hey all, can you sanity check me? Am I a bad developer (always a possibility), or do I focus too much on unimportant things?<p>I&#x27;ve got 13+ YoE and been working in big tech for about 4 years, joined an established start up (10 years old, profitable) a month ago, and wondering if I am out of touch after the meat-grinder that is competing for delivering &quot;impact&quot;, stack ranking and so on.<p>I don&#x27;t know if I should stay at this company as I feel like I can&#x27;t really do good work here and it feels like, if I stay, I&#x27;ll be less experienced at the end of 5 years than when I started.<p>-----<p>Soo<p>I joined an established start up a month ago, they have a legacy app they are incrementally migrating from Angular 1 to React.<p>Their &quot;good&quot; app is a super custom React implementation that&#x27;s extremely difficult to understand, including some kind of component middleware and half baked Redux integration that doesn&#x27;t work with any devtools.<p>The client is about 20mb of JavaScript shipped to the browser and the local development workflow is quite poor.<p>90% JavaScript, 10% TypeScript and the team doesn&#x27;t really want to move to TypeScript, banning porting existing code to TypeScript.<p>There were some basic errors I noticed when I started, like not committing the package-lock to the repo so I asked about it and raised a PR adding one - which got declined because it was &quot;risky&quot;.<p>The package-lock raised 60 critical vulns in the npm audit, which I raised and was told addressing them was too risky. I suggested that we should at least add a CSP to the app, given some of the vulns are implicated in injection attacks - again, too risky.<p>During development, hot reload times are 30s so I raised a PR that added `npm run dev:next` which uses Rspack to build the client only for development, which halved the hot reload time, but that was declined.<p>I noticed they don&#x27;t have any automated testing (there&#x27;s an overseas team the does manual QA before every release) and asked if they&#x27;d be open to building out an automated testing suite - to which they said no.<p>They also don&#x27;t have any CI, all validation happens in a pre-commit hook, which they are also not interested in adding in.<p>I noticed they don&#x27;t have any observability on the client - no error rate, no load times. I asked how they know if anything is wrong and apparently, if it&#x27;s not caught in QA, &quot;customers call us and we fix it&quot;. I suggested adopting something like Sentry to start tracking the client to help quantify the impact of features and preempt errors before they escalate and, again, was told no because it was &quot;risky&quot;.<p>My manager had a 1:1 with me this morning and told me that I should not attempt to make contributions outside of the tickets I am assigned, and I am expected to raise 1 PR per day otherwise I will be let go.<p>I repeated my above concerns and he said that they hired me to do tickets and that was it.