`

2012, 每一个软件工程师必须做的11件事儿

 
阅读更多

2011年即将结束,2012正在靠近。你是否已经为自己设定了2012年的目标?不管你的答案如何,我相信下面列出的11条建议里面总有一两条适合你。

 

1. 使用Twitter(国内的开发者可绕过) 

如果你是一名程序员,如果你还没有使用Twitter,你就out了。不是说你有多少粉丝,而是在Twitter上你可以更快的得到问题的答案,获取你关注的话题的最新资讯。(显然,作者没有考虑我国的程序员) 

2. 经常阅读 StatckOverflow(英文不好的可绕过) 

StackOverflow是提问编程问题最好的地方。即使你没有账号,它也值得你去浏览、学习。(良好的英文阅读能力是程序员的必要素质。) 

3. 开始写博客 

我认为每一位开发者都应该写博客!因为博客可以记录我们学习进步的轨迹,可以让别的开发者参考。写博客可以让你和别人有更多的交流。还有,写博客可以提高你在技术社区的知名度。 

4. 参加线下活动 

从你的“shell”里面走出来吧,多参加线下的沙龙、活动、会议,多和别的开发者交流,可以让你在这个领域建立自己的人脉网络,这对你在这个领域的成长很有好处! 

5. 使用现代化的智能手机 

作为一名开发者,如果你还在使用老土的山寨机,你得赶紧升级了。我还记得有一次跟一个经理聊天的时候,他得走回座位才能给我发邮件,我就在想“这哥们儿是做IT的吗?”。正如有些行业你必须开好车,穿靓丽的衣服一样,我们干IT的就应该站在技术、硬件的前列! 

6. 拥抱移动互联网 

移动互联网的大潮才刚刚开始。你不仅需要知道如何为iPhone、WP7、Android开发应用,你也需要学习如何创建可以在任何一台移动设备上运行的Web应用程序。 

7. 学习至少一种设计模式 

我无法告诉你应该学习哪个设计模式,但是你至少得学习一种。我个人倾向于MVVM,因为我是Sliverlight/WPF/WP7开发者。 

8. 每年设定可行的目标 

创建一个简短的列表,记录你下一年想要完成的目标。同时你也应该按照季度来检查目标的完成情况。你可以用Gmail Reminder来提醒你自己。 

9. 学习不同的编程语言 

简单来说,学习新的语言可以拓宽你的视野,可以让你对“计算机和编程语言是如何工作的”有更深的了解。“如果你只有锤子,那么所有的问题在你看来都只是钉子”。 

10. 增强自信 

很少有程序员对自己很自信。如果你觉得你哪里弱,那你就去增强那里。互联网上有大量免费的资源可以让你学习各种知识,以弥补你的弱项。 

11. 阅读博客、技术书籍和杂志 

你读过几本编程书籍?杂志呢?我认为一名好的程序员每年至少阅读5本编程书籍。不读书怎么进步呢?

 

英文原文:11 Things every Software Developer should be doing in 2012

 

 

 

My list of 11 Things every Software Developer should be doing.

11 Things every Software Developer should be doing in 2012.

image

Introduction

2011 is winding down and 2012 is upon us. Have you set any goals for 2012 both professionally/personally? Regardless of the answer, I’m sure one or two of the items listed below can help. I usually don’t blog many opinion posts, due to the fact that I like to keep my blog technical. This post is an exception. :)

11 Things every Software Developer should be doing in 2012.

  1. Get on Twitter – If you’re not using Twitter and are a Software Developer then you are missing out. I believe that Twitter is the one of theMOST important tool a Software Developer can use. Why?
    1. Regardless if you have 10 followers or 10000 followers, any coding question can be found and answered in a matter of seconds using Twitter Hashtags. 
    2. Get software developer news straight from the source by following other developers.
    3. Again hashtags – To monitor topics important to you. For example, I use it to monitor #wp7, #silverlight and #wpf. 
    4. To stay engaged in a conversation with other developers and to see what projects they are working on.  
  2. Read StackOverflow Daily – StackOverflow is the number one forum for asking a coding question. Even if you don’t have an account, it’s worth it just for browsing questions and learning. I think it is a wise investment of your time to spend at least 20 minutes a day reading StackOverflow.
  3. Start a Blog – I believe that every Developer should have a blog. Why?
    1. It is a footprint that we leave for other developers studying our craft.
    2. It allows you to become engaged in the community.
    3. It helps you market yourself as a professional.
  4. Get out there – Get out of your shell and start talking to other developers at local user groups/other meet ups/conferences. I will let you in on a secret – most everyone is shy at first. If you start a conversation with them then it usually takes off very fast.
    1. Networking with other developers is big – really big. You start building connections in the industry and if you ever need help then you have someone to go to.
  5. Carry around a modern phone - If you’re a developer and carrying around an older phone then its time to upgrade. I remember a manager at one of my jobs that had to walk back to his desk to email me something. I remember thinking, “This guy is in IT?” Just like some industries you need to drive a fancy car, have nice clothes or the latest jewelry. In technology, we need to stay current with our computers, software and mobile phones.
  6. Embrace Mobile  – Do you think this “mobile” thing is going away? Well, it is just getting started. You need to know more than how to develop for the iPhone, WP7 or Android. You need to learn how to create web applications that will run on every mobile device. (Including phones, iPads, Windows and Android slates). I believe that every developer will have to create a mobile application in his/her programming career. This is something a modern developer cannot ignore.
  7. Learn at least one design pattern- I am not going to tell you which one you should learn or focus on, but you need at least one. I prefer MVVM for myself because I am a Silverlight/WPF/WP7 Developer. If you are familiar with at least one design pattern then it would make me feel better about hiring you.
    1. I’d start with this book: Gang of Four – Design Patterns: Elements of Reusable OOS
  8. Set reachable goals each and every year – Create a short-list of goals that you are looking to accomplish in the next year. Not only should you be challenging yourself with a set of goals, you should also create a quarterly outlook/Gmail reminder to evaluate your progress. I am a believer that you should start small with a goal and build up from there. I did this with my MCPD certification. I shot for the MCP, then MCTS then the MCPD.
  9. Learn a different programming language –  Simply put, it broadens your perspective and permits a deeper understanding of how a computer and programming languages actually work.
    1. If the only tool you have is a hammer, you'll treat every problem as a nail.
  10. Boost your confidence – It always amazes me how few developers are confident in themselves. If you feel like you’re behind on something then learn it. I can’t find any excuse for staying ignorant in this industry. There is just too many FREE resources on the web. 
  11. Read Blogs/Programming Books/Magazine – How many programming books have you read this year? What about good developer magazines? I believe a good developer would read at least 5 programming books a year and at least a magazine or two monthly. Even if you don’t have a subscription to MSDN you can get the .PDF for free a month after release.  How can you get better if your not constantly reading?

Thanks for reading and please leave feedback in the comments section below.

分享到:
评论

相关推荐

    一个软件工程师的年终总结.doc

    "一个软件工程师的年终总结" 软件工程师的年终总结报告,总结了过去两年的软件开发经验,分享了软件开发的基本认识,即业务框架和技术框架。业务框架的构造通常辅以 UML 工具进行业务流程的识别和设计,技术框架...

    NIOSII那些事儿

    类似于硬件开发中的工程建立步骤,这里需要创建一个软件工程,并进行相应的配置。 #### 五、编译 在完成了代码编写之后,需要使用IDE进行编译,以检查语法错误并生成可执行文件。 #### 六、运行 编译成功后,可以...

    [2011.08]IT项目管理那些事儿01

    《IT项目管理那些事儿》(作者王保强)采用叙事的风格,通过11篇来自一线项目经理的实际经历的文章,分享项目经理人自身的实践和经验的案例...《IT项目管理那些事儿》适合软件工程师、测试工程师、项目经理、IT经理人阅读

    IT项目管理那些事儿

     《IT项目管理那些事儿》适合软件工程师、测试工程师、项目经理、IT经理人阅读。 第一篇 项目篇 第1章 中小型民营IT企业项目管理手记 1.1 项目管理是什么 1.2 背景介绍 1.2.1 个人背景 1.2.2 公司背景 1.2.3 项目...

    course_s1_ZYNQ那些事儿-FPGA实验篇V1.04.pdf

    ZYNQ是一套由Xilinx公司提出的集成了ARM处理...总的来说,这本教程是一个全面而细致的指南,非常适合对ZYNQ开发平台感兴趣的工程师和学生,无论是对于初学者还是有经验的设计者来说,都能从中获得宝贵的知识和经验。

    Java程序员+上班那点事儿

    书中通过对比一位技术全面但求职不顺的“准程序员”和一家招聘Java软件工程师的公司的情况,揭示了一个重要的问题:为什么一些求职者虽然掌握了大量的技术知识,但在求职市场上仍然面临困难? #### 二、技术全面与...

    nios ii 那些事儿 7.0 完整版

    通过学习本书内容,读者不仅能够了解到黑金开发板的硬件配置和功能,还能深入理解NIOSII软核处理器的设计与应用,掌握基于NIOSII的FPGA开发流程,这对于希望从事FPGA开发的工程师和技术爱好者来说是一个宝贵的资源。...

    FPGA那些事儿--TimeQuest 静态时序分析 完整版

    TimeQuest是Altera(现已被Intel收购) Quartus II软件中的一个重要工具,专门用于进行静态时序分析。这篇教程——"FPGA那些事儿--TimeQuest 静态时序分析 完整版"深入讲解了如何利用TimeQuest来优化和验证FPGA设计...

    Java程序员+上班那点事儿 doc

    - **企业招聘标准**:以Java软件工程师为例,企业通常会寻找具有相关工作经验、精通Java编程、熟悉主流数据库以及具备良好团队合作精神的候选人。 - **如何提高竞争力**: - **提升专业技能**:针对职位要求加强...

    java程序员上班那些事儿.pdf

    - **技术广度与深度的权衡**:虽然拥有广泛的技能对于求职者来说是一个优势,但在实际工作中,企业更看重的是某一方面的专业能力。因此,求职者应该根据目标职位的需求来调整自己的技能组合,突出重点。 ##### 1.2 ...

    Java程序员+上班那点事儿.doc

    - **招聘方案例:**一家软件公司招聘Java软件工程师,虽然要求相对简单,但一个月内未能找到合适人选。 **分析:** 1. **求职者困境分析:** - **技术广度与深度:**该求职者掌握的技术过于广泛,但可能缺乏某一...

    VerilogHDL那些事儿配置笔记

    Verilog HDL(硬件描述语言)是数字系统设计中广泛使用的编程语言,它允许工程师以接近自然语言的方式描述电路的行为和结构。这篇“VerilogHDL那些事儿配置笔记”可能是针对初学者或有一定经验的设计者,旨在深入...

    Java程序员上班那点事儿txt版本

    Java程序员作为软件开发领域的重要组成部分,在工作之前需要具备一系列的基本技能与专业知识。根据给定文件中的描述,我们可以总结出以下几点: - **熟悉主流开发工具**:包括但不限于IDE(如Eclipse, IntelliJ ...

    course_s4_ZYNQ那些事儿-Linux实验篇V1.06.pdf.7z

    例如,你可能需要创建一个IP核来处理特定的外设接口或加速算法。 3. **设备树配置**:在Linux内核启动时,设备树描述了硬件的具体结构。学习如何编写和修改设备树源文件(DTS)以识别和配置ZYNQ中的PL资源。 4. **...

Global site tag (gtag.js) - Google Analytics