Role Description

The Senior Software Engineer role requires an expert-level understanding of Ruby on Rails and related technologies. This position is a hands-on leadership role. You will need a startup mindset, wearing multiple hats from lead architect to senior software engineer on the most complex elements of the product. You will also be a technical team leader and solution evangelist.

In the role, you will be creating solutions architecture, algorithms, and designs that scale to the customer's enterprise/global requirements. It’s your responsibility to ensure that the customers are blown away by the technical differentiation and quality of the product.

Though we like to remove most of the management overhead for our Senior Software Engineer to let you focus on the key technical solutions - you will be a peer-leader of a team of engineers to apply software engineering best practices and implement automations across all elements of solution delivery.

Key Responsibilities

  • Design, build, and maintain efficient, reusable, and reliable Ruby code.

  • Ensure the best possible performance, quality, and responsiveness of the applications.

  • Identify bottlenecks and bugs, and devise solutions to these problems.

  • Help maintain code quality, organization, and automatization.

  • Interfacing with clients to understand their business, goals and visions for products and solutions being supported by Finplus Group.

Desired Skills and Experience

  • Bachelor's degree in Computer Science, Computer Engineering, or related course.

  • 5+ years experience as a Software Engineer.

  • A ruthless commitment to quality: must write unit testing on both backend and front end.

  • Extensive problem solving skills.

  • An ability to communicate clearly regarding complex issues (in English).

  • Good understanding of the syntax of Ruby and its nuances.

  • Understanding of functional programming style in Ruby.

  • Skills for writing reusable Ruby libraries or gems that may be used in expressive ways.

  • Solid understanding of object-oriented programming and SOLID principles.

  • Able to work in a dev-automation environment with some source control, continuous integration/delivery systems.

  • Experience with modern Javascript Frameworks (Ember.js, React, AngularJS).

  • Perfectionism: knowing how it should be done and not stop until it’s done right.

  • Familiarity with concepts of MVC, Mocking, ORM, and RESTful APIs.

  • Working experience with RSpec and Cucumber test frameworks.

  • Solid understanding of RDBMS.

  • NoSQL experience is a plus.

What else to expect

Our team uses a combination of digitization, smart process design and automation software to reduce waste of time and other resources but this ethos of efficiency begins with our own engineering. Aside from building high impact solutions and obsessing over the intricate to make it simple for our users, a big part of your job will involve automating all the repetitive grunt-work typically associated with setting up, supporting and extending an integrated suite of specialized, mission-critical applications serving hundreds of clients and millions of customers. This means that if you’re doing your job right you’ll automatically be working on something new every 6-12 months.

If you like having a constant supply of new challenges, learn fast, have an eye for detail, work well with others and can convert a problem statement into an effective end-to-end solution in your sleep, this position may be perfect for you.