迷茫&多谢大家了,帮帮小弟我们这些有热切期盼的热血软件工程师,有着工程师梦的码农
迷茫&求助:谢谢大家了,帮帮我们这些有热切期盼的热血程序员,有着工程师梦的码农。
首先我是个刚毕业的新手,而且我入职以来我发现我真的很热爱开发,但是我发现现在我们做的只是程序员,不是工程师,我想努力学习。
当下,我刚刚入职,是一个windows开发新手,使用atl进行COM开发。这使我很迷惑,这些开发不是我想要的给我带来那种操纵计算机的感觉的工作。
我想进行底层的那种开发,完全我能感觉到我是怎么操作电脑的,类似的底层开发,进行内核相关的研究,驱动的 框架的开发,不是调用已经编写好的API 框架等,而是自己开发API。但是我发现这和我的现在的工作简直是跨越了一个行业。
我敢肯定有很多人也在迷茫这个问题:
我该怎么做,才能成为一个真正的从事底层开发的软件工程师,那种牛逼的计算机工程师。
请帮忙给个大致的路途:例如从开发什么开始,逐渐进行什么开发,最后做什么开发。
请各位老手,帮帮我们这些有热切期盼的热血程序员,有着工程师梦的码农。
谢谢。
------解决方案--------------------
让人怎么说呢,什么底层开发,不调用api,操纵计算机和牛逼的程序员一点都不搭界,这只是一个外行的想象而已。
我给你的建议是,先入门了再说,搞清楚一些基本的概念,这些一所正规的大学就可以教你。
驱动程序没有什么神秘的,出于安全和设备隔离的考虑,现代的操作系统一般划分成两个层次,一个是内核态,允许直接访问一些特权指令,以及设备,一个是应用程序态,你只能访问操作系统给你安排好的内存以及不允许直接访问硬件。这样的好处是显而易见的,那就是应用程序具有更好的移植性,因为它不和具体的硬件打交道。驱动程序说白了就是工作在内核态的应用程序而已。
不调用API或者自己写API,这种想法很幼稚可笑,就好比一个设计师说他不用任何工具,徒手进行设计一样。优秀的程序员会更多参与到API的开发过程中,道理很简单,因为API是给程序调用的,因此它的品质如果有问题,那么影响是很严重的。如果你希望参与到API的开发过程中,你需要的不是“不调用API”,恰恰是广泛地使用API,如同一个一般的程序员如果连别人的程序都没有用过是很难开发程序的一样,设计API的程序员必须有大量的开发经验,并且和大量的开发者沟通,他才能成为为程序员编程的程序员。
不积跬步,无以至千里,正因为你根本没有入门,所以才觉得这个行当的神秘莫测和不可企及,只要你一步一步循序渐进地学习和实践,那么那些你心目中的绝顶高手并非仅仅是你的偶像,更成为指引你前进的方向,你说呢。
------解决方案--------------------
初入门者,建议还是不要想那么多!先从基础基本的学习!基础打牢,
加上工作实践,后面的路应该也会清楚很多!深入也就会比较方便!
不要过于急功近利了,做我们这行的,特别的是嵌入式的,成熟期都是长的!
需要是慢慢一步一步的向前走,这样后期爆发力也就比较强了
------解决方案--------------------
学习硬件基础知识,底层跟cpu,内存硬件相关。然后学习linux。
慢慢来吧。但是还得找一个方向。现在的知识面太多了,一个人没有那么多的精力。
------解决方案--------------------
从事底层开发,是有风险的,老板当然要找严谨的人来做。
上层都做不好,怎么做底层。
兴趣是一方面,能力也是一方面啊。
别看太远,一步一步来,基础打好,才能得心应手
首先我是个刚毕业的新手,而且我入职以来我发现我真的很热爱开发,但是我发现现在我们做的只是程序员,不是工程师,我想努力学习。
当下,我刚刚入职,是一个windows开发新手,使用atl进行COM开发。这使我很迷惑,这些开发不是我想要的给我带来那种操纵计算机的感觉的工作。
我想进行底层的那种开发,完全我能感觉到我是怎么操作电脑的,类似的底层开发,进行内核相关的研究,驱动的 框架的开发,不是调用已经编写好的API 框架等,而是自己开发API。但是我发现这和我的现在的工作简直是跨越了一个行业。
我敢肯定有很多人也在迷茫这个问题:
我该怎么做,才能成为一个真正的从事底层开发的软件工程师,那种牛逼的计算机工程师。
请帮忙给个大致的路途:例如从开发什么开始,逐渐进行什么开发,最后做什么开发。
请各位老手,帮帮我们这些有热切期盼的热血程序员,有着工程师梦的码农。
谢谢。
底层开发
职业规划
指条路
------解决方案--------------------
让人怎么说呢,什么底层开发,不调用api,操纵计算机和牛逼的程序员一点都不搭界,这只是一个外行的想象而已。
我给你的建议是,先入门了再说,搞清楚一些基本的概念,这些一所正规的大学就可以教你。
驱动程序没有什么神秘的,出于安全和设备隔离的考虑,现代的操作系统一般划分成两个层次,一个是内核态,允许直接访问一些特权指令,以及设备,一个是应用程序态,你只能访问操作系统给你安排好的内存以及不允许直接访问硬件。这样的好处是显而易见的,那就是应用程序具有更好的移植性,因为它不和具体的硬件打交道。驱动程序说白了就是工作在内核态的应用程序而已。
不调用API或者自己写API,这种想法很幼稚可笑,就好比一个设计师说他不用任何工具,徒手进行设计一样。优秀的程序员会更多参与到API的开发过程中,道理很简单,因为API是给程序调用的,因此它的品质如果有问题,那么影响是很严重的。如果你希望参与到API的开发过程中,你需要的不是“不调用API”,恰恰是广泛地使用API,如同一个一般的程序员如果连别人的程序都没有用过是很难开发程序的一样,设计API的程序员必须有大量的开发经验,并且和大量的开发者沟通,他才能成为为程序员编程的程序员。
不积跬步,无以至千里,正因为你根本没有入门,所以才觉得这个行当的神秘莫测和不可企及,只要你一步一步循序渐进地学习和实践,那么那些你心目中的绝顶高手并非仅仅是你的偶像,更成为指引你前进的方向,你说呢。
------解决方案--------------------
初入门者,建议还是不要想那么多!先从基础基本的学习!基础打牢,
加上工作实践,后面的路应该也会清楚很多!深入也就会比较方便!
不要过于急功近利了,做我们这行的,特别的是嵌入式的,成熟期都是长的!
需要是慢慢一步一步的向前走,这样后期爆发力也就比较强了
------解决方案--------------------
学习硬件基础知识,底层跟cpu,内存硬件相关。然后学习linux。
慢慢来吧。但是还得找一个方向。现在的知识面太多了,一个人没有那么多的精力。
------解决方案--------------------
从事底层开发,是有风险的,老板当然要找严谨的人来做。
上层都做不好,怎么做底层。
兴趣是一方面,能力也是一方面啊。
别看太远,一步一步来,基础打好,才能得心应手