Software Engineering

Today’s complex systems demand a systematic, disciplined, quantifiable approach to development, operations, and maintenance.

Apogee Integration’s Software Engineering team is led by Alex Blakemore who has designed and developed successful software solutions to complex customer problems for over 25 years. Dr. Blakemore and his team deliver expertise in the full software development life-cycle to customers across the Intelligence and Defense communities. Apogeeā€™s highly trained engineers understand the importance of rapidly adjusting and adapting their skills as customer goals and requirements change.

In addition to proven project and configuration management skills, APOGEE engineers have years of experience in the analysis and design of diverse enterprise information systems. With an emphasis in object-oriented software development, mathematical and database modeling our engineers bring experience, education, passion, and adherence to disciplined software techniques to your development, refactoring, maintenance or prototyping efforts.

Apogee software engineers are experienced in most modern computer languages and technologies including: Java, C/C++, C#/.NET, Python, Matlab, Mathematica, KML, HTML, Struts, JSON, SQL, PL/SQL and have an expertise in every stage of the development life cycle. We are also very skilled at using and interfacing with many software systems including STK, Google Earth, Oracle, ArcGIS, ERDAS Imagine, and Tableau among many others.

Apogee Software Engineering

Some of the systems we have developed include:

  • Monte-Carlo discrete-event simulation environments for modeling complex systems
  • Database systems with graphical user interfaces, business logic and reporting
  • Integration software for sharing data and functionality between legacy systems and modern evolutionary replacements
  • Software for analyzing and visualizing satellite track coverage and related metrics
  • Analytical tools and interactive visual displays for exploring large graph networks
  • Web servers for entering, displaying and querying database information
  • Software to create technical RNIIRS pattern contours for Synthetic Aperture Radar Systems

Software development projects usually fall into two categories.

Non-traditional projects that:

  • Involve new or prototype technology, where the requirements change rapidly, or some development is required to discover unforeseen implementation problems
  • Are research projects, where the resulting work is not the software product itself, but domain knowledge
  • Are small and more easily managed through informal methods

Traditional projects that:

  • Involve stable technology and have fixed requirements, where it is known that few changes will occur
  • Involve mission critical or safety critical systems, where formal methods must be employed for safety or insurance reasons
  • Are large projects which may overwhelm informal communication mechanisms
  • Have complex products which continue beyond the project scope to require frequent and significant alterations, where a recorded knowledge base, or documentation set, becomes a fundamental necessity to support the maintenance

Each of these software project types needs a different approach to achieve cost, scope and schedule. At APOGEE we tend to be involved in more of the “bleeding edge” non-traditional projects. To succeed in these projects we have embraced the values and tenets of a software methodology known as Extreme Programming or XP.

» Click here to learn more.