What are the responsibilities and job description for the Software Engineer(Java) position at InRhythm?
Who Is InRhythm?
InRhythm is a leading modern product consultancy and digital innovation firm with a mission to make a dent in the digital economy. Founded in 2002, InRhythm is currently engaged by Fortune 50 enterprises to bring their next generation of digital products and platforms to market. InRhythm has helped hundreds of teams launch mission-critical products that have created a positive impact worth billions of dollars.
InRhythm’s unique capabilities of Product Innovation and Platform Modernization services are the most sought-after. The InRhythm team of A thought leaders don’t just “get an assignment,” they join the company to do what they love. It’s that passion that has helped us grow rapidly and consistently deliver on our commitment to helping clients develop better, faster, and in rhythm.
What We Do At InRhythm
We bring enterprises' most urgent, important products to market with high-velocity, high- quality and 10x impact. We enable innovative cultures by coaching teams with the right mix and maturity of modern tools, methods, and thought leadership.
This is a unique opportunity to get in on the ground floor of an evolving team. InRhythm clients include a broad range of highly visible and recognizable customers, including, but not limited to:
- Goldman Sachs
- Fidelity
- Morgan Stanley
- Mastercard
From greenfield to tier-one builds, our clients look to us to deliver their mission-critical projects related to product strategy, design, cloud native applications, as well as mobile and web development. The projects we work on literally change the world. They change the way we live, work, and think in a positive way.
All About You
The Role:
What’s it all about and what we expect you to do day to day
- Own software delivery tasks (code development, test, deployment) at an application/software component level
- Able to troubleshoot and refactor existing code for exceptional code quality.
- Adopt new languages and architecture patterns needed for the work.
- Participate and contribute to team’s agile process and decisions.
- Pull from backlog and deliver work after seeking guidance from experienced team members and in partnership with full scrum team.
- Understands the big picture and end-to-end logical architecture of systems in ownership areas
- Provide feedback and suggestions on areas to improve
- Understands the use of Mastercard technology policies in everyday work
- Demonstrate active learning and sharing of software practices via Guild/Engineering community initiatives
- Influence the decisions made by the team.
- Assist peers and less experienced members.
- Influence the decisions made by the team.
- Assist in technical documentation of APIs and services being delivered.
All About You and What you need to bring:
- Working experience on messaging solutions and integration patterns such as Apache Kafka, NATS.
- Understands stateful stream processing concepts and knows basics of Apache Flink.
- Has ability to write secure code in three or more languages (e.g., Java, .NET, JavaScript, SQL)
- Familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT)
- Infrastructure as code and cloud first software development knowledge experience preferred.
- Understands and implements standard branching (e.g., Gitflow) and peer review practices
- Apply tools (e.g., Sonar, Zally, Checkmarx ) and techniques to scan and measure code quality and anti-patterns as part of development activity
- Understands and builds test code at unit level, service level, and integration level to ensure code and functional coverage
- Understands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control)
- Understands requirement analysis being essential part of delivering value to our customers and partners and participate in elaboration, prioritization, and effort estimation
- Understands agile and modern SDLC practices (Scrum/Kanban/Continuous Delivery/DevOps/Quality engineering) and the delivery situations they are used for
- Understands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture)
- Familiar with different application patterns to implement different types of business processes (e.g., APIs, event-driven-services, batch-services, web-applications, big data)
- Understands Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerization
- Has ability to write code (in languages such as Java, Python, Ruby, Bash, Perl, Groovy) to build automation tasks that are repeatable and efficient
- Understands functional and non-functional testing types to elaborate and estimate test efforts