Senior Staff Software Architect

Digital Reasoning   •  

Franklin, TN

11 - 15 years

Posted 176 days ago

This job is no longer available.

The Sr. Staff Software Architect in Engineering is responsible for ensuring the product design and ecosystem of technologies employed by any given Vertical Market Solution is consistent and has a future-oriented vision. 

This role works directly with other Architects, Engineering, Product Managers, the Executive Team, and Analytics leads to identify gaps in our Vertical Market Solutions from an architectural and requirements perspective.  The Sr. Staff Software Architect is often working with the Technology Executive(s) to drive future architecture and technology decisions.  As part of interfacing between these teams it is the responsibility of the architect to document, communicate, and collaborate with each of these groups to ensure buy-in across the organization.  An additional part of that responsibility comes in an advisory role for the Sales, Pre-Sales, and Product Management teams as they work with customers to define upcoming functionality in our solutions.

All of these responsibilities require a strong engineering knowledge and drive to improve upon existing solutions and help bring to fruition new solutions with existing technology.  This manifests in terms of experiments with new technologies and managerial responsibilities when necessary to drive exploration of new technologies and architectures.  It is expected that a Sr. Staff Software Architect is capable of communicating elegance and simplicity as it relates to balancing the introduction of novel technologies with customer business and cost requirements.

Specific Duties:

  • Provide, defend, and iterate on architectural blueprints for technical and business leadership
  • Evaluate and recommend tools, technologies, and processes to ensure the highest quality product
  • Interpret business requirements to help translate those requirements into technology decisions
  • Troubleshooting architectures and help to identify problems with solutions in production
  • Ensure that our solutions are scalable, supportable, and meet key deployment requirements
  • Ensure comprehensive and consistent communication of software architecture to internal and external audiences
  • Defining standard patterns of development to include the use of frameworks and libraries
  • Advising on specific application designs and decisions for individual product solutions
  • Defining interfaces and points of interaction between various components and solutions based on capabilities of teams both internal and external
  • Identify and help to address gaps in architectural changes and designs
  • Collaborate with and advise teams in Engineering on architecture changes
  • Drive future technology research and adoption, and may include technical leadership and mentoring for small teams and projects as needed
  • Provide guidance and review for deployment teams, sales, and product management
  • Support due diligence efforts -- incoming and outgoing
  • Engage in partnerarchitecturediscussions
    • 3rd party software governance & practice
    • Guide code review process & consistency with external parties
  • Create “transparency” (through information sharing) across solutions / deployments
  • Support the business in ensuring viability of the software
    • help ensure the business is not doing the same thing multiple times

 

Required Experience and Education:

  • 10+ years' overall experience in building enterprise software products
  • 5+ years’ experience with Java, Linux, Python, Spark, Relational Databases
  • 2+ years' experience with Kotlin, Yarn, ElasticSearch, CI/CD/ Network and Security Constructs, and Agile Methodologies
  • 3+ years' experience communicating and collaborating on architecture designs
  • 2+ years' experience providing technical leadership and mentoring to architects and engineers
  • Proven ability to create communications strategies to drive business and meet financial objectives
  • Must have excellent communication skills with the ability to present complex technical solutions to business people
  • Proven experienceworking with local and global communities to stay abreast of new technologies and technology directions
  • Ability to effectively communicate with Customers
  • Experience with build systems such as Maven, Gradle Ant, etc..
  • Ability to work independently as well as with a group environment
  • Understanding of version control systems, such as git, svn or mercurial
  • Extensive experience with Linux; comfortable with UNIX shell scripting
  • Understanding of big data technologies such as YARN, Spark, HDFS, Kafka
  • Knowledge of web application servers such as Jetty or JBoss
  • Exposure to project management systems such as Jira
  • Familiarity with AWS, Azure, GCP, or similar technology stacks
  • Experience with Map/Reduce
  • Working knowledge of RDBMS, NoSQL, and NewSQL database technologies
  • Capable of collaborating across a number of teams both technically minded and business oriented
  • Bachelor's degree or equivalent experiencerequired
  • Some experience in architectural design both formally and practically for the sake of providing documentation from engineering to customers

Preferred Experience and Education:

  • Experience in Natural Language Processing (NLP), text analytics, machine learning, and/or artificial intelligence (AI)
  • Knowledge of monitoring services such as Ganglia, Nagios, Cloudera Manager, etc.
  • Knowledge of hardware requirements and architecture considerations for redundancy, fault tolerance, and availability
  • Master's or higher degreepreferred