Senior Software Architect – 18 month project Job Description As a Senior Software Architect you have an infinite curiosity about the latest software solutions, applications and technologies. This role will fill a critical need in helping to bridge the gap between the constraints of legacy systems, new technology strategy, business and project needs by designing solutions that balance all of these sometimes conflicting priorities. You will use your deep understanding of software frameworks, architectures and patterns to design, guide and sometimes implement proofs of concept and production solutions that deliver new features, functionality and innovative products into our environment. You will be an important part of a motivated team where wersquoll be looking for you to introduce technologies, collaborate with the team to drive application architecture, software and solutions quality, and make sure we are doing the right thing by our users. This is a critical role on what will be many high profile projects. software development ranks – possessing 7+ yearsrsquo experience in designing and architecting highly scalable, reusable, and performant applications using object oriented languages such as Java and C. This person would possess deep skills in server side technology common frameworks like Spring, Hibernate, and Apache Camel and hands on relational and NoSQL database experience Responsibilities bull With each project solution, collaborate with the team toward the right blend of proven technologies while incorporating the latest in software evolution where it makes sense for the problem yoursquore trying to solve, including distributed, performant, scalable, durable, continuously available, secure solutions. bull Architect system solutions leveraging your experience with cloud technologies as well as internal data centers. bull Be aware of and consistently guide and apply proven practices in software solutions design and deployment, such as redblack deployment, distributed and continuously available architecture, scalable application solutions, stateless application design, continuous delivery, and microservices architecture. bull Design the infrastructure for deploying solutions across environments. bull Architect solutions to ensure application security. bull Guide projects utilizing test-driven development (TDD) methodologies. bull Provide leadership and direction to junior engineersprogrammers. bull Deliver multiple projects utilizing an Agile methodology. bull Take a high ownership, self-sufficient, hands-on position on the team to drive quality, maintain application stability. bull Write complex programs, analyze code changes and suggest improvements. bull Reason logically and creatively, identifying problems, drawing valid conclusions from the data available, and developing effective solutions while applying creative thinking in the design and development of high performing web applications. bull Create reference implementations for the purpose of proving solutions and mentoring and leading more junior staff. bull Define engineering best practices and provide technical mentorship. bull Investigate and resolve any production issues from end user (UI) to persistence layer and work to prevent them. bull Work with project managers to ensure that all project deliverables are on time and high quality. bull Work collaboratively with other teams BRM, Product, QA, UX, EA, InfoSec, etc. bull Develop and mentor teams to write elegant code using effective automated unit tests. Basic Qualifications bull Have 7+ years of experience in application development or software engineering in a large enterprise environment using object oriented programming languages including Java bull Have a proven track record of solutions in production that use modern frameworks Spring, Hibernate, Apache Camel bull Be able to demonstrate significant experience working with relational databases, SQL and newer NoSQL data stores bull Have a track record of implementing solutions using open source technology bull Have committed code to open source projects Preferred Qualifcations bull Previous work experience in media production, broadcast andor distribution bull Knowledge of performance testing and application profiling highly desired (jProbe, jMeter, YourKit, Gatling, JProfiler) Required Education bull Hold a Bachelorrsquos degree in Computer Science, Computer Information Systems, Engineering, or another technical field Preferred Education bull Hold a Masterrsquos degree in Computer Science, Computer Information Systems, Engineering, or another technical field