Objective

To obtain a position in which I can play an active role in the development of leading edge technology. I would like to attain a position which fosters creativity, family values, and team work. It is my goal to contribute to this type of environment by sharing my work ethic, the knowledge I have gained through mentorship, and to attempt to lead by example.

Overview

If you are anything like me, you love to dive into the fun and get a project underway. However, taking time to think through the design process will save you some serious headaches in the long term.

There are many aspects to software design, and many varying methodologies that most people overlook. Sure we programmers are a dime a dozen, and we all know the same languages. So what sets me apart from the others?

Despite every desire I have as an software engineer, I don’t just dive right into the code and start plugging away, I examine many of the different components involved in software development:

  • Required & Additional Functionality
  • User Interface
  • Internal & External Data Structures
  • Program & Object Structures

Required & Additional Functionality

Without guidelines & specifications it can be hard to identify when a program is complete. Communication is key to developing the specifications, without it, many of the ideas users have for the application may never make it to the final program, and cause what is commonly called, “feature creep.” Without guidelines it is extremely hard to track progress and gain additional motivation to continue work on an application.

User Interface

Before coding any modules or objects it is important to plan & develop the user interface. Without performing user interface design, a program will seem unprofessional. I always make every effort to discuss or demonstrate it to the end users.

Internal & External Data Structures

Well designed internal data structures make it easier to handle the information within your program. More importantly, they make your program more flexible and easier to add or change functionality. They can also have a huge impact on the performance of your completed application.

External data structures are key to storage of information when the application is not processing. Poorly designed external data structures can cause loss of data, poor performance, and inconsistencies that lead to flexibility issues & maintenance problems.

Program & Object Structures

A program with well designed program & object structures will be easier to implement; easier to distribute; and easier to maintain. Without looking at the environment in which the application will reside it is nearly impossible to design these structures properly.