Lead Software Engineer
The Lead Software Engineer is part of one of the technology teams responsible for designing and building software components for the delivery of web applications to millions of Consumer Reports users. This role involves providing technical guidance to team members and working hand-in-hand with business units to architect, build and deploy state of the art scalable and robust web applications that are consumer centric.
- Provide architectural direction and technology solutions to support ongoing and new business driven goals.
- Design, develop, implement and test software modules and other technology components for consumerreports.org and related customer-facing web properties using agile software development practices.
- Design, develop and implement payment, billing and/or dynamic content delivery systems.
- Analyze business requirements, provide development estimates and feedback, and determine implementation/execution approaches.
- Lead code review sessions and ensure high quality, robust and documented code artifacts.
- Work with other software engineers, database developers, infrastructure, operations and QA teams to design and implement quality software solutions.
- Support, troubleshoot, monitor and optimize existing software systems.
- Help streamline software development by contributing to implementation of a continual integration process, automating manual processes, and eliminating defects.
- Performs other duties as assigned but not at a higher level.
Master’s degree in Computer Science or related fields with six years of relevant experience, or Bachelor’s degree in Computer Science or related fields and eight years of relevant experience in lieu.
- Extensive experience in software development, modern design patterns and web technologies under e-commerce enabled environments using multi-tier architectures.
- Expert knowledge of and experience with development environments that leverage PHP and/or Java, Laravel and/or Spring framework, web servers, application servers and cloud hosting.
- Experience with application tuning, page speed and memory optimization.
- Experience with indexing and search technologies, such as Lucene & Solr or GSA. Experience with Elasticsearch or Splunk a plus.
- Experience with Web Services, REST and API design. Experience with cloud services such as Amazon AWS or Heroku a plus.
- Experience with relational/SQL databases, data replication, ORM and data abstraction technologies. Experience with No-SQL databases and Key-Value stores at web-scale such as MongoDB or Redis, distributed caching, MapReduce, or Hadoop a plus.
- Experience with Content Management Systems, I.E. WordPress, Drupal, AEM, a plus.
- Working knowledge of Unix environments, including shell scripting such as Perl or Python.
- Agile tools and methodologies, including continuous deployment and rapid integration.
- Extensive experience and proven track record of successful software architecture and design, documentation, developing and maintaining large-scale, high-visibility systems.
- Ability to solve complex technical problems and effectively communicate solutions to system architects, peers and management.
- Experience with high volume, high-availability applications and systems.
- Proven track record in developing high quality applications on schedule in a fast-paced development environment, high written and personal communication skills.
- Experience with SSO, OAuth, and OWASP secure web coding a plus.