实际上,开发人员还可以管理DBMS和系统吗?[关闭]


21

我真的不知道该问什么。所以就到这里。

我在一家很小的公司工作,该公司生产ERP软件和网站。

1位具有10年以上经验的开发人员。
2位具有3年以上经验的开发人员。
3位具有1年经验的开发人员。

而已。
没有团队,没有DBA,没有系统管理员。
这里没有人拥有Web开发方面的专业知识,所以我碰巧负责Web开发。但是我只有3年的经验!作为开发人员!


我知道在一家小公司中,您需要做很多不同的事情,但是如果我必须做sysadmin,数据库体系结构,软件设计和开发,这是否太多了?哦,我被要求在不同的平台上做所有的事情。
我目前正在使用JSP,ASP,MSSQL,MySQL,Oracle,Windows Server和Linux。
在数据库中,我从编写查询到备份和恢复。
服务器设置,系统崩溃恢复,数据库和服务器迁移。
毛绒HTML,Javascript和CSS :)
我负责的项目数量:5

我不是所有的专家!
我必须搜索Internet,阅读教程并在StackOverflow中提出问题才能完成所有工作!

所以我问你,这正常吗?
这是正常的做法吗?
无论我去哪家小公司,我都会面对同样的情况吗?
我在韩国工作。
贵国情况如何?

PS 谢谢大家的意见。我要对所有人进行投票,因为所有人都以不同的方式帮助我看待它,但是显然您需要15的声誉才能投票:(


36
觉得自己很幸运。您有机会学习各种技能,并获得报酬。
罗伯特·哈维

2
是的,我确实是这样认为的。我并不是特别抱怨,而是问这是否是正常做法。哦,也许我应该将其添加到问题中。
2013年

是否太多取决于您。正如其他人在回答中所说的那样,小公司让人们兼任其他职位并不少见。如果您觉得工作不堪重负,那么经理就要承担一些责任。同样,如果您做了很多自己不想做的事情以及不想做的事情(并被雇用),请再次与您的经理讨论或开始寻找其他角色。我个人喜欢做sysadmin的工作,而当我在一家大公司却不允许我在服务器上工作时,我会很想念它。;-)
克里斯

3
你不是一个人。我也在公司做所有事情(我的意思是所有事情)。DBA,系统管理员,程序员,Web开发人员,用户支持,网络,作品。
MikeTheLiar 2013年

Answers:


33

以我的经验,是的,对于小公司的开发人员来说,扮演各种各样的角色是完全正常的。对于这么小的公司,只有三个开发人员而没有专门的DBA或sysadmin,这当然是正常的。

但是,我发现对于这么小的公司来说,使用如此广泛的技术是不寻常的。JSP和ASP?Windows和Linux?SQL Server,MySQL和Oracle?通常,小公司将专注于一个技术平台,以避免过于分散。

如果您的工作涉及在一个平台(例如ASP.NET + SQL Server + Windows或Java + Oracle + Linux)上进行全栈开发,您是否还会感到不知所措?

无论如何,如果您想更大程度地专精,是的,您应该寻求更大的公司。团队越大,拥有专家就越显得可行和有益。


谢谢。补充一点,如果要求我也使用SAP PowerScript开发和维护ERP软件,这仍然是正常的做法吗?还是传播得太稀了?
2013年

尽管@PerfectGundam尚未解释其雇主为何拥有如此多样化的平台;如果您在为新开发更改平台时没有重写旧系统的好处,那么最终大量使用它们并不难。当偶尔的利基市场在公司偏爱的平台上没有好的选择时,可能会发生离群值仅占总数很小的情况。并且如果公司正在为第三方开发软件;创建适合客户首选堆栈的内容可能会导致大量的平台混杂,每个平台使用一次或两次。
Dan Neely 2013年

@DanNeely-哦,毫无疑问,这就是事实。对于一家小型代理公司而言,总是存在对任何事情说“是”的风险,因为获得销售要比诸如“我们是否有任何人能够真正完成这项工作?”之类的小细节更为重要。:-)
Carson63000

14

根据经验,我可以说,作为软件开发人员的生活因您所从事的公司规模而异。

较小的商店往往需要更多的多任务处理并承担多个角色,而大型公司通常对每个人都有非常严格的描述角色。

一个极端是单人表演,无论是否适合您的强项,您(显然)都必须完成所有工作。

另一个是大型跨国公司,仅在您的城市中就有多个地点:在这里,您往往会有一个准确的职位描述,该职位描述可以准确地告诉您您在做什么。

同样,我认为,它也将根据您的确切业务领域和地理位置/文化位置而变化。


13

在对开发人员必须完成的任务进行枚举时,您还可以输入:

  • 交互设计,
  • 视觉设计
  • 可用性
  • 安全,
  • 需求收集
  • 测试和质量检查,
  • 部署
  • 保养,
  • 项目管理,
  • 团队管理,
  • 等等

本质上,这就是程序员开发人员之间的区别。

  • 无论多么熟练,程序员的工作就是编写代码,最终对不同的方法(即初步设计)进行思考。

  • 开发人员的工作是能够运行一个小型或中等规模的项目,这需要更广泛(因此也更浅)的知识。

为了克服一个事实,即一个开发人员将不如一个花了几年时间学习一件事的人了解那么多的事实,所以项目是由团队完成的。这就是(或至少应该)组织项目的方式。在大多数情况下,一个小型项目不需要任何领域的太多技能,而大型项目则需要。

  • 如果我以开发人员的身份搞砸了一家小公司的电子商务网站的安全性,那就不好了,因为该公司可能会损失几百美元,甚至很少,几千美元,但这并不关键。如果我搞砸了安全性或控制空中交通的系统,那真的很糟糕。
  • 如果内部会计软件产品的交互设计是为一个小公司完成的,并且仅由在那里工作的两名会计师使用,那么这并不是很有害。如果新的Apple产品的交互设计不佳,则可能对公司的销售和声誉产生重大影响。
  • 等等

这意味着,通过在小型公司中从事小型项目,您经常会发现自己在做很多事情。这些公司无法负担与IT相关的所有数百个领域的专家,因此他们寻找的是各行各业的杰作。

开始从事大型项目,您会发现您的角色将缩小,同时又变得更深。您的整个工作可能是编写CSS代码,但是根据可视化设计师的工作,您将需要了解任何CSS怪癖并且能够非常快速地对Web应用程序进行样式设置。如果您无法解释Sass与LESS相比的优势,或者您不知道CSS Sprite是什么,那么您将没有任何借口。

由您选择自己喜欢的东西。

  • 成为所有行业的佼佼者并没有什么不好,尤其是因为它可以让您足够灵活:如果需要系统管理员,那么您就会具备技能。如果几年后没有人需要系统管理员,但是现在Web开发人员的薪水很高,您也可以申请。
  • 专注于狭窄领域也没有什么不好。如果您对某个领域有深入的了解,那么拥有大量资金的大型公司可能会对雇用您感兴趣,因为您的技能水平的专家很少。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.