Senior Software Engineer

  • Bankrate
  • New York, NY, United States
  • Dec 29, 2017
Full time Developer

Job Description is looking for a talented, result oriented, innovative software engineer to join our team, responsible for software solutions that enables searching of rate products across multiple channels, including web & mobile platforms.


In addition to building applications that can hold up to the scale & growth of our business, our team of engineers work collaboratively with the business leaders to come up with innovative solutions to grow the business. We believe in software craftsmanship and that there is real value in developing that is easily understood, maintained, and extended.  At we are all about team work, accountability, innovation, and a customer-first approach. We work hard, but do so in a collaborative, fun and flexible work environment.


As a member of the team, you will have the opportunity to work on mission critical projects with direct impact on the evolution of our business. You will be able to apply your programming skills towards building low latency and high throughput transactional services. You will work on systems that serve millions of searches a day, generate millions of events, and are monitored 24x7 using early warning and analytics systems such as Kafka and Elastic Search.  Our search systems perform highly concurrent, real-time searches across our vast advertiser network and collects and parses data from a diverse set of interfaces to get the best rates for our customers. We constantly explore new technologies and engineer better solutions for ever demanding business needs.  


Located in Palm Beach Gardens, Florida, New York, NY, and Detroit, Michigan, Bankrate has a fresh, fun, and creative environment you won’t find anywhere else. If you have a strong will to learn and educate and are motivated by opportunity to help grow our team, then we'd love to hear from you!


Responsibilities include:

  • Designs, modifies, develops, writes, tests and implements software.
  • Take ownership and responsibility of the work at hand and shepherding code through to production.
  • Implement web services and REST APIs to power and partners’ web sites.
  • Building a scalable, robust and reliable infrastructure to support our website and services.
  • Collaborate with product owner, scrum master, and other developers to deliver a quality product.


 Required Skills:

  • 7+ years of software development experience
  • Experience with object oriented PHP and Laravel and/or Symfony frameworks
  • Extensive knowledge of JavaScript and VueJS, AngularJS, or ReactJS frameworks
  • Requires strong object-oriented design and development skills
  • Knowledge and experience with other third party PHP and JavaScript libraries, frameworks, and technologies is a plus.
  • Experience with PostgreSQL, MySQL, and/or SQL Server databases
  • Analysis & Problem Solving:  Ability to understand our codebase, system interactions and business requirements to effectively make changes to our applications and investigate issues.
  • Communication:  Ability to use various communication forums to effectively communicate. Whether via face-to-face discussion, phone, email, chat, white-boarding, or other collaboration platforms, must be an effective communicator who can inform, explain, enable, teach, persuade, coordinate, etc.
  • Team Collaboration:  Ability to effectively collaborate and share ownership of team’s codebase and applications. Must demonstrate willing to fully engage in team efforts, speak up for what you think are the best solutions, and be able to converse respectfully and compromise when necessary.
  • Education: BS/MS degree in Computer Science, Engineering or a related subject is a plus.


Additional Knowledge and Experience:

  • Experience with PHP, Node.JS, JSON
  • Extensive experience developing and supporting production quality API
    • REST, SOAP and API service,  HTTP Status Codes, Content Negotiation, API versioning, Caching
    • Security, Stability, Reliability, Scalability, Fault Tolerance, Performance, Monitoring, Documentation
  • Experience with various architectures
    • Domain Driven Design, CQRS, Event Sourcing, Hexagonal Architecture, Event Driven Architecture, Microservices, Cloud Native
  • Experience with testing
    • Unit Testing, Test Driven Development, Integration Testing, Load Testing, Test Automation, Consumer Driven Contract Testing
  • Agile Engineering Practices
    • Test Driven Development, Pair Programming, Continuous Integration, Refactoring
  • Expert knowledge of OOP principles and practices as well as Design Patterns, SOLID principles
  • Experience with various tools
    • GIT
    • Postman
    • Wireshark
    • Swagger
    • Docker
    • AWS


Key Attributes:

  • Quality first mindset
  • Technical leadership experience
  • Experience mentoring other engineers
  • Develops innovation strategies, processes and best practices.
  • Leads and participates in medium- to large-scale, complex, cross-functional projects.
  • Leads the discovery phase of medium to large projects to come up with high level design.
  • Promotes and supports company policies, procedures, mission, values, and standards of ethics and integrity.
  • Troubleshoots business and production issues.
  • Owns the technical testing and performance plans for their projects.
  • Utilizes industry research to improve Bankrate technology environment.
  • Driven by “What can I do to help here?” attitude
  • Has the desire to simplify instead of making things more complex.
  • Looks at the big-picture:  understands the impact his/her piece of software implementation has on the whole product.
  • Has good communication skills: communicates effectively with the team and clients to understand business requirements.
  • Can function as part of a team: able to fit in the team’s culture and exchanges thoughts, ideas, knowledge and experience with other team members to boost efficiency and quality of the solution.
  • Mentors others instead of coding in a black box.
  • Is able to start a project with limited requirements and refine them by asking questions or talking with business people.
  • Reviews/understands requirements and questions requirements in a productive manner.
  • Constantly improving themselves through training, research, and learning.
  • Is willing and ready to take one or more roles in a team and is able to switch his/her roles when required.
  • Is adaptive: able to adapt as a result of changes in requirements for a continuous improvement of a software.
  • Works overtime to meet committed deadlines.
  • Is accountable for the work their team produces.