Based in London, our customer is a global leading law research, ranking and directories business, ranking 'elite' (top 5%) law firms and lawyers in over 200 jurisdictions across the world. The company is the 'Michelin star' of the legal world, and law firms invest considerable time trying to be ranked. The customer has 350 staff based in London, of which 250 are researchers, who are experts in given jurisdictions and practices areas. The company is around 30 years old, in 2018 it was purchased by a private equity house with a view to modernizing and growing the business substantially. And that foresees digital transformation of all the corporate processes and flows, which will be our main goal for both in short and in long term perspective.
Customer's strategy is to transform from being a print-based publishing business, with advertising as prime revenue, to an online subscription business with data insight, ranking directories and differentiated content at its core. This means moving from a largely anonymous audience to one that is known, and thus building strategic customer platforms and products of the future.
As a senior backend software engineer, you will be responsible for taking over current solutions overall design and technical implementation, planning reengineering/refactoring, developing an architecture and providing technical documentation. The successful candidate should have a highly developed set of analytical, communication skills and consulting capability, an ability to present and communicate complex technical solutions both to the client and team members. He or she should be able to identify technical risks, propose solutions and effectively communicate them to all stakeholders.
- At least 2+ years of experience as a Senior .Net developer;
- At least 2+ years of experience in .Net Core;
- Proven experience working with Azure solutions;
- Knowledge of No-SQL databases, desirably CosmosDB;
- Good knowledge and proven experience working with messaging systems and desirably with Azure Service Bus;
- Good knowledge of microservice architecture design patters such as Decomposition, Integration, Database, Observability and Cross-Cutting Concern patterns;
- TDD/BDD experience and understanding of formal testing and delivery methods;
- Very good understanding of SOLID principles and CQRS design patterns;
- Developed Architecture in agile/iterative environments with experience of methodologies such as SCRUM, RUP, Lean and DSDM;
- Able to implement key architectural outcomes, such as reusability, performance, separation of concerns, quality and integrity;
- Strong analytical and core programming skills, knowledge of object-oriented programming, data structures and algorithms;
- Desire to work in a fast pace, fast-growing and highly innovative and international environment;
- Obsession with quality;
- Great communication skills, ability to express complex things in an easy to pick up manner;
- Upper-intermediate level of English (written and spoken).
Nice to have:
- Exposure to Angular2+ and Typescript.
- Preparing architectural and tech solutions;
- Participate in design review, code reviews and product demos;
- Take accountability and responsibility for full life cycle of product features (from design, sizing, implementation, testing, delivery to monitoring and deprecation when needed);
- Propose process improvements and drive changes;
- Propagate quality culture among colleagues;
- Work closely with Product Owners, Business Analysts & Scrum Master to provide accurate estimates and ensuring timely delivery of functionality.
Technology Stack and Methodology includes:
- .Net Core, C#;
- Azure Functions, Web Apps;
- Azure Services.