This site uses cookies. To find out more, see our Cookies Policy

Senior Software Engineer - Software Engineer II in Poway, CA at Vaco

Date Posted: 9/5/2018

Job Snapshot

Job Description

Job Title: Senior Software Engineer - Software Engineer II

Come our team as a Senior Software Engineer. Our team is responsible for domain specific language design, compilers, and rules-driven engine execution that support many of the core application experiences like smart data collection, calculations, explanations and more… We are in the process of reimagining and rearchitecting many of these key capabilities that pave a future for a broader set of dynamic experiences and instant return experiences. If you have a passion for algorithms, language design, and having your code exercised 100+ billion times by consumers per year, then this may be a good fit. You may be a good fit if you have an imagination - for connecting consumer needs with technical capabilities. Although our team supports hosted services, we also publish cross platform libraries for Linux/Windows/Mac - so you are a good fit if you have competent working knowledge in both java and C++.

Architecture: Our team is responsible for two sets of architecture. 1) compilers and rules engines architecture, as well as how those engines behave in applications. 2) the architecture of the content/rules that are executed by the engine in support of experiences. You will be required to understand the legacy architecture as well as shape the new architectures under development.

Development: Creating 100%. However, you will be integrating/interfacing your code with existing code. You're not coming into the project that has no code and you start from nothing | Front End 5% (understanding, debugging, small changes) vs. Back End 95% (J2EE patterns, java, c++)

Quality: All software engineers are expected to author tests for their code and contribute to a broader effort of quality as needed by the project and scrum teams. There is no "quality" role and everyone is expected to have a "quality mindset".

Testing: All tests should be 100% automated. However, you will find yourself debugging and reproducing issues where no test coverage exists.

DevOps: Development 90% vs. 10% Ops (see skills section for required understanding of operations technologies)

Full Stack: Front 5% vs. Back 95%

Solid Working Experience with one of the following:

* Compiler software design and implementation

* Domain Specific Language implementation or design

* Customizing a Domain Specific Language (proprietary or open source)

* Language source to source translation.

* Language source to bytecode translation.

Skills:

* Working knowledge and experience contributing to a C++ code base. Good command of design patterns, data structures, algorithms, and nuances of C++ in development of patterns.

* Working knowledge and experience contributing to a java code base. Good command of design patterns, data structures, algorithms.

* Experience with deployment and software delivery technologies: ideally maven, ant, cmake, but others acceptable

* Experience with debugging, troubleshooting, understanding the magic under the covers.

* Ability to start with an abstract problem statement, drive to understand requirements, and implement a scalable solution.

* Experience delivering quality software releases into production.

6+ years' experience with object oriented languages.

* Industry experience in both Java and C++ is preferred.

* Experience building and integrating with web services, (REST or SOAP) using common frameworks like Spring, Jersey, JAXRS.

* Experience working JSON and XML.

* XML Schema (XSD) development a plus.

* Experience with production monitoring/traceability technologies.

* Strong verbal and written communication skills are a required due to the dynamic nature of discussions and collaborations with other engineering and product teams

* You've got a burning passion for identifying and solving real consumer and business problems

* Web development experience a plus (Javascript, HTML 5, MVVM).

* Experience with Test Driven Development (TDD)

* Experience leading the technical design in a large multi-month project.

Growth opportunities: You are coming into a large project with a multi-year roadmap that is top line importance to the company. This is a high visibility effort and successful contribution and execution will lead to future full time opportunities within the company. This is a software engineering and all engineers are expected to develop, embody quality mindset, care for the customer, and production support. You will have strong support and mentorship from experienced team members along the way.