草庐IT

外包公司中的"炼狱",极度摧残,避免踩坑。

程序猿路野 2023-03-28 原文

引言

前些天羊了,一直没有更新。今天给大家聊聊两家外包公司,遇到的小伙伴避免踩坑。

咱不说那些虚的,什么尽量不要去外包公司,尽可能找甲方,这些谁都知道,肯定是因为一些原因(比如学历、项目经验、技术有待提升、大环境不好等)没有更好的选择,不得已才选择的外包。

咱就说只有外包offer的情况下,尽量避免一些很悲惨的甲方公司和项目, 比如下面要说的这两家:中远海运和南方电网,这两家公司都是甲方,外包到这里的只能用悲惨形容,别的外包是“玩命”,外部到这两家直接“送命”。

中远海运

先说中远海运吧,中远海运主要有三类项目:海运、特运、还一个叫啥运忘记了。
中远海运的项目都有一些坑爹的特点:

  1. 半纯外包项目: 中原的项目总负责人(管理)+ 二方外包(项目小负责人、需求、架构组)+ 三方外包(架构组开发人员 + 业务开发人员),这种项目的团队人员临时的办公环境临时的,自然工作环境比较艰苦,团队里也没有技术很厉害的人。
  2. 需求杂乱: 基本没有需求文档,一张图片打天下,需求口口相传,成员之间理解差异大,需求变动也很大。
  3. 框架简直就是反人类
    ①框架以前端为驱动,后端跟着前端走,搞不好需求都不找后端,直接找前端确认了需求,等到开发的时候后端都不知道这事。
    ②数据封装另类,维护性特差,两个list封装数据,一个封装值,一个封装属性,表结构发生改变,数据封装难以维护。
    ③反控制反转,依赖正置。下层决定上层的实现,打个比方工作流控制,调用方决定接口方的实现,做流程的时候,你就天天和架构组沟通,告诉架构组你们流程是什么样的,他们专门给每个流程搞一套接口。
  4. 开发权限太低,对开发的心态伤害太大。你写一个Util工具类,引入一个工具包,得和“架构师”商量。
  5. 工作模式不合理,上午没事干,还得装作很忙(下面说的扫描仪会扫描你屏幕),下午来活,晚上加班,项目后期更加严重。
  6. 特远项目组加班严重,三方外包人员加班996,他们自己人加班更狠,二方外包(中远各子公司、分公司调来的人)在项目场地旁边住房开发,三方外包下班,他们还在住房奋斗。对他们来讲,工作日晚上那叫正常上班了,从项目启动开始,规划的就是996。
  7. 特远项目组配备扫描仪小领导,他就好像没事做似地,就盯着你们在干嘛。早期培训多,几十页pdf全是前端的,就1/3页的后端内容,把四五十号人全部叫去开会,扫描到后端咋不认真听;前天的工作内容已经完成,就给了后端一个图片,需求还没说,需求人员开会去了,扫描到你一个上午都在微信聊天;需求直接找前端改了需求设计,然后一起需求确认,需求一番慷慨陈词,后端都不知道那事,扫描到后端咋不做笔记。

当然了说这么多,中远也有些比较人性化的:
比如包两餐,考勤宽松。因为加班,早期不是很忙的时候经常吃饭,经常有奶茶,水果捞,后面还给订晚餐。

南方电网

再来说说南方电网吧。一句话概括就是规矩多,心神损耗大,待遇匹配不上要求(主要是规矩方面)。

办公麻烦,好像都是云环境办公。
最让人烦的应该算考勤打卡了:8点半上班,办公区离地铁步行差不多20分钟的距离,所以8点要到达附近地铁站。考勤很严,钉钉和小程序双重打卡,打卡范围小,进入园区才能打卡,每次都要拍照,要视频人脸验证,不摘口罩就打卡失败。小程序承载低,上下班高峰期可能卡住一直打不了卡,早上小程序打卡时间有半个小时的缓冲期,但是晚上只能等着。
其他目前具体不清楚,不过听说大多数项目加班也挺多的。

总结

总结一下就是这两家公司的外包都很折磨人,个人来讲的话,南方电网更令人煎熬,入场第一天考勤打卡直接就把我搞的心力交瘁,入职就想跑路那种。插入一句,曾经面试南网的时候,技术面试官友情提示:不太急着找工作的话,再找找其他的吧,等你来了就懂了。

以上纯属个人经历感受,希望对找到外包工作的小伙伴有所帮助。
年底加上今年的行业寒冬,先这么混着吧,先做准备,后面再跑路吧。

有关外包公司中的"炼狱",极度摧残,避免踩坑。的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  3. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  4. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  5. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  6. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  7. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  8. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  9. ruby - rspec 需要 .rspec 文件中的 spec_helper - 2

    我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只

  10. ruby-on-rails - active_admin 目录中的常量警告重新声明 - 2

    我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA

随机推荐