㈠ 程序员,如何少走弯路,成为一名技术专家或者架构师

#1 专业技能

@首先当然基础知识要扎实,一些经典的专业书籍一定要看。比如,设计模式,算法,数据结构,所在领域的编程语言的专业书籍等.关于不同的能力阶段,需要读取什么类型的书籍,请参考ThoughtWorks(中国)程序员读书雷达,每年都有更新。
@作为架构师,review别人的代码并给出合理的建议是基本功,比如变量或者方法命名的规则;所以代码大全,重构,改善既有代码的设计,Clean code 等等肯定需要看。
@ 对于某一个技术领域或者业务领域,一定要有一门技术是精通的,因为这样你才能体会到以后遇到自己不懂的技术的时候,如何能够快速成为这一方面的行家。
@ 平常有时间一定要多多进行代码的训练,也就是Martin Flower常说的Kata练习,这个比喻来自于跆拳道,跆拳道选手一般每天都会找一些基本的招式,进行反复的练习,从而训练肌肉的条件发射,那么对于我们程序员来说,一定也要进行持续的编程训练,比如上面提到的那位同事,给的建议是,虽然把大部分时间花在了沟通和协调上面,没有机会写代码,但是自己一定要利用业余时间,自己找一些例子来联系,比如,参与开源项目,或者到网上去搜索一些大师的经典Kata联系的例子;或者看工作里面是否有一些小工具,是否能够提升自己的沟通效率,当然已经天天写代码的童鞋们除外。请参考我转发的另外一篇文章和另外一篇介绍能在线练习Kata code的文章.
@ 最好能够在精通一门语言的基础之上,学习其他的语言,从而站在一个更高的角度,对于程序语言有一个更高层次的抽象认识,比如,学了java之后,可以学学Ruby,Groovy,C#等等,其实语言之间都是相互借鉴的,比如Lamba表达式,连java也慢慢的向函数式编程方向靠拢。
@ 如果有时间,一定要自己维护一个博客,既然选择了架构师,就决定了自己以后不仅仅是一个技术专家,同时也要成为一个布道师,为企业组织或者社会上的其他IT同行们贡献自己的一些微薄之力。
@ 多参加一些社会上举办的软件专业会议或者活动,了解当前比较流行的技术和框架。
@ 这条不提倡,我以前有一个同事,几乎每年都要更新简历1~2次,目的不是真正的换工作,而是通过面试得到当前市场上大部分公司正在使用什么技术和框架。对于这条,请慎用!!!!
@如果有结对编程的机会一定要好好珍惜,特别是和高手大拿一起结对的时候。
@如果大家上面都已经做的非常的好了,这个时候可以看看架构设计方面的书籍,比如企业应用架构模式,架构之美等等。
@ 去51Job上搜索架构师这个职位标签,看看不同行业的企业对于架构师的技术要求和标准,然后结合自己当前所处的行业和你自己的技术特点,比如擅长前段或者后端,有选择性的学习一些自己感兴趣的技术或者方法。
@ 关于常用的网站,没有定论,笔者主要是根据搜索的结果去发现适合自己的网站,所以需要读者掌握一定的搜索的技巧,笔者一般喜欢用英文搜索,这样的话资料比较全也比较新;如果下载电子书的话或者查看博客的话 一般会首选CSDN;如果是解决工作中的问题的话,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去积累一些自己感兴趣的技术的人气比较旺的网站列表,比如一般和Window相关的就是MSDN;如果对Java入门比较感兴趣,可以看看这个网站。对于一些开源的框架,一般都会有想对应的社区,google一搜索,很快就能找到。另外一个德国人写的博客的非常的精致,如果对Eclipse插件开发特别感兴趣的朋友们可以去参考它。
@大家如果时间和精炼允许,最好能在Github开源和分享自己平常写的代码。这样一方面可以熟悉git用法,另外一方面也可以把自己平常练手的代码免费保存,何乐而不为呢?
@如果大家平常遇到什么问题,可以到StackOverFlow上面去寻找答案;当然,如果你能自己注册一个StackOverFlow账号那是最好不过的,这样不但可以提问,还可以帮助别人,同时上面还有很多工作签证的工作机会。
#2 软技能(现代社会,一个合格科学家不仅仅是某一个行业的技术专家同时也是一名专业的社会活动家)

@遇到问题,一定要多想,遇到一个问题,如果解决了,就要反思为什么能够解决,如果以后遇到类似的问题,
如何更快速的解决。
@英语的重要性,不言而喻,因为现在很多新技术的框架的中文文档非常的少,即使翻译成中文,也是二手的了(国内自己的开发的一些开源框架除外)
@ 有时间的话,看一些沟通方面的书籍,如果有参与沟通的机会的时候,一定要想如何把沟通做的更好更舒畅。
@ 如果有机会的话,可以参加PMP的考试,关于如何备考PMP,请大家参阅另外一篇文章:如何备考PMP,但是如果不想参加的话,也没有关系,至少要涉猎到项目管理方面的书籍,否则以后如果成为架构师之后,客户或者管理者给你说一些项目管理上一些专业术语时,到时候就会一头雾水。
@架构师其实从某种意义上就是一种角色,而不是一种职位。一定要时时刻刻保持空杯心态。
@一定要有一颗保持饥渴学习和耐得住寂寞的赤子之心。
@当前的技术节凑是非常快的,特别是结婚以后又有小孩了。一定要好好的利用自己碎片时间,对于一些技术,当时读不懂不要紧,但是一定要记住和了解其关键词,这个主要是为了拓宽自己的视野。比如,当前你想自己开发一个系统,结果已经有一个开源框架实现了,而且还很稳定,这个时候,自己就没有必要重复发明轮子了。
@与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。
@在工作中,能够帮助到别人解决技术难题,一定要尽量全力以赴,因为这不但可以赢得同事的好感和口碑,同时也能增长你解决问题的经验和提高你的技术思维能力
@ 一定要掌控好自己的时间,对工作没有帮助的会议,能不参加尽量不要参加,当然,企业安全,公司规章制度如果是强制性的,该参加还得参加,但是如果没有工作效率和扯皮的会议,尽量避免参加。
@程序员要耐得住寂寞,要在自己的领域深挖,不能看啥火,就学啥,一定要有自己的想法和判定,如果决定不了,可以向资深的同事或者朋友沟通。
@尽量参与到项目中的编码,因为架构师不能与项目脱离。
@ 如果有机会可以锻炼一下自己在大众环境下的演讲和PTT的能力。
@有机会多做知识分享,因为你一旦分享了知识,你就会对这门技术有深刻的印象,同时也能树立在同事中的良好的技术形象,从而赢得更多的专家影响力而不是职位影响力。
上面只是我当前能想到的,知易行难,知道了上面的一些经验,并不代表年轻程序员们就能马上成功,毕竟这需要一个凤凰涅槃和实践的过程,但是肯定能帮助有志于于此的年轻程序员们少走一些弯路,限于笔者水平,如有总结不恰当或者不到位的地方,还望批评指正。

㈡ java架构师 需要什么条件

java架构师,现在很多新手都知道的名词,这个职位最早在IT领域是没有的,是由于最近几年来,互联网的迅猛发展,网站对于对数据量和高并的活跃度发所引发的需求,引起了众多传统的技术人员的力不从心,越来越多的企业关注到了系统架构的重要性,所以不同行业开始招募架构技术人员,架构师就诞生了。

那么架构师的薪资一般是多少呢:

所以,你的疑虑和担忧不应该放在java架构师有没有前途,因为问出这个问题,说明你对“java的力量一无所知”。你应该先搞清楚,自己适不适合这个行业,适不适合学习java,Java架构师在公司那是除了cto之外技术发展路线最高成就了!

原文地址:https://www.hu.com/question

㈢ Java架构师需要具备哪些能力

  1. 具备 8 年以上软件行业工作经验;

  2. 具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;

  3. 具备 3 年以上的代码编写工作经验

  4. 具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验

  5. 对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握

  6. 对 .Net/JAVA 技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE 架构和设计模式,并在此基础上设计产品框架

  7. 具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;

  8. 精通大型数据库如 Oracle、Sql Server 等的开发;

Java架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。

  • 程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C/C++、.NET方面、VBA 。

  • 数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从、存储过程 。

  • 网络及浏览器:TCP/IP协议、HTTP协议、FTP、HTML、XML、浏览器 。

  • 操作系统:Linux系统、Shell/批处理、文件系统(各种)、SSH 。

  • 中间件:Tomcat、Apache、Nginx、lighthttpd、JBoss、WebSphere、Weblogic、IIS。

  • 技术和思想:各种算法、搜索、缓存、多线程、UML、OO、SOA、AOP、REST、存储、云计算等。

  • 业务方面:论坛、博客、社交、电子商务、应用程序等 。

  • 其它方面:计算机基础知识、计算机硬件方面 。

  • 个人软素质:经验、问题分析、大局观、心态等 。

    企业需求:

㈣ 搜索引擎架构师

2000万年薪

㈤ java架构师,需要什么条件

1、扎实的java基础。

2、熟练使用基本的框架。

3、有过二中框架或者web中间件的源码研究经历。

4、经历过大并发挑战,并且有过相关应对经验。

5、有消息中间件,服务中间件ESB等常见应用集成技术的使用和架构经验。

6、对系统本身的业务特点有深刻的理解,能够针对业务特点,分析短板并解决。

㈥ Python资深工程师/架构师是什么职位

岗位描述:
1. 参与/负责地图的个性化的推荐排序
2. 参与/负责亿级别的用户画像,位置画像及知识库回建设
岗位要求:
1. 对数答据有敏感的分析能力,能设计合理的效果评价指标,并制定相应的规划
2. 熟悉常见的分类,聚类,LTR,深度学习等机器学习算法,有推荐领域相关经验
3. 熟练使用C、C++ /Python
4. 熟悉Linux/Unix 环境开发经验,有hadoop/spark等大数据平台工作经验
5. 有LBS和搜索相关工作经验优先
6. 有用户画像,知识库建设相关工作经验者优先"

㈦ 我经常看到 Java 架构师的说法,但是很少看到 C++ 架构师的说法。有哪些造成该现象的原因

语言特性决定积累到相应的代码量人能走到哪个层次,c加加写多了更能提高对机器内存性能控制能力,而JAVA这种面向对象的需要,需要人思考系统里面组件关系,逐渐就会走向架构师的道路。你看JAVA的思路是做框架就明白了。多说一个最近流行的Python,它写再多也难形成架构思维,也是语言太随意导致开发随意的结果。

㈧ Java架构师的职业现状和前景是什么,主流技术有哪些

1、扎实的java基础。

2、熟练使用基本的框架。

3、有过二中框架或者web中间件的源码研究经历。

4、经历过大并发挑战,并且有过相关应对经验。

5、有消息中间件,服务中间件ESB等常见应用集成技术的使用和架构经验。

6、对系统本身的业务特点有深刻的理解,能够针对业务特点,分析短板并解决。

AVA架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。

  • 程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C/C++、.NET方面、VBA 。

  • 数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从、存储过程 。

  • 网络及浏览器:TCP/IP协议、HTTP协议、FTP、HTML、XML、浏览器 。

  • 操作系统:Linux系统、Shell/批处理、文件系统(各种)、SSH 。

  • 中间件:Tomcat、Apache、Nginx、lighthttpd、JBoss、WebSphere、Weblogic、IIS。

  • 技术和思想:各种算法、搜索、缓存、多线程、UML、OO、SOA、AOP、REST、存储、云计算等。

  • 业务方面:论坛、博客、社交、电子商务、应用程序等 。

  • 其它方面:计算机基础知识、计算机硬件方面 。

  • 个人软素质:经验、问题分析、大局观、心态等 。

㈨ 搜索引擎高级工程师属于什么职位类别

属于架构师吧