Software Architect

Location: Philadelphia, PA
Job Type: Direct Hire
Salary: $85,000.00 - $110,000.00
Degree: Bachelor of Science;
Date: 2/23/2011
Job ID: 01744082
Job Description
The Software Architect is responsible for defining the system software architecture, setting policies, standards and guidelines that are leveraged by engineering staff during design and implementation.
 
The Software Architect works directly with business units in the early phases of product development to establish overall technology strategy, approach, and scope, and to identify technology problems that present risk in terms of their solution. Through the process of analysis, the software architect will work with other domain architects to propose solutions, which are cost effective and satisfy business objectives.
 
Outside of project support, the software architect is responsible for contributing to the overall solution architecture and business system planning.  He/she participates in planning efforts to identify future direction for system and software architecture and has the ability to construct roadmaps that identify initiatives to realize that future state over a period of years. 
 


Primary Duties and Responsibilities

 
- Work with business units to develop software requirements for product solutions, providing technical guidance on tradeoffs and articulating impacts to the software architecture and development process. Support strategic product line and technology planning.          
 
- Document existing and future software architecture for the enterprise, taking responsibility for the technical feasibility, completeness and cohesiveness of the architecture to ensure manageability, scalability, reliability and extensibility.          
 
- Align the software architecture with the overall system architecture vision and roadmap.             
 
- Analyze important drivers in software architecture including integration with internal and external systems and incorporating industry standards. Identify, assess and communicate technical risks to the business units and development organization.
  
- Lead workshops and reviews with business units to fully articulate the software strategy and align with business objectives.           
  
- Communicate the software architecture to developers and solicit design and implementation problems from them. Work interactively with developers to develop robust designs, which reflect the software architecture.    
 
- Coach and participate in embedded development and integration projects. Provide leadership and direction in the software development process.
              
Requirements:
 
- Embedded software engineering for 8-, 16- and 32-bit processors
- Definition and documentation of interfaces and structure of embedded software and systems
- Requirements gathering and analysis
- Software architecture analysis, specification, and documentation
* Software architecture tools and methodologies (UML, etc.)
- Distributed embedded systems
* Wired and wireless communication protocols
* Embedded databases
- Embedded software development in C and C++ is REQUIRED!!