对于刚开始进入IT的新人来说,“必备技能”往往意味着一个长长的、标有重要度的学习列表,但是过长的列表通常会导致新人不知如何开始学习,压力倍增。本文尝试列举出最重要的几个技能,也期望通过此列表能给新人一个比较明确的学习重点和路径。
深入学习一门编程语言
没有掌握任何一门编程语言,就不可能成为一名编程人员。
许多程序员试图在学习之初一次学习几种编程语言,以便应对他们第一份软件开发工作的需要。虽然我认为开发人员最终会学习多种编程语言, 但建议不要在开始时这样做。
因为同时学习多种语言只会导致混乱,也会分散学习其它技能的精力。相反,我建议深入的学习一种编程语言,这样也会对使用这种语言编写代码感到非常有自信。
如何组织代码
新手程序员在完成编程语言的学习之后,或者最好在学习编程语言的同时,需要掌握的是如何正确的组织代码。
通过Steven McConnell所著的《Code Complete》,可以帮助学习这个宝贵的技能。
组织代码意味着编写良好的、清晰可理解的、不需要大量注释的代码,因为代码本身是可自注释的。许多软件开发人员究其整个职业生涯都不曾具备这样的技巧,但是这个技能却是判断一个软件开发人员的技术和能力的首要标准。良好的代码结构代表的不仅仅是完成了编码工作,而是对编码事业的热衷奉献。
对于新手程序员来说,简洁清晰且含义明确的代码,能让你轻松地通过面试。
提升代码结构已经成为了软件开发的重要部分,但是提升的过程却是十分严格的。在这个过程中,虽然不需要编写新的代码,但是却需要和团队成员一起花费大量时间来维护现有的代码。
测试
现在,很多的软件项目都采用了所谓的敏捷流程,软件开发人员和测试人员合作的更加密切。代码质量成为了整个开发团队的责任,所以开发人员也需要对测试知识有一定了解。
对于开发人员来说,至少应该熟悉以下的基本术语:
- 白盒测试
- 黑盒测试
- 单元测试
- 边界条件
- 测试自动化
- 验收测试
面向对象设计
为了应对软件开发中的面向对象设计思想,开发人员也需要学习一种面向对象的语言。
面向对象设计是一种设计复杂程序的方法,它将代码分成了单独的类和对象(类的实例),这些类和对象封装了一些特定的功能。
我们一直试图在软件开发中管理复杂性,用对象的方式思考就能帮助我们做到这点。面向对象允许我们跳出一堆关系繁杂的组件,来清晰的定义和设计一个复杂的系统。
现在已经有大量的功能性编程语言,但是在软件开发过程中,你会发现那些最受欢迎的语言和模型都深受面向对象设计的影响。所以就需要深入的理解类、继承以及如何使用,还有多态和封装。
数据结构和算法
软件开发人员应该熟悉以下的数据结构:
- 数组或向量
- 链表
- 堆栈
- 队列
- 树结构
- 哈希
- 集合
掌握并熟练运用以上的数据结构,能帮助开发人员清晰的定义、存取、管理数据。通过合理的数据结构和算法,许多困难的编程问题就能迎刃而解。
常见的算法有以下几种:
- 排序算法
- 查找算法
- 图搜索算法
- 动态规划算法
- 模式匹配算法
善于利用好的算法,能起到事半功倍的效果。如果你对算法不够熟悉的话,就很难提出一个好的解决方案,这也就是需要我们掌握算法的原因。
事实上, 数据结构和算法也是软件开发中最有趣的领域之一。利用数据结构和算法来开发一个干净、简洁的解决方案,效果会非常好。
Gayle Laakmann McDowell的“Cracking the Coding Interview”书中介绍了有关算法和数据结构的所有知识。
学习这些知识是一个挑战,但却是非常值得的。掌握其中的任何一个技能,都能让你远远超过其他人。这些知识也正是其它软件开发人员所不具备的。
开发平台与相关技术
应该至少对一个开发平台以及与之相关的技术或框架有一定的经验。
平台通常意味着 *** 作系统(OS),但它也适用于与 *** 作系统类似的其他抽象系统。例如,你可能是专注于Mac或Windows *** 作系统的Mac开发人员或Windows开发人员,同时你也可以是专注于特定Web平台的Web开发人员。
具备某个特定平台的专业知识,不仅仅意味着需要熟悉平台本身,还需要掌握开发平台常用的开发工具、模式和通用框架。
框架与技术栈
除了学习特定的编程语言和平台外,学习并掌握一个框架和技术栈也是非常重要的。
框架是一组用于在特定平台或多个平台上开发代码的库,它通常会使该平台上的常见编程任务更加容易。例如,大多数C#开发人员使用NET Framework编写C#应用程序。NET Framework由许多库和类组成,允许C#开发人员在更高层次的抽象中工作。
技术栈则与框架有点不同,技术栈是一组通常包括框架的技术,通常一起用于创建完整的应用程序。技术栈使得创建应用程序变得更加容易, 因为它们提供了许多开发人员用于开发应用程序的常见范例,因此可以轻松共享知识。
学习技术栈是非常有价值的,因为这意味着你拥有开发完整应用程序所需的所有技能。许多使用特定技术栈开发应用程序的公司,也在寻找熟悉该技术栈的软件开发人员。
数据库基础知识
目前, 主要有两种数据库技术:关系数据库和文档数据库。
现在的开发人员应该很熟悉关系数据库,但同时也应该对文档数据库有所了解。
在软件开发中,数据库通常用于存储应用程序的数据。
对于数据库,开发人员至少应该了解以下方面:
- 数据库的工作原理
- 如何执行基本查询来获取数据
- 如何插入、更新和删除数据
- 如何添加数据集
源代码管理
管理源代码是任何软件开发项目不可或缺的组成部分。在使用源代码之前,应该有一个网络来共享项目的所有文件。
源代码管理工具最基本的功能,是保留软件项目中对文件所做更改的历史记录。它还允许多个开发人员同时处理相同的代码, 并将这些处理代码融合在一起。
所有的开发人员都应该知道如何使用源代码管理工具,以便能够检查代码并从多个来源融合代码。
构建和部署
目前,大多数软件开发项目都有一些自动化的构建和部署系统。同时也有许多不同的软件应用程序,来帮助团队自动化构建和部署任务。
构建
当你编写代码并将其合入到源代码管理系统中后,你想通过一些方法了解你合入的代码是否运行的很好,这就需要进行构建。构建会编译系统中的所有代码,并确保没有编译错误。一个复杂的构建系统还可以运行单元测试和用户测试,或者代码质量检查,并提供一些有关代码库当前状态的报告。
部署
部署系统负责将代码部署到产品机器上,或者将其部署到某种测试环境中。
虽然开发人员不一定要成为部署方面的专家,但是了解系统的基础知识以及构建和部署代码的过程也是非常的重要。
调试
对于软件开发人员来说,经常会花费90%左右的时间,来弄清楚自己的代码为什么不起作用了。不论你从事任何语言的代码开发,代码调试都是开发过程中不可缺少的一部分。
所以开发人员应该下定决心,认真的学习如何做到高效的调试代码。
方法论
一些软件开发团队在编写代码并完成他们的项目时,都遵循着一些方法论。所以开发人员至少应该熟悉诸多最常见的软件开发方法论中的基本几种,这里要说的就是瀑布开发和敏捷开发。
总结
尽管本文中列举的软件开发人员应该了解的知识很多,其中很多知识也许正是你所不了解,但是请不要沮丧。我们要做的就是认真的补充这些知识,不断的提高自己。
1、个人技能可以填:专业技能、英语技能和IT技能,也就是所说的技能证书和专业技能这两个内容。
2、个人技能主要是指你在你的专业领域所具备的能力。举个例子:如果是你学会计的,那么你的专业技能可以写“具备会计中的做日记账能力、制作报表能力、阅读分析报表能力”等等,说白了就是你的专业中你学到了或者你应该学到哪些东西。
IT主要学习:软件技术专业(网站应用开发方向)、软件技术专业(桌面应用开发方向)、软件技术专业(移动应用开发方向)、软件技术专业(数据库管理与应用方向)、网络系统管理专业、计算机网络技术专业、图形图像制作专业、计算机信息管理专业。补充资料:1软件技术专业(网站应用开发方向)培养未来网站应用的编码、测试人员,以及网页制作人员。熟练应用主流开发平台进行网站应用开发、网页制作、网站的管理与维护。核心课程来自于微软、Borland、Adobe等国际著名IT厂商,并有机会获得来自原厂的认证证书。2软件技术专业(桌面应用开发方向)培养未来Windows应用的编码、测试人员。熟练应用主流开发平台进行Windows应用程序的编码与测试工作。核心课程来自于微软、Borland等国际著名IT厂商,并有机会获得来自原厂的认证证书。3软件技术专业(移动应用开发方向)培养未来的手机、PDA等移动终端应用与增值服务软件的编码、测试人员。熟练运用主流开发平台进行手机、PDA等移动终端应用、增值服务软件的编码与测试工作。核心课程来自于Borland、微软、Symbian等国际著名IT厂商,并有机会获得来自原厂的认证证书。4软件技术专业(数据库管理与应用方向)培养未来的数据库管理人员、数据库应用设计与开发人员、信息管理系统开发人员。熟练掌握主流数据库产品,进行数据库应用的设计、管理与维护,以及管理信息系统软件的开发工作。核心课程来自于微软、Oracle、Sybase等国际著名IT厂商,并有机会获得来自原厂的认证证书。5网络系统管理专业培养未来的网络管理人员、系统管理与维护人员、网站维护人员。熟练应用主流 *** 作系统及相关软件进行企业网络的部署、管理和日常维护,以及小型网站的搭建。核心课程来自于微软、Turbolinux等国际著名IT厂商,并有机会获得来自原厂的认证证书。6计算机网络技术专业培养未来的网络集成、调试、布线人员。熟练进行中小企业网络设备的配置、管理和日常维护。核心课程来自于微软、华为、神州数码等国际著名IT厂商,并有机会获得来自原厂的认证证书。图形图像制作专业培养未来的平面设计师,网页制作人员、多媒体制作人员。熟练运用相关软件进行平面的设计与制作,网页设计,文档制作、印前处理等工作。核心课程来自于Adobe、Autodesk、Corel等国际著名IT厂商,并有机会获得来自原厂的认证证书。7计算机多媒体技术专业培养未来的美工动画制作人员,影视编辑,广告制作人员,多媒体综合应用开发人员。熟练运用相关软件进行视频编缉、音频编辑、动画制作、网页制作等工作。核心课程来自于Adobe、Autodesk、Corel、Discreet等国际著名IT厂商,并有机会获得来自原厂的认证证书。8计算机信息管理专业培养未来的信息管理人员、信息管理系统开发人员、办公自动化集成人员。熟练运用主流信息管理软件、办公软件进行企事业单位的信息采集、整理、统计等工作。核心课程来自于微软、Adobe等国际著名IT厂商,并有机会获得来自原厂的认证证书。
通常所说的IT是Information Technology缩写,即信息技术。
包含三个层次:
第一层是硬件,主要指数据存储、处理和传输的主机和网络通信设备;
第二层是指软件,包括可用来搜 集、存储、检索、分析、应用、评估信息的各种软件,它包括我们通常所指的ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等商用管 理软件,也包括用来加强流程管理的WF(工作流)管理软件、辅助分析的DW/DM(数据仓库和数据挖掘)软件等;
第三层是指应用,指搜集、存储、检索、分 析、应用、评估使用各种信息,包括应用ERP、CRM、SCM等软件直接辅助决策,也包括利用其它决策分析模型或借助DW/DM等技术手段来进一步提高分 析的质量,辅助决策者作决策(强调一点,只是辅助而不是替代人决策)。
无意中发现这个IT技能列表,51job里IT人才技能也是这么归类。讲的非常全面,搞IT的你不妨也对照下面这个表格,看自己掌握的IT技能有哪些
ILE Synon
RPG
CAD/CAM
CADAM CATIA
AUTOCAD
Data Warehousing
CASE Data Mining
Data Analyst Data Modeling
Data Architect ERwin
Data Marts
SAS
Database Systems
Access Oracle
Capacity Planning Progress
Database Administrator SQL
DB2 SQL Server
FoxPro Sybase
Informix Jasmine
CMMS
E-Commerce/Internet
NET J2EE
ActiveX Java
ASP JavaScript
ASPNET JSP
BroadVision PERL
C# Security
CGI VBNET
Cold Fusion VBScript
PHP Visual J++
CSS VRML
DHTML Web Servers
DreamWeaver Web Master/Developer
E-Commerce WebLogic
E-Commerce Platforms WebSphere
EDI XML/XSLT
EJB Broad Vision
Electronic Payment MOM
HTML Visual Basic
IIS
ERP
BAAN Oracle
Great Plains PeopleSoft
JD Edwards SAP
Lawson
Executive Level
Business Development Senior Executive
Financial Services Technology
Marketing/Sales
Hardware
Cable Modem Firmware
Chipware Hardware
Circuit Design IEEE
Drivers Operating System Designers
Embedded Systems
Help Desk
AS/400 Windows 95
CICS Windows 98
Unix Windows NT/2000
Hardware Windows XP
Mac Lotus Notes
Network MS Office
PC/Desktop Novell
Legacy Systems
ADABAS MQSeries
Assembler MVS
CA- Natural
CICS OS/2
COBOL OS/390
DB2 PL/1
DEC/VAX REXX
FOCUS SAS
GEAC Tape Operator
IDMS Teradata
IMS VM
MicroFocus VSAM
TSO
Miscellaneous
CADAM CATIA
AUTOCAD
Networking
ADSL MCSE
ATM Motorola
Banyan NetWare
Bay PBX
cc:Mail RF
Cisco Security
CNE SMS
Engineer SNA
Firewall Sniffer
Frame Relay Sonet
Hubs/ Routers Telecom
ISDN Windows NT/2000
LAN/ WAN Windows XP
Lotus TCP/IP
Mail ***
MCP X25
CCIE CCDA
New Media
Adobe Photoshop Mac
Corel Draw Multimedia
Director PageMaker
Flash PowerPoint
Games Quark
Graphics Shockwave
Illustrator Vizact 2000
Image/Imaging Dreamweaver
Project Management
Business Analyst Metrics
Capacity Planning Microsoft Project
Change Management PMI
Configuration Management Project Manager
Contingency Planning Procurement
Defect Management Risk Management
Disaster Recovery Scope Management
ISO SDLC
Methodology SEI/CMM
Quality Assurance
Change Management SEI/CMM
Configuration Management Source Safe/Visual Source Safe
Defect Management SQA
Metrics Test Scripts
PVCS Version Control
QA/Tester WinRunner
Quality Control
Technical Recruiting
Account Executive Recruiter
Manager Business-to-Business Marketing
Consultants Contigency Search
Direct Sourcing Outsourcing
Retained Search
Tech Sales/Marketing
Account Executive Sales Representative
Marketing Representative Strategist
Business Demographics Call Point
Cloning customers Coding
Database Marketing Lifetime value (LTV)
Sales Cycle SFA Tools
SIC Code
Technical Write
Corel Draw Word
HTML WordPerfect
PowerPoint XML
Publisher Visio
RoboHelp Acrobat
ForeHelp Premier 2000
FrameMaker Online Help
Paint Shop Pro
Unix
AIX Perl
C/C++ Scripts
CORBA Sun Solaris
Embedded TCL/TK
HP-UX Tivoli
Java Tuxedo
Kernels OpenView
Linux
Windows develop
NET GUI
Access Java
ActiveX MCSD
C# MFC/ATL
C/C++ OLAP
COM/DCOM OO
COOL:Gen PowerBuilder
CORBA ProC
Crystal Reports Smalltalk
Delphi Visual Basic
Developer/ Designer 2000 Visual C++
DNA Win32
Forte Visual FoxPro
Fox Pro
希望帮到你,谢谢。
资料参考:网络
T行业道路是一条充满了挑战和冒险,收获和艰辛并存的挑战之路,你的每一分收获都是要实实在在的拿出你的努力去拼出来的。
今天我们说说IT的各个岗位和相关所需要的技能。现在IT的岗位很多大概分为了软件工程、网络工程、信息管理、多媒体设计几个方向。这里电脑培训主要针对前两个方向来说说。
1
几个方向的岗位
关注什么样的工作
软件工程
包括开发和测试两大部分,主要面向于软件的开发和相应服务的提供,相对来说就业人数最多的方向,高级职位一般为系统架构师和分析师或其他同级职位。
网络工程
主要面向系统工程和网络工程行业的,立足于物理网络环境的规划、建设、维护及优化等等,高级职位为网络规划师,网络分析师或同级职位。
信息管理
主要面向数据服务方向,通常关注大数据的存储,检索等方面,高级职位应是信息系统分析师,或同级职位。
多媒体设计
UI设计、Unity3D游戏设计等等,高级职位不知,原则上你可以理解为一群和IT紧密相连的艺术家。
2
软件工程方向
入门职位:程序员
很多人以为,作为一个程序员,就已经进入IT行业了。但是,你们错了,你们只是刚刚摸到了IT行业的门槛而已。
或许建筑设计师不需要会砌砖头,产品设计师不需要会 *** 作机床;但是任何一个最基本的软件设计师,一定会编程——这就是IT行业和其他行业的差别。
如果你不能顺溜的写出程序,你根本就不算是IT行业的人,所以你也还没有任何资格来评价IT行业如何。
进阶职位
测试工程师or开发工程师
到了这一步,恭喜你第一次转职成功,你现在算是真正的站到了IT的大门里,这两个职位的技能需求差不多——需要精通至少一门编程语言,熟练掌握基本算法和数据结构,掌握网络相关知识,了解计算机原理和体系结构等等。唯一的差别在于,一个关注于测试,一个关注于开发。
简单来说:开发工程师关心的是如何制造一个产品;而测试工程师关心的是开发工程师造出来的产品是优秀、优良、合格还是不合格。
以上就是关于入门IT 行业,该具备哪些技能全部的内容,包括:入门IT 行业,该具备哪些技能、个人技能可以填哪些 如何填写个人技能、学IT主要学什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)