程序猿十年多,三个月前换工作,算是第一次从Mid Level到 Senior Level。 当时觉得新工作工资比之前多30%,2天去公司,应该方便照顾家庭,技术栈庞杂(有.NET, .NET CORE, MVC,Angular, monolith, microservice, Azure, DevOps, etc.)有新有旧,而且计划往微服务,Angular方向迁移。我个人本来就是微软技术背景,喜欢前端,也想学习云和运营,感觉这里应该能学到很多。 但是工作三个月后发现两个问题: 第一是普通项目管理有问题,导致大家经常加班。团队没有按照真正的Agile Sprint的方式运行,每天Ticket就是经理分派,没有集体分析,没有集体评估完成时间,经理和大老板都不懂技术,进度按感觉走,想好下一周交付什么,就让团队“死磕”的完成,大家经常加班,团队任务也还是经常无法按期交付,经常质疑员工的进度。(我之前的公司都是集体Sprint planning,按照大家的velocity 和总任务来计划Sprint的任务,我们的交付率高,返工率极低,工作近三年只有一两次无法按计划 reach Sprint Goal,还是因为外部合作公司的团队的延误,所以对比之下觉得当前的工作模式太糟了) 第二是遇到大老板的项目,加班更加变本加厉,而且不开心。大老板属于micro management或者 helicopter management风格,而我最近被调到了一个他主导的内部项目,他提需求,我做前端,和另一个公司资深后端开发员配合,没有BA,没有UX。需求不清晰就算了,对交付时间的天真就让人很受不了,资深后端队友也是无奈,说这就是老板的风格,他也是加班再加班。我按照之前公司的方式做了初步分析,感觉怎么说也要几周(我心里想5周可能都不够,我说a couple of weeks),经理直接说就几个screen(一个form,new, edit, view, etc. 认为是一个screen,component communication and state management, styling are not considered..),大老板肯定不可能接受。大老板要求每天看到进展。我尽量每天给demo,先是UI Mockup的,现在是angular app,大老板经常质疑我的进度,而那个进度是我基本上天天加班,周末加班才取得的。大老板还时不时在5点后叫我俩开会谈项目,因为他那时候才有空,一谈就一个多小时,记得一次是长周末前的周五,还有一次他在家里,我们在公司,回到家都八点多了。完全没有work life balance。因为加班赶进度,错过了和老婆孩子去Disney on ice以及其他若干家庭亲子活动。 现在重看之前换到这里想学的新技术,其实不太能抽出时间,因为已经加班很多。做ticket的部分,我们的文化是公司资深程序猿会直接告诉你从哪里拷贝现有的代码,基于现有代码修修改改完成新功能,原创的机会特别少。因为产品太庞大,很多前后端的功能技术上差不多都有过类似的实现,而且由于长时间的short-term thinking, team throughput over quality, due to time pressure out of this micro management style, 代码质量风格特别杂而乱,即便leads像优化和重构,也很难有时间。 和几个中介聊了一下,之前帮我找到现在工作的说目前市场不如三个月前,工作机会少,由于很多裁员,还有很多合同工合同6月底到期,找工作的多。不过还是有些工作,联系到的另一个中介马上就列了两个还比较对口的工作,还都是fully remote。 目前还属于6个月的试用期,只有1周notice period,打算换工作。但想听听大家的意见,看看是不是我不够冷静,有没有欠思考的地方。谢谢 |