如何成为一名高级程序员??
发布网友
发布时间:2022-04-22 14:59
我来回答
共2个回答
热心网友
时间:2022-04-15 00:22
程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员,等等。今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西。
也许有些朋友会说,我知道Asp、Jsp,会做网站、会做bbs,这应该叫Web程序员了吧。确实,我承认,这些技术是一名Web程序员应该具备的;但是,你如果仅懂得这些,却只能叫做Asp程序员、Jsp程序员,而不是真正意义上的Web程序员。现在的世界是属于Internet的,大部分的应用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那样的网站,其访问量之大、应用之复杂,需要什么样的技术才可以支撑,难道仅仅是硬件的功劳么。
我想在Windows平台下来谈谈Web程序员应该掌握的技术
1. 首先,就是上面提到的各种脚本,asp、jsp、php等等,这些东西大同小异,基本可以举一反三。
2. 数据库,
相信做Web的人肯定用过,像Access、Sql Server、Oracle。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来操作,如果这样,就算会用100种数据库又有什么用呢?
你应该考虑用户量、访问速度、内存消耗,这些东西和你的sql密切相关,我经常见到很多分页程序根本不去考虑数据库中有多少条数据,统统select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。
另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事务,连接池如何实现,这些都是商务应用的关键。譬如,目前很多的应用服务,像weblogic、MTS,都包含事务处理,可以说好的事务处理决定了他们的竞争力。
3. 组件技术
我想是现在的Web应用推动了组件技术的发展。以前,从老式的静态库、动态库(dll),到现在的COM/DCOM,再到正在兴起中的Web Service;从单机调用,到基于内部网的分布式调用,到现在基于Internet的分布式计算。现在的应用都是基于组件的n层结构,最明显的就是COM和JavaBean。
这些东西体现了软件架构的发展,以前是基于单机的应用,然后是C/S结构,到现在的B/S结构。我记得李维曾经说过,程序员一定要注意软件技术的发展趋势,只有这样,才不至于被淹没在技术的洪流中。我想,作为Web程序员,一定要明白COM的原理,如何实现这种调用、如何进行分布式调用。说实话,我觉得COM还是比较复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C++,因为VC中提供的ATL库可以很明显的说明COM的内部运行机制。
4. 网络技术
这可以说是Web程序员最应该懂得东西。起码,应该知道Web服务器的机制,要明白Http协议。就拿IIS来说,要懂得web应用程序运行的进程安全和IIS的关系,懂得ISApi的作用。
如果有时间,就看看TCP/IP,看看winsock,这些都是底层的网络的东西。
我所说的这些都是基于微软技术下的东西,其他的像Java方面的东西都可以对照参考,就不多说了,这也是我这几年来的一些心得。总之,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。说实话,像我们做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开,这也是没有办法的事情。
热心网友
时间:2022-04-15 01:40
牛*的人总是让人羡慕,但如何才能让自己成为牛*的人对我们来说更重要,本文分享的是如何才能成为java高级程序员,你和java高级程序员只差这一篇鸡汤!干了这碗鸡汤,未来不可限量!
1、离开舒适区,提高个人代码能力
不安于现状,高级程序员一般都具有丰富的项目经验,经验是能力最好的试金石,即使在碰到未知的问题,丰富的项目经验也不会让你觉得就束手无策。程序员是一个技术跨度很大的工种,对某种既定环境语言的依赖性太强,知识和技能都无法很好的迁移。
2、将复杂的问题简单化处理
乔布斯曾经说过,简单便能移动一座大山。一个高级程序员之所以让人觉得牛*,不仅仅能用写出优雅简洁的代码,更重要的是他们还能将这种化复杂为简单、化繁为简的功力内化至各项工作,不管是面对多复杂的项目、多棘手的 bug 都能面不改色、心不跳,步步拆解问题,逐一各个击破。
3、自我总结,提升学习和解决问题能力
代码能力、工作状态只是一个高级程序员区别于普通程序员的外在表现,王者和青铜的核心区别在于思考方式和解决问题能力的区别。高级程序员可能每天会花半个小时总结当天的项目经历,反思自己的不足,思考问题解决或优化的方案。区别于初级程序员,高级程序员总结问题的往往能从本质出发,不会只停留在表面,弄清问题内在联系,抓住问题关键。这也就解释了为什么拿到一个项目需求,很多高级程序员不会首先去想代码实现,而是去想需求与架构的行为。
4、责任心和需求理解能力
高级程序员对自己的要求不仅*于完成项目、解决问题本身,往往还会去思考并权衡需求涉及的一切,比如如何去支持设计模式、库、框架、重构和流程等,从内核到外层界面,既重视功能需求,还会注意到拓展性能、稳定性等需求,甚至还需要评估设计模块对整个项目中的影响及潜在的威胁。
总结:如何才能成为高级程序员,关键还是思想,学习的思想、总结的思想、创新的思想!