In a perfect world, perhaps, a developer is simply a person who crunches out code. No need
to meet with clients and gather their requirements; that is the job of the project manager.
No need to design or ensure the integrity and security of the database infrastructure; that is the
job of the DBA. No need to worry about IIS configuration issues or the segregation of environment
platforms (e.g., development, acceptance testing, production); that is the job of the network guys.
And certainly no need to worry about color schemes, graphics, or logos used in the application; that
is the job of the graphic designer.
But more and more, this is becoming less and less acceptable. In an interview, it is no longer uncommon
to hear that the potential employer wants to know that the developer they hire can carry a
project all the way from the requirements gathering to production and maintenance. For any of
the steps involved in the Software Development Life Cycle, it is becoming increasingly hard to say
‘‘that isn’t my job.’’ Everything is your job. As a developer, you are expected to gather customer
requirements, develop proof-of-concept designs, make decisions on application and database platforms,
create and maintain databases for your projects, administer the IIS of the web servers (at least
at the development region), and work with your clients through acceptance testing and eventually
production moves and maintenance.