A Solution Architect will:
● Solution products/applications with a web-based systems architecture following microservices, event-driven enterprise application architecture patterns
● Provide and communicate unified technical vision for software products and breaks down vision into tangible tasks for developers
● Lead by demonstration of technical expertise (i.e. hands-on) across full technology stack (front-end, back-end, data modeling, 3rd party integration)
● Manage performance of offshore and onshore developers through effective task breakdown, management, prioritization, and alignment of work to resource capabilities
● Scale team productivity by decomposing user stories and features into individual units of work
● Directly contribute with written code and provides code reviews to ensure adherence to solution design
● Design solutions with appropriate data architecture, data modeling and data management considerations across relational, columnar and NoSQL
● Design solutions with appropriate considerations for advanced predictive and prescriptive analytics
● Participate in the cost estimation process by recommending the skills and numbers of developers required, and by performing effort estimation given product requirements
● Coordinate with customer, product team disciplines (e.g. UX/UI, DevOps, QA) and other product-related teams to build, test, and deploy software products
● Identify technical risks and and proactively address issues that may have an impact on service levels or schedules
● Understand and apply agile software development techniques/methodologies to effect continuous quality improvement across people and processes
● Maintain responsibility for the quality and viability of software engineering deliverables by providing recommendations on technical solutions including design, build/buy decisions, open-source tooling, etc.
● Collaborate with Product Management, and other Tech Leads to define the design, development, and support toolsets and processes to improve the overall efficacy of product teams
● Providing direction and guidance, hands-on development support, code review, development oversight, and support to successfully deliver on time with quality
● Contributing to ongoing process and methodology improvements; and, establishing architecture governance with compliance of technology solutions with architectural patterns and standards.
Minimum Year(s) of Experience: At least 7+ years of experience in software development with at least 3+ years in application architecture and solution architecture, leading developers in delivery of software products.
Minimum Degree Required: Bachelor’s Degree
Degree Preferred: Bachelor's degree in Engineering, Computer Science or related field
Knowledge Preferred
Demonstrates intimate knowledge and/or a proven record of success in modern software engineering approaches, technologies, and tools:
● Cloud-ready architectures utilizing infrastructure and platform cloud services for Azure, AWS, or GCP;
● Event-driven and microservices architectures;
● Big Data / Analytics / AI tools;
● DevOps - virtualization, automation, continuous integration;
● Mobile/Web architecture stacks;
● Polyglot Persistence - RDBMS/NoSQL data stores (SQLServer, Postgres, MongoDB, Couchbase) and appropriate use cases;
● Rapid-prototyping workflows & development tools;
● Core: Java, .NET, Python, NodeJS;
● Languages: HTML/CSS, Javascript;
● Frameworks/Libraries: Angular, React, D3;
● Databases: NoSQL (mongo, neo4j, firebase), relational (mySQL, postgres);
● Configuration Management (optional): Chef, Puppet, Ansible, Terraform;
● Messaging: Kafka, RabbitMQ, Redis, GraphQL; and,
● Containers: Docker, Kubernetes.
Skills Preferred
Demonstrates intimate abilities and/or a proven record of success in technical lead roles involving the following areas:
● Communicating, verbally and written, with both business and technical stakeholders to achieve product engineering objectives;
● Leading across all aspects of a technology solution - integration, data, services, front-end, back-end, network, deployment, scaling, security, performance, development, etc.;
● Managing rapid-prototyping efforts with new and emerging technologies leveraging agile development techniques;
● Designing successful technical/integration architectures for large-scale platforms with a mix of 3rd party vendor, open-source, custom software, including the documentation of technical assumptions and decisions;
● Contributing and managing incubators/innovation lab environments, and working with small teams across a variety of new and emerging technologies;
● Working in an environment that leverages project management skills like planning and tracking, issue and risk management, multitasking, team organization, and activity prioritization; and,
● Developing front-end, back-end, and/or systems administration applications with strong proficiency in at least one scripting language (Java, .NET, NodeJS, Python, etc.).
● Provide solution hand-off and training for the new features to Operations and Production Support teams