I often get asked by new developers for recommendations of books to read or classes to take to help them learn a new language or technology. While classes and books will certainly help anyone learn the basics of a new technology, I wish new developers would ask me about how to build and improve their skills beyond the basics. Here are 5 things that new developers (regardless of the language) can do to build or improve their skills. Learn Object Oriented Design and Concepts Unfortunately, most books and classes teach the semantics of various programming languages without teaching the underlying concepts of designing software. Currently, object oriented design is the preferred methodology for developing software systems and most commonly used languages support object orientation at some level. New developers can greatly improve their skills by learning more about object orient design, how to identify the necessary objects and what their classes should (and shouldn't!) include. As part of a thorough study of object oriented concepts, new developers should learn about design patterns and study the most common patterns. Design patterns refer to a way of solving common problems such as a linked list or a class that can only be instantiated once (the Singleton design pattern). In web development, the model/view/controller design pattern is often used to describe the segmentation between the data objects, business logic and presentation. A thorough understanding of these patterns will help new developers write better code and help them avoid reinventing the wheel. Testing and Test Driven Development Testing is a critical part of any development effort. Unit testing allows developers to thoroughly test each unit (module, class) of a complex system and verify that it is working properly. Regression testing is used to verify that a new feature or change to code did not break existing functionality. Test-driven development is a methodology where developers create the test cases for their code as they develop a system. The developers write regression and unit tests and run these test frequently throughout the development cycle. This allows bugs to be caught earlier in the process and results in a higher quality of code. Unfortunately, most books and classes cover testing only briefly. New developers will greatly benefit from some deeper study into the methods of testing code and identifying good test cases. Join an Open Source Project There are a multitude of exciting open source projects on the web. Helping with the development of one of these projects has a number of rewards including improving your skills as a developer. Most open source projects have coding standards for developers to follow. This will help you gain valuable experience using a coding standard. Since many companies also have coding standards, this is an important part of developing software. You will also get feedback and critiques of your code. Other developers who are more experienced will often make suggestions about how you could improve your code. This is valuable tutoring that you are essentially getting for "free". Finally, you will gain experience working on a software project with a team. Join a User Group User groups are invaluable to new developers. They provide discussion about various aspects of development and allow you network with other developers using the same language as yourself. Local user groups often host meetings with speakers and demonstrations. These can help you to learn new techniques and to see how other developers solve common problems. Online user groups often provide discussion forums where members can solicit and provide feedback about code or proposed solutions to common development problems. As such, user groups are an invaluable resource to new and experienced developers. Just Do It! If you allow fear of not being good enough paralyze you, you will never develop your skills as a developer. The best way to improve your skills is to actually write code. Jump in and work on a project. Your first few will probably be horrible. However, as you write more and more code, you will discover better solutions to similar problems and in the course of time, you will become a better developer. The only real way to become a developer is to actually develop something. SEO India provides all kind of Exper IT Development Services
Related Articles -
IT Development, SEO Optimization,
|