My Career as a Software Development Manager.
Having the opportunity to do something for a living that you would willingly do for pleasure is the best indication that you have the ideal career. One of the most cherished accomplishments of my life to this point is having the opportunity to explore my logical and creative potential by designing and coding computer programs. An added bonus and privilege in my current position is that one of my primary responsibilities is to assist in the management of the environment in which I work. In my career I serve in two distinct roles; that of a software developer, responsible for designing and coding computer programs, and that of a software development manger, responsible for selecting teams, managing projects and establishing a productive environment for those individuals reporting to me.
The role of a software engineer is comprised of many things, but I will focus on five of the tasks that I feel are most important. These tasks include: (a) understanding the business case for the development, (b) the design and architecture of the system, (c) requirements and functional specification development, (d) writing and debugging the program, and (e) transitioning the product through the quality assurance process. While there are important subdivisions within the tasks, these represent the main stages in software development.
Although less experienced software engineers often skip this step, and many experienced engineers as well, it is extremely important that the developer establish a clear understanding of the business case. Only through a clear and concise understanding of the factors that initiated the development, the identification of the experience level of the intended end-user and the environment in which they will utilize the software, can the developer begin to form the framework for the required functionality. Developers many times base the design of the user interface on the perceived experience level of the target audience and their familiarity with the proposed type of program.