The System Architect, needs to be a strategic technical leader who will drive the overall system and software architectural decisions to meet the business needs for scalable and efficient mission critical systems solutions. Will be responsible for defining and measuring benchmark analysis of the system performance and translating these results into architectural and software development requirements. This individual will identify software components that make up the system architecture and their interfaces; while ensuring that the software design and architecture is sound and supports achieving the business goals for performance, availability, scalability, and security. Responsibilities and Functions: • Benchmark system performance at the software logical component level, product hardware level and overall system level • Create performance metrics related to code efficiency, processing time, memory handling, system availability system security, adherence to specifications, and scalability of system components • Generate requirements for improvements and solutions related to System Data Flows, Software Deployments, Provisioning and Maintenance, Component Redundancy, and Scalability. • Perform analysis and design activities using established methodologies including requirement definition, modeling and specification. • Evaluate and recommend tools, technologies, and processes to reduce software defects, increase system performance, and increase test coverage. • Provide guidance and oversight to multiple development teams working on different products or technologies to ensure that the technologies interoperate appropriately and design specifications are met. • Interact with other departments and customers to better understand their current needs; attend trade shows and review LMR trade publications to stay on top of where the industry is heading. • Exhibit desirable and appropriate professional behavior including leadership, sense of urgency, independent judgment, teamwork, ability to get along with others, creative thinking and personal integrity to provide for a cohesive, productive unit dedicated to the achievement of corporate goals.
Competencies: • Experience writing object-oriented software programs required; • Knowledge of key architectural principals – Abstraction, Cohesion, Encapsulation, Inheritance required • Must possess excellent interpersonal skills and be a team player • Must be a self-starter with excellent problem solving skills • Experience with C/C++ in a Linux environment desired. • Experience developing real-time, multi-threaded applications desired • Familiarity with networking layers and protocols desired • Familiarity with templates and design patterns a plus • Experience developing device drivers a plus • Experience using debuggers, logic analyzers, or oscilloscopes a plus • Strong interpersonal and communication skills