随着互联网科技的创新,IT行业迎来了长足的发展,程序员群体也在不断扩大。尽管程序员能够解决大部分技术问题,但程序员毕竟不是万能的,也会出现一些常见的错误。
曾经我一直认为自己是一个高级程序员,但至从我成为了公司的首席技术官(CTO)之后,才发现自己真的算不上高级程序员,并不是说我的编程技术差,而是在工作中经常出现的4个错误,来看看你是不是也有这些毛病。
1.自作聪明,编写过于华丽的代码
费时费力编写了一段自认为非常华丽的代码后,感觉自己就是传说中的“精英”开发者。但却没有发现,用力过猛容易让人落入“过于华丽代码”的陷阱。
编写这样的代码会在团队之中造成困惑。让你的队友像解谜语一样来解码,就是在浪费大家的时间。
编写清晰、简洁、给人看而不是给电脑看的代码,不要过于自作聪明,应该遵循“保持简单直白”这一极好的准则。
2.代码就是艺术,必须力求完美
整洁的代码,严密的单元测试,完善的文档,毋庸置疑这些都非常重要。
作为一名程序员,在这些细节上对自己具有严格的要求是对的,但必须综合考虑现状。
当一个项目的预算不多,并且需要在短时间内迅速建立可行产品的情况下,若程序员光顾着考虑避免将来可能遇到的问题,而完全忽略当下的情况,最终很有可能以失败告终,编写可以向他人展示且令人自豪的代码固然很好,但是能够顺利地完成项目不是更好吗?
3.自以为是,认为用户都是傻瓜
我错了,他们不是
没错,用户使用应用的方式往往出人意料
没错,用户经常会提出一些你认为很愚蠢的问题
没错,用户有时提出的功能需求看似毫无意义
没错,用户连一些非常浅显的功能也搞不明白
作为程序员,我们经常会觉得,这都是用户的错,因为他们的要求在我们看来非常不合理,而我们为了让用户满意,不得不重写部分框架,不得不支持一些浏览器。
但,毕竟用户不是IT专家,我们又凭什么要求用户了解他们应该使用哪种浏览器呢?虽然对你我来说,这个问题显而易见,但对于普通用户而言,用百度、谷歌或是360都是一样的,为什么要要求他们使用某个浏览器呢?
4.产品经理太糟糕了,还不如让我来
说实话,作为程序员,和产品经理的关系……真是一言难尽,产品经理经常会莫名的调整需求,而我们最大的反应就是:为什么产品经理不能做好本职工作,事前定义好范围?事先决定好功能需求?老是改来改去……
这个想法真的是太天真了,本来以为很简单,事实上做一个产品真心不容易,产品经理必须考虑到技术和预算的限制,必须考虑用户的想法,市场的情况,也不能忘记业务的需求,并且业务环境还会经常发生变化,有时你必须先构建一部分产品,然后再逐步完善。
最后,可能对于某些人来说,以上四点都是显而易见的事情,“一名优秀的程序员”不仅仅是掌握技术相关的知识,了解你能够为公司带来哪些价值,以及如何才能实现这些价值,尤为重要。