
谁跟你说的DBA工资很高,程序员工资很低?程序员这个覆盖面太广了,你用一个"精确定位"的职位和一个广泛群体去比较,本身就没有可比性。在我认识的人中,有年薪上百万的DBA,但准确说他拿100万+干的活也不是单纯DBA的工作。同时,我同学里有系统构架师,一样也是年薪百万以上。但这些人都不具有普遍性,都已经是这个行业里在打工者这个层面的佼佼者。
DBA从门槛上说我认为不高不低,你可以看看丁香园CTO发表过的一篇他的工作经历,他是非计算机专业毕业,印象中当时做过服务器管理,然后就是从Oracle DBA开始后来成为全国屈指可数的Oracle ACE Director,其实只要你付出比别人多的努力,所谓的"门槛"都是吓唬胆小者的。
现在,网络上有些数据库行业已成名的既得利益者在忽悠DBA行业前景多名好,工资多么高,但我看现实看并不是这样美好(或许他们可能还有些商业目的,比如推销培训课等)。我们公司(北京)招入的Oracle DBA,2-3年工作经验,有OCP认证,让我看DBA的基本工作都能胜任,但月薪也就税后4000多,我们同等经验年数的Java程序员,比他工资还略高。我并不认为我们给的工资低,因为如果他真能拿到1万元的Offer,我相信他早跳槽了。另外,我们也不担心他跳槽,因为拿差不多的工资预算,同样可以招来差不多水平的DBA,因为我们的HR经常收到应聘者简历。所以不能总看那些成功人士光鲜的一面,也要看看行业中的中下层的人们生活的怎样。你可能会问为什么会这样?我觉得DBA职位需求远远小于程序员,而最近很多培训机构,包括大学开课程,量产DBA造成供求失衡是个不可忽视的因素。你考虑一下,国内中小规模的软件开发公司有多少设置专职DBA?我知道的很多都是程序员兼DBA,我当年也是在PowerBuilder项目组里兼职做DBA的开始接触数据库的。那些名声显赫的银行,保险,移动,互联网公司的大牛DBA们,按楼上朋友说都是年薪很高的,但那种职位数又有多少?已经成功的人士又有几个有勇气轻易挪窝给别人让位?所以我在DBA圈子里听一些年轻工程师的抱怨是,学习了,准备了,认证也拿了,但就是找不到入行的机会所以相对于DBA,程序员的入行职位机会可能要多很多。从你关心的待遇说,百度的一般程序员待遇可能比甲骨文DB Support的待遇要高了。
我也不列举优秀程序员的待遇了,因为讨论那些上层的待遇没有代表性,其实作为一个职业选择,还是从你的兴趣,评估你自己适合做什么出发,一旦入行,就专注去做到好,同时还需要一些机遇,甚至做一些主动选择(比如转型)和变化。
程序员必用五大应用软件
1、Beyond Compare
上榜理由:是一款不可多得的代码比较软件,使用Beyond Compare可以很方便地对比出两份源代码文件的不同之处,相差的每一个字节用颜色加以表示,查看方便。
2、Navicat
上榜理由:Navicat是一个可多重连接的数据库管理工具,它可以连接到MySQL、Oracle、PostgreSQL、SQLite、SQL Server和/或MariaDB数据库,让数据库管理更加方便。
Navicat Premium支持快速地在各种数据库系统间传输数据,传输指定SQL格式以及编码的纯文本文件。执行不同数据库的批处理作业并在指定的时间运行。Navicat的功能不仅符合专业开发人员的所有需求,对数据库服务器的新手来说学习起来也相当容易。
3、Notepad++
上榜理由:软件内置支持多达27种语法高亮度显示,包括各种常见的源代码、脚本,能够很好地支持nfo文件查看,还可显示缩进引导线,代码显示得很有层次感。
Notepad++对于HTML网页编程代码,可直接选择在不同的浏览器中打开查看,以方便进行调试;可显示选中文本的字节数,并非普通编辑器所显示的字数。另外还提供了一些实用工具,如邻行互换位置、宏功能等等。
4、Source Insight
上榜理由: SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。
Source Insight拥有内置的对C/C++,C#和Java等程序的分析,是如今最好用的语言编辑器,还支持自己定义关键字,同时还具备可快速访问源代码和源信息的功能。
5、VMware Workstation
上榜理由:软件可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。
虚拟机是独立运行主机 *** 作系统的离散环境,在 VMware Workstation 中,可以在一个窗口中加载一台虚拟机,它可以运行自己的 *** 作系统和应用程序。
数据库系统一般由数据库、硬件、软件、人员4个部分组成:
1、数据库是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
2、硬件是构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
3、软件包括 *** 作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,是在 *** 作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据 *** 纵功能、数据库的运行管理和数据库的建立与维护。
4、人员主要有4类。系统分析员和数据库设计人员,负责应用系统的需求分析和规范说明;应用程序员,负责编写使用数据库的应用程序;最终用户,利用系统的接口或查询语言访问数据库;数据库管理员负责数据库的总体信息控制。
扩展资料:
常见数据库系统
1、MySQL
一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
2、SQL Server
Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。
3、Oracle
Oracle产品系列齐全,几乎囊括所有应用领域,大型,完善,安全,可以支持多个实例同时运行,功能强。能在所有主流平台上运行。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
参考资料来源:百度百科-数据库系统
六点区别:
1、文档能力
“文档是第一生产力”,这一点在程序员的世界是毫无异议的。看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他们tutorial,他们的getstarted,他们的reference文档写的多么的易懂。
如果要获得更高的报酬,文档是绝对关键的因素。有文档就有沟通,就有交易。搞技术的容易忽视文档的力量,也因为写文档十分困难,更多程序员选择舒适区,习惯写下代码,但正因为如此,妨碍了不少程序员的进阶。
2、解决BUG的效率差别
普通程序员可以利用搜索引擎(百度)寻找答案,经常性找不到好的解决办法,然后更换技术方案!顶级程序员也利用搜索引擎(Google)寻找答案,一般bug都顺利解决(其实跟前期框架选择等关系非常大)。
3、表达能力
表达能力决定了你所做的技术的影响范围,决定了你的影响力,决定你的威信,决定了你的报酬。普通程序员和顶尖程序员的表达能力差别非常大,这主要还是取决于他们格局的不同。良好的沟通能力让你理解产品经理的设计思路,让你更好的展现自己的特长。
4、优雅和美观的抽象能力
普通程序员和顶尖程序员之间的区别在于优雅和美观的抽象能力。好的系统通常是要做到两个方面才合格,其一是好用,其二是好看。但是令人遗憾的是,普通程序员仅仅从实现的角度进行堆砌。顶尖程序员往往能够更进一步,经常会去思考用户在 *** 作这个功能的时候,到底还会做什么事情。
5、面对如何开源社区态度
普通程序员几乎没有在开源社区混,这也导致经常对新技术发展关注度低。而顶尖程序员则是拥抱开源社区。
6、面对功能点
普通程序员:立马开始构思自己如何实现脑海里出来一个方案。
顶尖程序员:发现功能点很普通github上面早已经有非常多的解决方案,着手根据业务选择一个最适合最优的方案。
但是优秀的程序员一开始都是普通程序员,所以加油吧!
以上就是关于为什么 DBA 工资很高,而程序员相对较低,两者哪一个更难全部的内容,包括:为什么 DBA 工资很高,而程序员相对较低,两者哪一个更难、聊聊作为程序员,你每天必用的软件有哪些、数据库系统由哪几个部分组成等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)