现在刚刚大四,在一家金融互联网企业实习。
看到好多人30多岁了还是一名普普通通的程序员,不想那样。
想成为一个架构师,或者至少能精通某一方面。
觉得现在应该做的,就是修炼自己的基础吧,比如数据结构,算法,操作系统之类的。
喜欢java
现在就想练就很好的java功底,如果有深厚的功底,学其他的也应该会事半功倍的吧。
这里大牛很多,所以想请教一下大家,对修炼基本功有什么好的建议?
或者从一个普普通通的还不算程序员的一个实习生,如何能一步步的走向架构师。
或者如果成为一个很优秀的程序员,至少要精通哪些方面。
书籍啊,方法啊,路线啊,甚至心态,都可以赐教的!
谢了!
随便说说吧,也不知道对你有没有参考价值。因为我就是30多岁的普普通通的程序员,而且我也并不很渴望变为管理职位或者架构师。
也可能是我见识的架构师较少,接触过几个都是满嘴buzz word,画几个框图,更喜欢说代码而非写代码类型的。如果是这种架构师,真的不是很合我的胃口。我还是宁愿写出实打实的代码,看到程序跑起来真正做出点事情。无所谓职位的名称是程序员,软件工程师或者架构师什么的。
所以对我而言,在这一行要提高,最重要的是喜欢写代码,喜欢改进代码,喜欢解决问题。
另一点是要不信邪。具体来说就是相信一件事总有它的原因,而程序员的任务就是找到它。
有个故事说某个汽车厂子接到客户故障报告,说每次他去买香草冰淇淋的时候车子就熄火,买巧克力冰淇淋就不会。初听起来完全是天方夜谭式的问题。但是后来工程师在仔细观察后发现,他去的冰淇淋店香草冰淇淋卖的最好,所以摆在最前面以便最快被顾客买到。所以买香草冰淇淋比买其它品种快一些。而那个型号的车子恰好有个缺陷,在这个时间间隔内重新发动就会熄火。
所以,如果一个人碰到比较奇怪的bug,马上就开始怀疑IDE,怀疑编译器,怀疑操作系统,怀疑硬件有问题,然后开始焦躁觉得闹鬼了。基本上他很难成为一个好的程序员。
首先一个必须要有的,就是多写。通过多写,把最基本的任务变成本能,什么创建循环,转换数字,过滤集合,等这些做的熟练了,你才会有足够精力去思考更上层的设计。
其次是阅读和搜索能力。在搜索的时候找准关键字,一下就能得到答案,这也需要多年的积累。
用各种数据结构,然后深入算法研究。
需求 实践 碰到问题 分析原因 多问为什么 总结问题解决的过程 分享 如此反复~
架构师也是程序员,程序员并不能从职位等条件上分出好坏(有参考价值),能分出高下的是解决问题的能力,其最直接的体现就是代码和产品。
所以答案就是多做,没别的。但是多做了并不能保证你优秀,有时候差距的确能体现在天赋、阅历等题外因素上。
个人觉得目前这个阶段你考虑太远了。先给自己设定个两到三年的目标,然后看实现结果再说。
想的太远没用的,要立足于当下。鸡汤偶尔喝一点,不要喝太多。任何一行一业都是这个道理。
天赋是有用的,但是天赋只会决定你的速度快与慢。反过来,某种程度上,太快了反而会导致太慢。
编程是一门技能。既然是技能,那它就和其他技能一样,想要得到提高,就唯有勤加练习,别无他法。
再说基础,说到编程,那就必须夯实自己的计算机基础:计算机组成原理、数据结构、算法等。这和设计行业一个道理,看日本设计大师的成长经历,很多都是建筑、平面、产品来回跳,甚至样样都有不凡的成就,因为设计的基础(本质)就是审美水平(色彩搭配、空间感等)。编程同样如此,底层知识,或者说事物的本质,永远不会过时。
最后,就是价值观(三观)的问题了,这个太复杂,三言两语反而说不清。
我也大四,以上是我学习前端开发三个多月来的一点心得,希望对你有所帮助。
很多是几个?不要一叶障目