Permanent General Companies, Inc.
Application Architect
At a glance
Location: US-TN-Nashville Map
Posted: 06/16/2019
Closing: 07/15/2019
Degree: 4 Year Degree
Type: Full-Time
Experience: Not Specified
Permanent General Companies, Inc.
Job description
Overview Job Summary

The primary responsibility of the IT department's Application Architect (AA) is to act as a bridge between business objectives and technological implementations. The AA ensures that PGC’s technology architecture is an enabler, not an obstacle to the company’s strategic plan.  This position shall be responsible for introducing consistency to the development team's architecture and design choices, especially for our mission-critical applications. This position will act as a technology steward while recommending improvements to the applications within our department with an emphasis on decreasing schedules and increasing stability and agility. The AA will report directly to the Director, Applications Development.

One large aspect of the Application Architect's job is to oversee the overall health of the Internet department's respective software systems and recommend, prototype, and implement solutions and improvements to prevent application atrophy.

This position requires extensive technology skills both at the theoretical and the implementation levels.

Responsibilities Essential Job Responsibilities
  • Dedicate 50% of working hours to development and 50% to architect efforts
  • Ensure that IT’s architecture and all of the processes surrounding the architecture are contributors to driving the key performance indicators of the company rather than being technology for technology’s sake
  • Conceptualize and experiment with alternative architectural choices for both established systems and new development
  • Create models and architectural spec blueprints
  • Create technology roadmaps and assert technological direction to achieve a consistent, flexible, and lasting technology platform
  • Design and architecture responsibilities will not end at implementation time; the architect is expected to be able to implement any given design to articulate the vision
  • The architect shall work with stakeholders, both leadership and domain experts, to establish and promote a concentric view of the enterprise as a whole
  • Operate across operational and departmental silos to ensure alignment of IT strategies
  • Optimize IT approaches ranging from technology utilization to aspects of the entire software development life cycle
  • Promotion of shared infrastructure and applications to reduce costs and increase the efficiency of information and process workflow. Ensure individual applications do not duplicate functionality
  • Direct or indirect involvement in the selection, development, implementation, and use of Information Technology within the enterprise; role is that of influencer, no budget authority is implied or granted
  • Enhance developer knowledge and skills in specific areas of expertise through training, tutorials, and knowledge sharing
  • Strive to simplify the IT landscape for operations, system administrators, and developers
  • Make realistic, incremental improvements to the business use of IT facilities
  • Resolve technical problems with any system as called upon
  • Provide presentations and information regarding the direction of IT architecture and design issues to all involved parties (management staff, development staff) to provide insight into current initiatives and the reasons driving those initiatives
  • Manage identification and mitigation strategies regarding risks related to overall architecture and design
  • Understand, identify, and plan for evolutionary technological progress; allow for new technology insertion; new technologies evaluated against standard criteria (e.g. feasibility, environmental fit, resource availability, time to value, etc.)
  • Through direct (implementation/refactoring) or indirect (knowledge sharing/design recommendations) involvement, support the continuous enhancement of current software systems
  • Remain open and objective to all ideas regardless of source; facilitate the gathering and filtering of ideas from team members
  • Commitment to keeping all requisite skills current and updated; share this knowledge with team as appropriate
  • Develop coding standards and oversee their adoption and adherence; commitment to keeping standards fresh and updated as required
  • Lead the evaluation of software tools and vendors to aid developers and/or integrate into production software systems
  • Serve as a pseudo-administrator for those systems which support development efforts (knowledge base packages, source control systems, issue tracking systems, etc).
  • Develop a technical training plan for development staff as knowledge gaps are noted
  • Extend and improve the value of existing IT investments
Job requirements
Experience/Skills/Edcuation Requirements
  • Bachelor's degree in Computer Science (or related realm) or equivalent experience
  • The ability to see how parts of the enterprise interact with the whole; big picture thinking
  • Knowledge of the business for which the architecture is being developed (domain knowledge)
  • Interpersonal and leadership skills
  • Oral and written communication skills
  • Influences and communicates effectively with non-technical audiences including senior product and business management
  • Knowledge of IT governance and operational attributes of the enterprise systems
  • Comprehensive knowledge of server-class hardware, software and systems engineering
  • Project management and planning skills
  • Time management; prioritization
  • Extensive knowledge of n-tier design
  • Experience and knowledge about the strengths, weakness, and usage patterns of common operating system platforms
  • Knowledge and experience designing a system to explicitly support enterprise-level scalability attributes
  • Experience and knowledge of SOA design and implementation; knowledgeable about service governance strategies
  • Experience and knowledge of event-driven architecture designs; build autonomous, automated systems which enable an enterprise-wide proactive stance to events and problems
  • Proven experience building all aspects of a modern enterprise application
  • Functional knowledge of multiple SDLC methodologies (Scrum, XP, Crystal); knowledge of quality-driven methodologies (e.g. CMMI); knowledge of EA frameworks (e.g. Zachman); awareness of adoptable practices from each
  • Proven thought leader; demonstrable skills in identifying opportunities and threats
  • Comfortably moves between highly varying levels of abstraction from business strategy to product strategy to high level technical design to detailed technical design to implementation.
  • Demonstrable knowledge of enterprise design patterns and common OO patterns
  • Demonstrable knowledge of aspect oriented (AOP) design patterns and concepts
  • Unified Modeling Language (UML) knowledge
  • Skills in current leading-edge Java/J2EE OSS frameworks required; includes Spring, Struts, Hibernate, Jakarta Commons, iBatis, JUnit, Ant, Sitemesh, AspectJ, Lucene, etc.
  • Wide breadth of industry knowledge and current best IT practices, focusing on Java and related technologies; this includes but is not limited to: application development, testing, deployment, operational attributes, documentation, standards, security, hardware utilization and server virtualization, networking, operating systems, DBMS, service-oriented architecture (SOA), event-driven architecture (EDA)
Application Architect