Software Architect

  • Full-time

Company Description

GridPoint is an established leader in smart energy solutions, providing Fortune 1000 enterprises, government agencies and utilities with the tools to implement and maintain sustainable energy management practices that improve operational efficiency and maximize energy savings. Founded in 2003, GridPoint is headquartered in Reston, Virginia, with an office in Roanoke, Virginia.

Job Description

The Software Architect shall be the principal author and advocate for the specification of software architecture and design for GridPoint's product and service offerings portfolio. The Software Architect shall work closely with members of the Engineering and Operations teams to identify optimal solutions which best integrate and support legacy products, evolving products, and new product initiatives. The ideal candidate shall be well experienced in successfully applying computer science based models, founded on best design patterns, to achieve successful application solutions in a variety of domains.


The Software Architect's responsibilities shall be to:
* limit choices available during software development by
-- choosing and specifying a standard way of pursuing application development
-- creating, defining, or choosing an application framework for the application
* recognize potential software assets reuse in the organization or in the application by
-- observing and understanding the broader system environment
-- creating the component design
-- having knowledge of other applications in the organization
* subdivide a complex application, during the design phase, into smaller, more manageable pieces
* grasp the functions of each component within the application
* understand the interactions and dependencies among components
* communicate these concepts to developers

In order to perform these responsibilities effectively, the Software Architect shall use tools, standard models, industry best practices, and creative design approaches to represent systems and/or to develop system prototypes, assets, or supporting assets. The Software Architect may also select and/or specify particular technical standards, tools, components, platforms which may be collectively tailored for a consistent and optimal overall system specification/design.

The Software Architect shall:
* initially and periodically thereafter fully review the inventory of system design and software assets to assess degree of efficiency and effectiveness in supporting desired functional, usability, performance, scalability, reliability, and security capabilities.
* prepare a comprehensive suite of designs/specifications and associated migration plan(s) to achieve optimal system design implementation to fully support all known and required system capabilities
* prepare reference design examples for selected components or design patterns which may be more widely used and/or tailored in system implementation efforts
* provide technical support and guidance to the Engineering team at large for the orderly and reliable maintenance and evolution of system design and capabilities
* provide architectural/design support to the Data Warehouse team to achieve optimal DWH system design/implementation.
* continuously assess emerging technologies for suitability/applicability in the master application framework of GridPoint system design
* continuously monitor evolving GridPoint Product Management product initiatives to identify best solution paths as well as to identify critical errors in new product plans with respect to existing system fundamentals.

Qualifications

* B.S. Computer Science or related field... M.S. Computer Science highly preferred

* Minimum 10 years of professional experience in highly senior design/architect roles
* Minimum 10 years of experience with Unix internals; Java or .NET; XML/JSON; Oracle, Postgres, or SQL Server; application frameworks (e.g. J2EE, JBOSS, Spring, Hibernate, OSGI)
* Minimum 5 years of experience with web services applications... RESTful designs preferred
* Minimum 10 years of hands-on experience with database programming in Java or .NET with Oracle, Postgres, SQL Server or other RDBMS
* Experience with one or more of the following is desired: scala, service oriented architectures, continuous integration, automated configuration management
* Desired experience with identity/authentication frameworks for any of OAuth, SAML, OpenID
* Desired experience with large scale data management using Hadoop, Cassandra or similar leading technologies.
* Excellent written and verbal communication skills

Additional Information

GridPoint is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, age, or disability.


Note: no unsolicited 3rd party resumes accepted