从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
B.一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/javascript等等。
C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
H.项目管理、体系结构、框架知识。
正确的路线应该是:B→C→E→F→G→H。
还需要补充几点:
1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
3).编程语言作为学习软件开发的主线,而其余的作为辅线。
4).软件工程师着重于B、C、E、 D;软件设计师着重于B、C、E、 D、F;架构设计师着重于C、F、H。
分享到:
相关推荐
嵌入式软件开发是一个复杂而广泛的领域,涵盖了操作系统、硬件、编程语言以及系统设计等多个方面。以下是一个初学者的学习路线图,旨在帮助你逐步掌握这一领域的核心知识。 首先,你需要熟悉Linux操作系统。Linux是...
测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发学习路线及面试题测试开发...
"软件测试的技术学习路线图" 软件测试是软件开发过程中的一个重要环节,旨在确保软件产品的质量和可靠性。本文将从测试基础理论、数据库学习、Linux使用、接口测试和性能测试五个方面,对软件测试的技术学习路线图...
我结合个人的阅读、思考以及前辈们的建议,把自己目前认为不错的我的学习路线图拿出来跟大家探讨探讨,无论是从软件开发的整体还是部分来考虑,我认为这些“关键过程”很具有指导意义,希望帮助到小伙伴们。...
尽管具体内容部分主要是博客链接的重复,我们仍可以根据标题和描述来构建与软件开发相关的知识点。 ### 软件开发者的路线 #### 一、基础技能与编程语言 对于软件开发者而言,掌握至少一种编程语言是入门的必要...
### 嵌入式开发学习路线图详解 #### 一、为什么选择学习嵌入式? 随着信息技术的发展,嵌入式系统已经成为IT应用领域中的一个重要分支,具有广阔的应用前景和发展潜力。据行业专家分析,嵌入式领域的人才缺口巨大...
总的来说,嵌入式开发学习路线图新版向我们展示了一条清晰的学习路径,涵盖从基础入门到高级技能的各个阶段。通过系统的学习,不仅可以满足嵌入式行业的需求,还能在职场上占有一席之地。对于那些愿意投入精力和时间...
本资源“游戏开发学习路线”旨在为初学者提供一个清晰的学习路径,帮助他们逐步掌握这一领域的核心技能。 首先,游戏开发的基础是编程语言。通常,游戏开发最常用的语言包括C++、C#、Java和Python等。C++因其高效性...
但如果能运用得当,他又是一门开发利器,零成本的抽象和极快的运行效率使得c++编写高性能软件具有得天独厚的优势。 我写这条学习路线的目的也是因为,我在初学c++时踩了很多的坑,也走了很多的弯路,在初期浪费...
Java学习路线(鱼皮)是一条龙版本的学习路线,从入门到入土,旨在帮助学习者快速掌握Java开发的所有知识点。本路线的特点是新、完整、实用、开源、回馈社区、持续更新。 学习路线的主要内容包括准备阶段、Java...
由于提供的文件内容无法直接查看,我将基于标题和描述中提供的信息——“嵌入式linux驱动开发工程师学习路线”,来详细阐述这个领域内的关键知识点,以及成为一名合格的嵌入式Linux驱动开发工程师所需掌握的技能和...
我结合个人的阅读、思考以及前辈们的建议,把自己目前认为不错的我的学习路线图拿出来跟大家探讨探讨,无论是从软件开发的整体还是部分来考虑,我认为这些“关键过程”很具有指导意义,希望帮助到小伙伴们。
第三,编程语言作为学习软件开发的主线,而其余的作为辅线。第四,软件工程师着重于编程语言、面向对象思想、关系型数据库和IDE;软件设计师着重于编程语言、面向对象思想、关系型数据库、IDE 和 UML 建模工具;架构...
这个链接提供了从零开始的软件开发学习路线,涵盖了不止Java,还有其他相关技术和工具,适合想要系统学习软件开发的人士。 在学习过程中,除了视频教程,还需要结合实际项目实践,参与开源社区,阅读官方文档,...
### 软件测试学习路线及知识概括 #### 一、软件生命周期(SDLC)的六个阶段 **1. 问题的定义及规划** - **阶段概述**:在这个初始阶段,软件开发团队与客户(需求方)进行沟通,明确软件项目的目标、范围以及可行性...
### Android开发最佳学习路线图详解 #### 行业背景与发展趋势 随着移动互联网技术的飞速发展,Android作为一款基于Linux的开源操作系统,在通信产业链中扮演着至关重要的角色。从手机方案商、集成商到运营商及内容...
测试学习路线图是针对软件测试领域的一套系统性学习路径,涵盖了多个关键的测试技术和实践。这个路线图旨在帮助初学者或希望深入测试领域的专业人士构建全面的技能树,提升其在自动化测试、接口测试和性能测试等方面...
### 软件测试学习路线及知识大全 #### 一、软件生命周期(SDLC)的六个阶段 **1. 问题的定义及规划** - **概述**:此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 - **重要性**:在这个...
Java作为一种广泛使用的编程语言,在软件开发领域有着举足轻重的地位。对于初学者来说,掌握正确的学习路径至关重要。以下是一份详细的Java学习路线,旨在帮助学习者从零基础开始,逐步成长为能够独立完成项目的Java...
### SAP+ABAP 学习路线图解析 #### 一、引言 SAP(Systems, Applications, and Products in Data Processing)是全球领先的企业管理软件供应商之一,其产品和服务广泛应用于各行各业。ABAP(Advanced Business ...