Ten Tools Every Software Developer Needs
In no particular order:
1) SQL - Structured Query Language is the Lingua Franca of database programming and all modern business programming requires some database interaction. Having a strong SQL understanding will ensure you can talk the database language when the time comes.
2) Database Design - Good database design is a key factor in any modern complex system. You may never have to design a database from the ground up but you will certainly need to know key concepts like indexing, foreign keys and table normalization.
3) UML - The Unified Modeling Language isn't really a language at all but rather, it's a mechanism for expressing relationships and processes in any system. UML is widely used in commercial software design and development, and it will greatly enhance your ability to communicate and understand complex systems.
4) Object Oriented Design - Good OO design skills are required in most software development today. While UML might be used to express a system's design, the software developer must be able to actually design the objects themselves using good OO design skills. In an analogy, UML might represent the written sheet music, and the OO design would be the process of composing the music.
5) Refactoring - Refactoring is closely related to OO design. It is the process of improving on existing implementations by applying sound design principals and making changes accordingly.
6) Design Patterns - Software developers often face similar or even identical problems while developing disparate systems. Some problems, and their solutions, are so common that they have been cataloged into a common set of design patterns. The more of these patterns a developer knows, the more productive he or she will be.
7) Web Apps - Web application programming is evolving rapidly and it's a completely different model than traditional desktop or client/server application programming. The modern developer will become familiar with the evolving technologies and stay abreast of the changing landscape.
8) Client/Server Apps - Client/Server apps operate in more controlled environments than Webb apps and come with their own sets of concerns. Many C/S applications run today's businesses and will continue to through the foreseeable future.
9) Programming Language Skills - The basis for all software development is the programming language. Languages come in and out of favor and the modern developer has to keep current on the languages that are in-demand. At the time of this writing, Java, C#, C++, HTML, XML, and other Web-oriented languages are in high demand.
10) Infrastructure - Although the hardware, operating systems, network topology and administrative concerns that go along with those things aren't directly tied to software development, they are very closely related. A software developer who has in-depth knowledge of any of those topics along with the previous 9 tools will be highly sought after in today's marketplace.
Related Tags: web development, software development, software professional
Joe Pescatello is an author and commercial software developer. Visit http://UncleBobsAttic.com for a sample of his work.
Your Article Search Directory : Find in ArticlesRecent articles in this category:
- Take the Wheel - Drive Customers to your Website
So you own a small business and you have made the decision to build a simple website to gain interne - Hosting Geeklog Sites----Leading To a Booming Online Community
The weblogs are increasingly viewed as a cheaper alternative of expensive content management system. -
-
-
-
-
- Joomla Revolution! How This Free Software Is Changing The Web?
Joomla is changing the web, there is no one better sentence to describe what this young FREE SOFTWAR - Spicing Up Your Blog with 3D Animated YouTube Playlists
People have blogs for different purposes, some people maintain a blog purely for commercial reasons, - Free Image Hosting Service
Image hosting is a part of most web hosting services, providing hosting solutions for images instead
Most viewed articles in this category:
- Beyond the Brand
After completing a "Who, What, Where, Why and How" exercise, there are a few more steps to preparing - Build A Better Website
Building a website isn't usually rocket science, but you have to do your homework. Just like buying - SharePoint 2007 New Feature Overview
Sharepoint 2007 is in Beta 2 now and is projected to be released at the beginning of the year but n - How To Install SharePoint 2007 Beta 2
Following are the detailed instructions on how to install SharePoint 2007 Beta 2 on a clean version - How To Accomplish Your Goals With A Web Site
Choosing a small business idea to reach your goals is not easy. You'll need a strong spirit and dete - The Best Web Sites Aren't Free
The best web sites aren't free. While you may be tempted to buy an HTML book and try to put a few we - URL Forwarding and Redirection
Webmasters and common Internet users have a constant need for URL forwarding and redirection. The r - Web Site Development with Ruby on Rails and Other Programs
Web site development is a very big business these days. Almost every company in the world is trying - Self Assessment: How Effective is Your Web Site?
1. Fonts are an important attribute of a Web site. It is essential that fonts are large and c - For Automated Sites - PHP and MySQL are A Perfect Match
You’ve decided to automate your web site. Now what? Here are some ideas to help you choose how