现在的位置: 首页 > 综合 > 正文

How to grow to be a professional developer

2013年08月11日 ⁄ 综合 ⁄ 共 3584字 ⁄ 字号 评论关闭
How to grow to be a professional developer
  Learning is the way and the only way to grow to be a better developer. You get new skills through learning, you become more competitive through learning; you become a better developer through learning. In all, learning is crucial to every one, even you are a boss of yourself. But when and how, because we are busy all the times, we work overtime constantly resulting in we got little time to study. We can, howevery, stike a balance between working and learning. Here are some advices. For work related stuff, we should learn them in offices; while at home, we should broard our vision by learning or reading extensively; learn something insteresting us, which might not be related to what we do in offices. Anyway, we are to live, not to work, work is part of life, but not all.
1. In offices
  We should develop professional skills while we are in office, improve compititiveness. This is because, when in offices we get better environments:
    1. Offices are place to work and learn. In office, you have a more powerful computer, a more comfortable table and chair, drinks, books, materials and chances to practice.
    2. Better development environments. Without any doubts, in office, you have an absolute good development environment which you cannot never get by yourself. You have everything you need: compilers, editors, source control, text processing, etc.
    3. Resources: responsive networks, powerful computers, books, materials, tutorials, colleagues etc. You have so many resources to use while you are in offices, which enables you to learn more effectively.
    4. Chances to practice: the projects you are working in office, what they called work are much larger and harder, which needs a professionaly team and cooperation, communication. There are architecture, design, test, documents, iteration, discussions and meetings. You can also see project managements, human resources managements, project configurations and so on. Those might not occur in your limited personal workspaces.
  Provided these advantages, we should develop our professional skills in offices.
  In details, we should develop:
    1. Professional skills:
      Android
      Java
      [OpenGL]
    2. General skills:
      project managing
      architecturing
      designing: UML/OOP
      debugging: Gdb/DDD/Eclipse
      testing: Test Drive Development/Unit Testing/Auto testing
      documenting: comments, word/Excel/PowerPoint/Troll/Latex/Vim/Emacs
      Scripting: Shell, Perl
      compiling: gcc/g++/javac/Eclipse/make
      configuration: make/automake/autoconfig
      writing: report, tech articles, user guide, specifications, coding conventions, speeches, tutorials, plans
  Although, we have to learn a lot stuff and should learn them in office, our boss hire us not to learn but to work. As a result, we must learn how to find time to study or be smart to squeeze time to learn. First of all, you should finish your tasks of course. Our tasks are topmost on our lists which are our responsibilities. After finishing our jobs, we can take that spare time to study. There is an exception, which is that we need to learn and study before getting down to our assigned tasks in order to finish them more effectively, when we are facing an unmet problems sometimes.
2. At home
  After knocking off and back home, we should also try our best to squeeze from limited spare time to learn or read a book, to improve and grow. Such a time is very limited, which is less than two hours a day. As a result, it is impossible for us to undertake any ambitious plan at home. There are advantages at home, too. There is no restrictions at home, there is no pressure, there is no deadline and there is no boss supervising you. All these make it best to broad your vision and work on your insterests, including: personal interests; hack your computer systems or your cell phone; learn anything interests you; learn other languages or platform; learn other areas such as UI, design, Graphic design or HCI, or other technique engineering area; take part in some opensource group or communities.
  For you, that might be:
     Windows, C/C++, OpenGL, Photoshop, UI/HCI, Objective-C, Mac OS/iOS, English, cooking, gardening, driving ...

抱歉!评论已关闭.