掌握必要的技术列表-(不定期更新)

需掌握的硬技术:

  0. 常用的数据结构、算法;

  1. 面向对象思想、面向对象设计原则、面向对象开发和实现;另外对于思想还有面向过程、面向接口服务、面向切面、函数式编程等;

  2. 设计模式、架构模式、I/O模式、分布式模式、网络模式等;

  3. 服务端的开发经验,各类服务端相关技术;

  4. 后端开发语言:Java、Go、Python、C++;

  5. 掌握一定的必要前端知识(HTML/CSS/JS/ES等)、框架开发和使用技术;

  6. 数据库开发、实践、调优等经验;

  7. 高并发、高性能、高负载、分布式开发、分布式系统设计经验、微服务设计等开发经验;

  8. TCP/IP、UDP、HTTP/HTTPS协议、SOCKET开发,Restful、RPC等深刻了解掌握以及各类网络模型;

  9. 各类中间件、容器技术、集群开发技术;

  10. 缓存、消息队列、网络存储、协议、安全、交换数据格式、序列化等;

  11. 大数据开发框架、大数据搜索技术、web开发框架等;

  12. Git、SVN、Maven、Jenkins等版本控制技术、部署平台等;

  13. 桌面端开发,C++:Win32/DUI/QT,C#:WinForm/WPF,Node:Electron,其他语言或界面库类似或可暂时不用考虑(优选主流);

  14. 必要的系统编程技能:Windows API,Linux 系统编程;

  15. 必要的软件调试、问题跟踪分析、软件性能优化技能;

 

需掌握的软技能:

  0. 快速学习的能力:新语言、新技术、新框架、开发模式和工程流程;

  1. 喜欢阅读、分享知识、看书、记笔记、看文章、写博客、论坛等;

  2. 喜欢并参与开源项目或维护自己的开源项目;

  3. 工作中的工作流程、责任心、情绪管理、精力管理、指导引导能力;

  4. CodeView、代码重构、模块/框架/架构设计能力;

  5. 任务复杂度识别、任务优先级排期、任务分配和完成实现;

  6. 与开发人员、产品、测试、运维、运营、用户,分类别沟通交流,解决工作中的需求、冲突问题、疑难问题、跟进;

  7. 会撰写各类技术开发文档、PPT、工作报告等;

 

可期待的技术:

  0. 编程语言:Rust、Elixir、Nim、......;

  1. 

 

posted @ 2019-10-27 11:08  浩月星空  阅读(238)  评论(0编辑  收藏  举报