程序员:做编程的底层开发工作,写代码,不停的写代码软件设计师:其实这个概念不太清楚,跟架构师类似,就是要分析设计这个软件的整体概念,就像盖房子要先画图纸,然后分给不同部门的人去建造,其实在现在,一般叫项目经理,或叫开发经理网络工程师:设计整体的网络的人,跟软件设计师差不多,不过做的是网络工程。网络管理员:与程序员类似,重复性的技术工种。系统分析师:这个也是个比较模糊的,系统分析类似医生的,可以通过自己的经验和从业经验,对某各软件或某项工程进行分析,优化,从而帮助架构师或项目经理用最短的时间做出最满意的东西来。其实你分的这几个,都是计算机里的职位,你重新分一下类好了软件开发里面分为:程序员,软件工程师,软件架构师和系统分析师网络工程里面分为:网络管理员,网络工程师,网络架构师和系统分析师如果是工资高,级别高的,就是架构和分析了,但是。。。。强调一下,这两个职位不是有技术就可以的,需要大量的经验,一般都是从程序员开始做起的,才有资格。
其实Java可以做的东西实在太多了,网站、软件、手机游戏、电脑游戏、中间件以及现在流行的安卓手机app等,都是由Java语言编写的;除了这些,Java还有很多用途,家里的微波炉、洗衣机等家电也有可能是Java控制的。
1、编写网站
现在许多大型网站都是用Java编写的,比如我们熟悉的电子商务交易平台阿里巴巴、淘宝、京东都是使用Java编写的。
即使是简单的jsp、servlet,和以struts为基础的网站,在政府项目中也是很受欢迎的,例如保险、教育、医疗、国防等部门的网站都是以Java基础来开发的。
2、Android应用
Java做安卓不单单是系统,还有APP。对于如今的开发人员来说,他们更多的时间是花在开发APP上面。
你在Android手机上,随便打开一个App应用,都是用Java语言编写。虽然现在Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言编写的。
3、大型企业服务器应用
很多大型企业管理系统、CRM系统,ERP系统主要使JAVA编写。例如移动、联通、电信等通讯行业的客户管理系统,快递公司的物流系统离不开Java;交通工具的订票系统绝大部分也是使用Java开发的。
4、做软件工具
一般来说,编程语言都可以做软件,Java也不例外,许多常用的软件和开发工具都是运用Java来编写和开发的,例IneteliJIdea、Eclipse,NetbansIDE等。
5、嵌入式领域及消费类电子产品
Java在嵌入式领域发展空间很大,对于嵌入式系统来说,Java技术因为比C语言和汇编语言有很明显的优越性,而受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
嵌入式设备及消费类电子产品,主要用JavaMe,信息家电(如数字电视、机顶盒、电冰箱)、无线手持设备、通信终端、医疗设备、汽车电子设备等都是比较热门的Java应用领域。
6、大数据技术
Java最大的优势之一是它在大数据领域的地位,目前很多的大数据的架构都是通过Java来完成的。
例如现在最主流的大数据框架Hadoop的应用主要用Java开发的;Apache的基于Java的HBase和Accumulo以及ElasticSearchas。
我比较认同的有winter和贺师俊还有张云龙这三位。其他没提到的可能我不太关注,高手很多,但是能达到架构师的其实不多,最多算是高工,或者某一领域专业的牛人,我觉得就像前3位提到的大神,他们的编码能力过硬,算法能力,计算机基础知识都没的说,许多回答都是干货,有理有据,show me code风格的,而且解答不会模糊,直接简要,能做到这些必须是肚子里有货,我觉得这算是硬件基础。
2,编码能力好,熟悉各项标准,算法好,API熟练,就能成为前端架构师了么不不,这些只能说你是个高工,你说你自己写了许多框架和开源包,各种功能,前后端都有?no no no,也是最多算是高工而已。至少我是这样认为,为什么呢?因为你踩的坑决定了你架构的能力,你的硬件基础只决定了你遇坑之后的解决能力。
打个比方,前端工作3年,一直在电商领域,或者一直在做sns,或者一直在做webview里的开发,这种经验是不具备前端架构能力的,什么?都是写js?没区别?错了,你让一个写了3年电商框架的人去写一个斗鱼tv或者搜狐视频试试,写是能写出来,但是选型问题真不会是最佳,因为他踩的坑一定没有专注这个领域的人多。什么是架构能力?其实说白了就是帮助最后项目顺利开发完成,易扩展,好维护,有规范,能解决一些刚开始人看不到的麻烦。这些能力都是从一个一个真实得项目中锻炼出来的,而不是说只做了一家公司的一个项目之后就可以说自己是前端架构师了。。
说的比较乱,其实简单比方就是个经验包的问题,你的经验比你的技能更大的决定了你的架构能力。
3,沟通表达能力,这个其实不是特别重要,但是单独拿出来说,就是因为如果你的想法不能在团队有效的执行下去是不行的,你必须也一定是最后说服团队使用你的方案的人。
所以最后,回到up主问的问题上来。
从一个前端工程师,如何根据目标,制定计划,前端架构师需要涉及哪些知识点,还有哪些知识点是前端工程师所不具备的。希望知友提点。没什么知识点,你必须对你要做的东西有经验,至少是做过1-2次(公司级项目),这才是架构师的价值,如果你根本没做过同类的工程,你有什么资格去架构他呢?现学现研究那只是高工而已。
至于题目问的如何成为一个前端架构师,我觉得那些已经被很多人叫成前端架构师的人,自己都不觉得自己算是吧,只是入行久一点,活的长一点,经验多一点,做的项目杂一点,跳槽次数猛一点,比你努力一点而已。
能力不同:架构师对技术的要求比程序员的要求要高一些。程序员对大家熟知的程度更为广泛。是否有能力实现软件架构的设计,是两者最主要的差距。高手往往不多,因此,不断学习才能有上升的空间。
自从软件工程产生以来,架构设计和过程管理一直是软件领域 DNA 的双螺旋,前者从科学的技术领域出发来解决软件创造中的工程技术问题,后者从人类的管理活动出发发展了软件工程的组织管理方式。
程序员注意事项
高并发时,同步调用应该去考量锁的性能损耗,能用无锁数据结构,就不要用锁; 能锁区块,就不要锁整个方法体,能用对象锁,就不要用类锁。
多线程并行处理定时任务时,Timer 运行多个 TimerTask 时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行,使用 ScheduledExecutorService 则没有这个问题。
软件工程师和程序员区别主要表现在以下几方面:
1、概念不同:软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才;而程序员指的是从事程序开发、程序维护的基层工作人员。
2、工作职责不同:软件设计师主要职责是组织和指导程序员编写、调试程序,并时软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;而程序员主要负责软件项目的详细设计、编码和内部测试的组织实施,对小型称件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
3、拥有一定的编程能力的都能称为程序员,不需要考证;而软件设计师需要通过计算机软件资格考试的中级考试。
以上就是关于程序员往上做是什么软件分析师、架构师、工程师有什么区别全部的内容,包括:程序员往上做是什么软件分析师、架构师、工程师有什么区别、Java程序员的发展方向有哪些、要想成为前端架构师,应该学习哪些技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)