Getting the Job About FGM Daily Log Career Advice Internship Value Extra
 

About FGM

Employer

This summer I interned at FGM, Inc., which is headquartered in Dulles Virginia. The initials stand for the three founders of the company: Mike Fortier, Scott Gessay, and Mike Morehouse. I typically worked a 40-hour workweek. FGM offers flex time, which means that employees may work at any time of the day as long as they meet their 40-hour workweek requirements, and are in attendance of any meetings in which they are needed. My schedule was Monday - Friday from 7 A.M. to 3 P.M. This gave me the opportunity to arrive at work early and leave work early in order to avoid the dreaded Northern Virginia rush hour traffic. This also allowed me to have my afternoons open in order to workout, run errands, or simply relax.

There are five separate teams at FGM: Shadow, Stealth, Helix, SWAT, and Base Camp. Each of these teams maintains separate responsibilities and may be assigned to a number of different projects. While at FGM I worked on the Shadow team and was assigned to the Global Combat Support System (GCSS) project. This project is used to migrate combat support systems to the Common Operating Environment (COE) in order to provide integrated combat support. Basically, this project converts data from many different sources into relevant and coherent information that can be used to support combat efforts.

The Shadow team is comprised of about 70 employees. Because FGM is a relatively small company the responsibilities of each team member can have great range. Many employees were accountable for not only one primary job function, but rather a host of different job functions. A few job functions of the employees in my section included testing, development, design, configurations management, network configuration, and project management. Employees in my section ranged from very skilled veterans to entry-level employees like myself.

The main customer for the GCSS project is the Defense Information Systems Agency (DISA). DISA is a combat support agency that helps plan, develop, and operate combat information systems needed by the Executive branch of the U. S. government. Other customers of FGM include the Veterans Affairs Administration, the U.S. Space Command, and Lockheed Martin.

My immediate supervisor was Jack Wilmer. Jack is a project manager and software developer who has been working at FGM for three years. He is a 2000 graduate of Princeton University.

The atmosphere at FGM is very relaxed. The people at FGM are very friendly and very willing to help if you need to ask them a question. Everyone seemed excited about having interns in the office. Most employees were very enthusiastic about sharing their knowledge of not only a variety of computing topics, but also of what it is like to work in the “real-world” corporate environment as well. There is no dress code at FGM so employees may wear whatever clothes they feel comfortable in. I typically wore jeans, a button up shirt, and tennis shoes to work.

My Job

While interning at FGM I worked on and completed two separate projects. The first project I worked on was a web-based application to be used by FGM’s software developers. This program allows employees to log onto various development and testing machines in order to access important information about the software on each machine. The program centralized this vital information and made it possible for the configurations management team to assess the various software products on each machine. This was helpful in allocating resources for different projects. I employed a variety of skills to implement this program including PHP, SQL, Korn Shell Scripting, Java Script, HTML, and Cascading Style Sheets.

Before working at FGM I had no previous experience of working with PHP, Unix, or SQL, but I was told that I would need to understand these technologies in order to complete my project. So for the first week or so of my internship I was allowed to sit in my office and study tutorials on these technologies. Most of the tutorials I used were found on the web; however, fellow employees also offered advice and gave me books to aid in my studies. Once I felt comfortable with the technologies I was able to begin work on the project. My first step was to create a design for the project. I sat down with my mentor for about two hours and we designed various use cases for the project. I also sat down with the resident database guru and he helped me design a database that would fit my project’s needs.

Many problems arose as I to worked on this project. To begin with the requirements for my project were not comprehensive or cohesive and I was often confused about the direction I should take my project. In order to solve this problem I sat back down with my mentor and reworked the design. Through an iterative process we were able to work out a suitable design and I was then able to begin working on my project with a strong sense of direction.
I created a few prototypes of what I envisioned the project to be and discussed the strengths and weaknesses of my work with my co-workers. I followed their advice and continued to improve my project until it was complete. After I was finished with the project requirements I created and implemented a user interface so that the program would be easier to use. When the coding for my project was done I began to test it thoroughly. During testing I found and corrected numerous bugs. Once I was satisfied with my project I placed a link to it on the team web page and allowed other employees to take advantage of its services.

The second project I worked on was another web-based application that automated the company’s weekly status report process. Each member assigned to the GCSS Project must fill out a status report weekly. These reports explain what type of work that employee completed that week and also what type of work they planned on completing the next week. Currently, this process is done by email. Each employee emails the deputy team leader this information and he must then compile it into a coherent report. This is a very time consuming and tedious task. In order to make this process easier I worked on a team with another intern to automate this process. We created an application that allowed employees to log onto a website, access information relevant to the work they had been doing that week and fill out the report. After the workweek was over, the deputy project manager could compile all of this information easily into a Microsoft Word document using our program. The technologies we used to develop this project were Java, JSP, Oracle, HTML, and Java Script.

I used the same steps to develop this project as I did in the first: design, develop, test, deploy. This project however was very different because I was working on it in a group. The group consisted of another intern, a full-time employee, and myself. This made the project much more interesting but also made it much more difficult because ideas and work needed to be shared. In order to coordinate our efforts we held meetings to discuss our ideas. We also used the CVS file sharing system, which allowed all members of the team to have access to all of the project files at any time.

Good communication skills were needed in order to make this project work. In the beginning of the project this was a slight problem. We were each working on our own different sections and were not coordinating our work very well. After our first few attempts to compile our project failed we realized that we needed to work more as a team. We began to communicate more effectively and as a result we were able to complete a prototype of our project. Unfortunately, the summer and our internships ended before the project was completely finished. However, I believe that we completed enough of the project to allow another developer to finish it with ease.

When I was hired I was not expected to have a specific set of skills but I was required to have the ability to program in a high level programming language such as Java or C++. I was also required to possess good communication skills, the ability to work in a team, and the ability to solve problems independently.

During my internship at FGM there were many training opportunities that I had the chance to take part in. One training seminar focused UML training. A fellow employee who is also a part time professor at Johns Hopkins University instructed the seminar. I was also able to sit in on many lunchtime seminars. These seminars were held every Thursday and hosted by a different employee each week. The topic of these seminars was chosen by the seminar host and varied from situational leadership to espionage. One seminar was even held on how to make ice cream with liquid nitrogen.

The people at FGM are what make working at the company so special. Everyone I had contact with was extremely friendly and always willing to lend a helping hand. Many people were very eager to take time out of their busy schedule to help answer a question that I may have had or to help me work through a problem. The other interns I worked with were also very nice people who attended universities all over the country. Two interns (including myself) attend universities in Virginia, one intern attends school in Florida, and the final intern attends school in Colorado.

Tools I Used This Summer:

GVIM Editor
PHP MyAdmin
Xmanager
PHPDev
MySql
Eclipse
Dos
Dreamweaver MX
CVS