We are looking for senior software engineers to help drive the design and implementation of M-Factor’s product suite. Candidates must have experience building complex applications using Java and database technologies, and they should be proficient in the design of server-side components and frameworks. We have a strong preference for engineers with architectural experience and proven design skills. Our engineers work in short releases and small teams, and they are expected to lead projects and contribute to product direction.
The product is a hosted analytic web application with highly interactive simulation capabilities. It provides users with insights derived from hugely complex calculations that are distributed across a powerful computing infrastructure. Our engineers work on components that include caching, regression modeling, load balancing, and all aspects of multi-threaded execution of complex expressions over multi-dimensional data cubes.
We use exactly the right tools for the job (Java, Tomcat, STRUTS, Hibernate, PostgreSQL, IntelliJ, Perforce, JUnit) and nothing more. We emphasize simplicity at all levels of our architecture. But the work we do is enormously challenging. For example, we’ve invented entirely new computational methods for expressing the ways in which different marketing activities affect each other. We are constantly thinking of new ways to get unbelievable levels of performance out of our code. We’ve used genetic algorithms in completely novel ways in the field of predictive modeling. And we never stop thinking about ways to make development easier and more pleasant.
Qualified candidates need to possess excellent skills in oral, presentation, and written communication, the ability to solve complex problems with innovative and elegant designs and solutions, and the ability to think outside of the box. Above all, candidates should be prepared to work collaboratively in a collegial atmosphere to deliver high quality products on time.
Responsibilities:
-
Create value for the company through technology
-
Produce software that enables our customers to increase their return on their marketing investment
-
Design and implement the major components and/or subsystems of the company’s product suite
-
Innovate in the area of marketing planning optimization
-
Work closely with the entire engineering and solution teams to implement methodology and best practices to ensure high quality products and implementations
-
Use automated tests and other techniques to ensure product quality
Requirements:
- Five years of hands-on experience in designing and building complex, scalable and high-performance enterprise applications using Java or C++
- Two years of recent experience in leading engineering teams and projects
- Experience with one or more of the following technologies: Tomcat, STRUTS, Hibernate, Oracle, PostgreSQL
- Significant experience with Java, object-oriented design and development, and distributed multi-tier designs, as well as a solid conceptual and practical application of standard design patterns
- Experience with best-practice engineering techniques, e.g. unit testing, acceptance testing, re-factoring, readability
- A willingness to adopt agile development practices, including short iterations, user stories, continuous integration, shared ownership, test-driven development
- BS/MS in Computer Science or equivalent
- Principal place of work will in the M-Factor offices in San Mateo, CA
For consideration, please email your resume to jobs@m-factor.com.
(principals only, no recruiters please)