Uncubed
           

Sr Software Engineer II

R31675

Merrill, Minneapolis, MN (USA)

Join the future of financial communications


Merrill Corporation is the industry leader in technology solutions that enable mergers, acquisitions, initial public offerings, restructuring and other critical capital transactions in more than 170 countries. We provide the world’s leading investment banks, private equity firms, law firms and corporations with tools to simplify, streamline and accelerate the due diligence process, helping them close more deals, faster. We are a global team of high-energy, passionate people. We have strong individual voices but we work as a team, bringing out the best in each other. We thrive under pressure and always keep the customer at the heart of everything we do.

Job Description:

Role Overview 

We are looking for a talented microservices Engineer to work closely with Product, UX and other Engineering team members, as part of a distributed Product team. We want someone who is seeking the opportunity to have a big impact and who relishes the challenge of working in a fast-paced global company in the Financial sector utilizing Agile Delivery and DevOps.

 

This person will solve problems with technology within an industry they may not be familiar with, generate breakthrough ideas, design and deliver working software quickly to enable testing and short-cycle innovation. You will be in an environment that fosters cross-functional collaboration as well as working with all roles of the scrum team (Product Manager, Software Engineer, UX, QA, DevOps, etc..) and will need to bring a strong understanding of Agile/Scrum development methodologies. We follow the squad model made famous by Spotify, so you'll be part of an autonomous team with full responsibility for your own area and an opportunity to look to implement change across the board, while collaborating with colleagues in the Denver, Minneapolis, and New York City to ensure fast and consistent delivery. 

 

This role will offer an opportunity to innovate in a highly complex space.  You’ll be challenged intellectually and professionally and it will suit someone with a lot of curiosity and a passion for building great products. 

 

What are we building? 

Merrill is building a new platform to provide powerful and innovative solutions to enable our clients to manage the most complex deals on the planet as efficiently as possible. 

 

We want to be the easiest, fastest, and most intuitive way to progress deals to a successful outcome – enabling the bankers, lawyers and professionals we work alongside to focus on doing what they do best for their clients. 

 

The new core platform is a microservices architecture with multiple web/mobile applications built on top. We are leveraging a combination of open source and third-party frameworks/tools such as Netflix Eureka (service discovery), Google Apigee (API gateway), MongoDB (NoSQL), Redis (Cache), RabbitMQ (Pub/Sub), Pivotal Cloud Foundry (platform as a service), Microsoft Azure (cloud platform), Jenkins (CICD), and many more.

 

 

Responsibilities 

We are looking for talented engineers to join the distributed team and who will be involved in building Java and Node.js microservice driven applications. This team will have many opportunities to learn new technology and innovate on the products. The immediate need is for someone to: 

  • Hands-on development - deliver a highly scalable and flexible application to be iterated on with our reference customers

  • Follow and help create good engineering practices within the stack and move the code and other engineers towards an improved resilient globally distributed RESTful-based microservices architecture

  • Establish core platform concepts, define and build multi-tenant authorization models, and move forward our vision of an API platform

  • Keep your code clean, your tests complete and functional, and your releases daily 

  • Collaborate with both technical and business team members to understand requirements and develop solutions using an agile development process 

  • Collaborate with other teams that are responsible for pieces of the platform and applications 

 

To be successful in this role you must be a quick learner, very familiar with agile practices and software development and enjoy working in cross functional teams. 

 

 

Our Ideal Candidate Will Have

  • 5 to 8 years of relevant software engineering experience

  • RESTful API design and microservice architectures

  • Solid understanding of the full web stack (e.g. HTTP, headers, caching, etc.)

  • Familiarity or experience with Authorization models (OAuth2, SAML, OpenIDConnect, etc.)

  • Familiar with ES2015 (ES6), TypeScript, etc. 

  • Familiar with Continuous Integration (CI) / Continuous Delivery (CD) 

  • Working skills with the following tools and technologies: Java, Node.js, IntelliJ, Jenkins, Groovy, Redis, MongoDB, RabbitMQ 

  • Experience with unit testing tools like Junit, Mockito, Spock 

  • Product development or large-scale web app development 

  • Familiar with deploying microservices in a cloud environment

  • Collaborates on technical designs and communicates technical decisions through design docs, tech talks, and the wiki.

  • Proactively identifies problems with requirements (lack of clarity, inconsistencies, technical limitations) for their own work and adjacent work, and communicates these issues and possible solutions early to help course-correct.

  • Familiar with JavaScript, CSS (SCSS), HTML 

  • Familiar in modern UI MV*(MVC, MVVM, etc..) framework(s) e.g. Angular, Backbonejs, ExtJS, etc. 

  • Familiar with UI testing using third party tools e.g. cucumber/capybara, karma, mocha or jasmine, etc. 

  • Familiar with Single Page Applications (SPAs) 

  • Familiar with responsive and/or web mobile design 

  • Familiar with modern CSS libraries or view libraries e.g. Bootstrap, Angular Material, etc. 

  • Familiar with UI build tools e.g. gulp, grunt etc. 

  • Technical aptitude and attention to detail 

  • Experience work as part of a distributed development team 

  • Good team player

  • Good problem-solving skills with the ability to analyze and diagnose a complex application 

  • Good oral and written communication skills 

  • Ability and desire to make decisions and execute quickly

  • Bachelor’s degree in Computer Science or a related field 

 

 

Additionally, the following would be helpful: 

  • Experience of working within the squad model, and internal open source development  

  • Exposure in using Pivotal Cloud Foundry (PCF), SpringBoot with a NoSQL DB like MongoDB, Elasticsearch, Redis, etc. 

  • Solid expertise in building scalable, globally distributed, loosely coupled systems 

  • Knowledge or interest in Test Driven Development (TDD) 

  • Strong interpersonal skills 

  • Self-starter, high energy 

  • A passion for quality 

  • Ability to work under tight deadlines 

  • Experience training and mentoring team members 

  • Familiar with architectural patterns of a large, high-scale web application (e.g., well-designed APIs, distributed architecture, 12 factor apps) 

About Merrill

Merrill is an international organization that offers technology-enabled platforms for secure content sharing, regulated communications, and disclosure services for the world of international finance. 

For half a century, they've provided the tools to help some of the biggest companies in the world connect with speed, accuracy, and confidence. And in 2000, they became the first online management resource legally required for publicly traded companies.  

Their digital transformation, in partnership with Microsoft and Pivotal Software, now allows clients to leverage highly innovative technology and advanced analytics, alongside ironclad security - all without losing the human touch. 

And the transformation continues - Merrill is opening a digital innovation lab in New York in 2018. 

As a global organization, Merrill knows that diverse perspectives are essential to our success. We’re committed to maintaining a diverse workforce to serve our customers around the world. Merrill is an equal opportunity employer (EEO) and furthers the principles of EEO through Affirmative Action.


Be a Better Merrill Candidate

Learn skills and get an insider's look at Merrill when you watch classes taught by their top employees.

Want to learn more about Merrill? Visit Merrill's website.