闻道有先后, 术业有专攻
不说计算机世界, 就说web开发这个领域, 涉及到的知识也是浩如烟海, 而且知识迭代更新的速度远远快于其他行业.
诸如以下名词你一定都接触过或者至少听说过.
PHP, .NET, Python, JAVA, HTML4.0 - HTML5, 关系型Database(MySQL, PostgreSQL等), 非关系型Database(Cassandra, Mongo DB, Redis等), web安全(OWASP), 大数据处理(负载均衡, 数据库复制, 缓存, 代理等), Linux服务器, shell脚本,
MVC, 设计模式, 数据结构算法, UI, 版本控制管理, 测试...
你也许正使用其中的几种组合, 甚至更夸张的是, 你都接触过.
也许软件工程里面的涉及到的所有角色你也都有涉猎. 比如产品设计(产品经理干的活), 前后端不分离, 你都得干, 甚至得自己做图片, 有时候你还得分担运维的角色.
你很辛苦的做着这些事情, 但是似乎成长不大. 虽然每个领域都有涉猎, 但是都不深入. 也许你可以做完你的工作, 但,
该停下万马奔腾了, 术业需有专攻. 你必须选择一个领域, 投入大部分精力使得自己成为这个领域的专家.
不从业务领域分, 比如你是做CMS, SNS, CRM, 甚至APP, 这些都不是可分的技术领域.
以下是一些通用的领域:
精通数据库
精通编程语言
精通平台(Windows, Linux, Mac OS)
比如你如果精通数据库, 对于数据库有深刻的理解, 那么你是DBA, 在中型大型项目中扮演着不可或缺的角色.
能够对数据库进行监控, 调优, 以及应急预案等.
比如你精通编程语言, 那么你也是web开发的核心人员, 你负责组织架构代码结构, 以更优美, 性能更高的方式组建复杂项目. 你的代码遵循合理的设计原则, 具有可扩展性, 高可维护性, 代码清晰, 简洁, 优美, 你写的代码就是后来人员学习的典范.
比如你精通平台, 精通Linux. 那么你就是高级系统运维人员. 你熟悉各项Linux命令. 你对web系统如何运行在平台上, 如何部署, 发布, 监控了如指掌. 一但服务器宕机, 你能够迅速定位错误原因, 以及影响. 在深入一些, 如果你精通Linux内核, 那么你已经脱离了web开发, 上升到了更高的层次.
当然, 这些也可能说的太泛, 也有更多的领域.
比如你:
精通HTML5, CSS3, JavaScript, 通晓浏览器兼容性, 可以快速设计优美或者说绚丽的展示页面, 能够设计前端接口, 完美与后台进行通信. 那么你就是优秀的前端工程师.
总之,
你应该在某个领域深挖探索, 拥有核心价值, 成为不可或缺的人.
至于到底该选择哪个领域? 已经超出了本文范畴.

浙公网安备 33010602011771号