Q&A with Nicolas Rinaudo

Published:
May 5, 1904

Nicolas Rinaudo is the CEO of Besedo. The company offers content moderation tools and services, to online marketplaces, by using AI, automated filters and manual moderation. He is a well-known figure in the Scala community, having spoken at many conferences and the author of his own blog providing type classes. He describes himself as a Scala and FP enthusiast. We asked him some questions to learn a bit more about his thoughts. 

 

 

Tell us about your background what was it that sparked your interest in engineering?

Pure chance. I hated studying, and when I had to chose what to go for, took the path of least resistance - math, because that's where my grades were the least horrific. Not good by any stretch of the imagination, mind, just... not as bad as the rest.

Turns out this particular curriculum had a compulsory computer sciences bit, and the teacher had me write some trivial bit of code that played the Imperial March on the machine's old speaker. I then promptly ditched the math to focus on getting computers to do neat things that amused me, it sounded like far less work. 

What was it that made you take the step into using Scala as a functional programming language?

Initially, intense boredom with Java. Doing the same thing, year in and year out, applying the same patterns, the same solutions to slightly different problems... you have to bear in mind that I had about 15 years worth of Java experience at this point, and I feel I only actually learned things during the first 5 or 6 - the rest was just repetitions of these first few years with minor tweaks.

So I started looking around for other languages to bring the fun back, with a focus on the JVM - I was bored with Java, but still felt the JVM was an impressive piece of engineering and my expertise with it wasn't something to casually toss away.

A friend of mine, hearing of this, told me that it wasn't worth checking Scala out - it was probably everything I wanted, but far too complicated for me to have any chance of understanding it.

I can't think of a better way to motivate me, and a few years later, here were are.

How do you feel Scala benefits the work you do?

It doesn't actually benefit *all* the work I do :)

Some of my tasks involve data analysis or other throwaway projects where I want to be able to go fast and be approximate - a runtime crash is not an issue, but spending time to get types to align just right for an intuition that doesn't happen to pan out is.

Most of the time though, I write code that needs to run correctly and be easily maintainable. Scala's type system helps with the former, and FP concepts such as referential transparency with the later.

One could argue that Scala is not necessarily the best when it comes to these points - Haskell and OCaml come to mind, and I do love the ML syntax, but at least in my case, the JVM is an important advantage.

Java, for all its flaws, does provide us with a wealth of libraries and it's rare to need support for whatever obscure format and not find an existing implementation.

Is there anything that you feel helped you learn or progress your career, in terms of the community e.g. meet-ups, conferences, courses?

Meetups, definitely. Attending them has all the obvious benefits - hearing about new things, networking, getting new insights into something you thought you were familiar with...

But, at least in my case, preparing talks for meetups is where the real value is. Knowing and understanding something well enough to talk about it in a room full of strangers is *hard*. Not the talking part - that's not easy, but it's mostly a question of how much you had to drink to calm your nerves before you get on stage. The hard part is understanding your subject well enough that you can make other people feel like they get it. Preparing answers to all the questions you really hope won't be asked, but just *know* will actually pop up.

Every talk I prepared has increased my familiarity with the language, and my skills in programming in general, quite drastically.

Are there any resources you would recommend?

That's a tough question - I think my answer is going to sound a bit silly, but GitHub. Read code from OSS projects you have dependencies on. Find programmers whose code you enjoy, and read some more. I've picked up a lot of knowledge reading code written by people far more talented than I am.

The best bit is that a lot of them are on Twitter or Gitter and will respond quite positively to being asked questions about their code.

What would you say has been the biggest challenge you have overcome in your career?

Burning out. At multiple times in my career, I've burned out on programming - too much of doing the same thing with technologies I didn't enjoy or didn't feel were right for the job at hand, and losing sight of the fun and creative part of it all.

Overcoming that has always involved changing something drastic in my work - more often than not leaving the company, I was with at the time - which can be really hard to do, especially when you suspect you might be the source of the problem.

Is there any advice you would give to someone starting a career in engineering?

It's hard to answer that question without sounding trite...

Learning is extremely important, and it helps if you're passionate about it. But avoid companies that expect you to do that on your own time - it's absolutely fine to learn on your own time! but it shouldn't be expected of you. The best environments to grow in are the ones that encourage you to learn, experiment, and fail, often, without judgment.

Failures are something that *will* happen. You'll crash production - god knows I have. But that's what experience is - it's easier and faster to find working solutions to a problem when you've already tried so many that failed and you don't have to waste time investigating.

And, critically, try to have fun. Nothing will burn you out faster than boredom. If what you're doing is not working out, try different approaches - if you're used to solitary programming, try pairing for a bit, or vice versa. Switch from an IDE to a regular text editor (by which I mean Emacs, obviously). Learn a dynamic language just for the hell of it. This type of thing.

How has the Scala community helped you progress?

Mostly, because the community is incredibly generous with its time and knowledge. It's very rare to struggle with a subject and not find someone who can help you with it, or a good blog post or article on the subject.

What do you see for Scala in the future?

Honestly, don't know - with Scala 3 around the corner, anything could happen. The main risk is that it breaks the community in half, businesses shy away from the whole thing and Scala starts becoming less and less relevant.

What I think will happen, however, is that Scala 3, while not quite as painless a migration as we're being lead to believe, will end up a success, and make Scala an exciting language both for academia and the industry. I'm really rather looking forward to that, and the opportunities for learning it will afford us all.

Related news

Contract Software Engineers for Critical Delivery Projects
Published
November 17, 2025
Signify Technology helps programme managers hire contract software engineers who remove delivery bottlenecks, increase capacity and keep critical projects moving when deadlines are tight. You get high skill support from engineers who know how to stabilise timelines, clear blockers and protect progress during pressure phases. Key Takeaways: Contract engineers give you high skill support exactly when you need it They help unblock delivery work that slows teams down They add capacity fast without long hiring cycles They keep projects on track during high pressure phases Trying to keep a delivery project on schedule can be a real headache when your internal team is stretched. You might be waiting on a specialist skill, dealing with heavy workload in one area or losing days to tasks that no one has the time to complete. In our experience, this is exactly when a contract software engineer makes the biggest impact. They slot in fast, clear the bottleneck and keep the delivery path open. Why Contract Software Engineers Matter in Delivery Projects How contract engineers unblock delivery bottlenecks How contract engineers unblock delivery bottlenecks is by stepping into the highest pressure areas and completing work your team cannot reach in time. They absorb urgent tasks so projects continue without losing days to delays. Why on demand resource accelerates timelines Why on demand resource accelerates timelines is because you gain immediate access to high skill support without waiting for permanent hiring cycles. This fast uplift in capability keeps delivery momentum strong. What Senior Contract Expertise Delivers High skill engineering support High skill engineering support means contractors can take ownership of complex work and deliver tasks that unstick the wider project. They help your team move from stalled to stable without adding internal load. Project scaling capability Project scaling capability comes from having extra engineering power ready to support rapid or unexpected increases in scope. Contract engineers help you absorb peaks in workload without risking the schedule. How Signify Technology Supports Contract Hiring Signify Technology focuses on the specific delivery outcomes that contract engineers must achieve. Our process ensures you hire contractors who can perform under pressure, deliver quickly and adapt to changing scope. We connect you with contract software engineers who have proven delivery experience We screen for rapid delivery capability and pressure handling We present candidates who integrate quickly and support your timeline We help you scale engineering capacity without slowing down your project We prioritise talent with evidence of solving real delivery bottlenecks How to Hire Contract Software Engineers for Critical Delivery Projects This method helps you hire contract software engineers who remove blockers and keep delivery work moving. Outcome: You will identify contract engineers who improve delivery speed and protect your deadlines. Map your delivery bottlenecks - Focus on tasks or services that slow progress or create recurring blockers. Define the skills missing in your team - Look at specialist needs such as integrations, backend depth or feature completion. Check proven delivery experience - Contractors should show how they accelerated timelines or unblocked projects in past roles. Use realistic scenario discussions - Ask how they would handle a live blocker in your current delivery plan. Assess communication speed - Clear, fast updates are essential during high pressure phases. Confirm ability to start quickly - Strong contractors fit in fast and operate with minimal ramp up. Review capacity alignment - Match their availability with your delivery window. Move fast when the fit is right - Strong contractors receive multiple offers at once. FAQs Q: What does a contract software engineer do in delivery projectsA: What a contract software engineer does in delivery projects is provide high skill support that removes bottlenecks and keeps timelines on track when internal teams are stretched. Q: How do teams assess contract software engineers for rapid deliveryA: How teams assess contract software engineers for rapid delivery is through scenario tasks, delivery track record checks and capability reviews that show how they handle pressure. Q: When should companies hire contract software engineers for project bottlenecksA: The time companies should hire contract software engineers for project bottlenecks is when deadlines are at risk and internal teams lack capacity to complete the workload. Q: How do contract engineers help programme managers keep projects on scheduleA: How contract engineers help programme managers keep projects on schedule is by adding immediate capacity, completing specialist work and clearing blockers that cause delays. Q: Why are contract engineers useful during rapid scalingA: Contract engineers are useful during rapid scaling because they provide high skill support without long hiring cycles, so delivery work continues without slowdown. Bring in the Contract Expertise Your Delivery Project Needs If you want to keep timelines safe and remove delivery blockers with high skill on demand support, Signify Technology can help you hire the right contract software engineer. Contact Us today and we’ll guide you through the next steps.
View post
Hire Performance Engineers to Optimise Core Systems
Published
November 17, 2025
Signify Technology helps platform leads hire performance engineers who improve load handling, lower latency and increase throughput so core systems stay stable even when traffic spikes. Our network includes engineers with real experience fixing bottlenecks, profiling live systems and improving performance under production pressure. You get talent who knows how to keep services reliable when demand grows fast. Key Takeaways: Performance engineers strengthen core systems by increasing load capacity They cut latency so users see faster responses They use throughput analysis to spot slow paths early Their work helps SRE and platform teams deliver reliable services at scale Trying to keep core systems stable during heavy load can feel like a real headache. You’re managing traffic surges, queue pressure, slow endpoints and rising incident risk. In our experience, these problems escalate when teams lack someone who can measure performance accurately and resolve issues at their source. A strong performance engineer gives you clearer diagnostics, stronger insight and better control over platform behaviour. Why Performance Engineers Matter for Core Systems How performance engineers handle load testing How performance engineers handle load testing is by running controlled stress and soak tests that reveal system limits. They highlight breaking points, saturation patterns and hidden bottlenecks so fixes can be made before users feel the impact. Why latency reduction protects reliability Why latency reduction protects reliability is because even small delays slow queues, increase timeouts and put pressure on downstream services. A performance engineer identifies slow paths, removes blockers and ensures your system behaves predictably under load. What Senior Performance Expertise Delivers Throughput analysis techniques Throughput analysis techniques show how much work your systems can process at once. A performance engineer measures these limits using profiling tools, traffic sampling and code-path inspection. Their insight helps teams raise throughput safely without destabilising the platform. Core systems optimisation Core systems optimisation focuses on improving the most important services in your architecture. A performance engineer strengthens internal service calls, improves database access patterns and tunes critical request flows to keep everything running smoothly. How Signify Technology Supports Performance Engineering Hiring Signify Technology identifies performance engineers who bring real system impact, not just theory. Our screening focuses on practical experience, clear technical judgement and proven results under production constraint. We connect you with performance engineers who have real experience improving core systems We assess load testing, latency reduction and throughput optimisation in technical screening We match SRE and platform needs with engineers who have delivered measurable improvements We shorten hiring time by presenting only candidates who meet senior performance expectations We prioritise talent with experience across distributed systems, high traffic services and cloud based platforms How to Hire Performance Engineers to Optimise Core Systems This method helps you hire performance engineers who stabilise and scale your systems during growth. Outcome: You will identify performance engineers who reduce latency, handle load and strengthen throughput. Define your main performance problems – Focus on slow endpoints, queue pressure or load-related failures. List the performance skills you need – Include load testing, latency profiling and throughput analysis. Review real performance work – Ask for examples of profiling reports, stress tests and tuning improvements. Use scenario based interviews – Present a real latency problem and ask how they would fix it. Check profiling depth – Strong engineers explain root causes and the specific actions they took. Assess communication clarity – They should explain performance findings in simple, clear language. Validate past results – Confirm whether their work improved uptime, reduced incidents or cut response times. Move quickly when aligned – Skilled performance engineers receive multiple offers. FAQs Q: What does a performance engineer do for core systemsA: What a performance engineer does for core systems is improve load handling, reduce latency and increase throughput so your services stay reliable under pressure. Q: How do teams assess performance engineers for load testing expertiseA: How teams assess performance engineers for load testing expertise is through scenario tasks, stress test reviews and capacity planning challenges that reveal real technical skill. Q: What skills are needed to reduce latency in high traffic platformsA: The skills needed to reduce latency in high traffic platforms include performance profiling, distributed systems knowledge and efficient data handling. Q: How do performance engineers increase throughputA: How performance engineers increase throughput is by tuning code paths, improving caching and removing bottlenecks that slow processing. Q: Why do SRE teams rely on performance engineersA: SRE teams rely on performance engineers because they fix problems early, strengthen reliability and help prevent incidents before users are affected. Strengthen Your Core Systems With the Right Performance Engineer If you want to improve load handling, reduce latency and increase throughput across your core systems, Signify Technology can help you hire the right performance engineer with confidence. Get In Touch today and we’ll guide you through your next steps.
View post
Software Architects for Multi Cloud and Hybrid Environments
Published
November 18, 2025
Signify Technology helps cloud leaders hire software architects who design distributed systems across AWS, Azure and GCP. You get the support you need to build reliable multi cloud platforms, simplify hybrid cloud decisions and keep services stable under pressure. Key Takeaways: Software architects improve multi cloud reliability and system resilience They simplify AWS Azure GCP decisions so teams avoid confusion and slow progress Their design choices lower platform risk and prevent rework Strong architectural thinking helps cloud leaders move faster with confidence Trying to plan a multi cloud setup across AWS, Azure and GCP can feel like a real headache. You’re trying to balance performance, cost, vendor differences and long term reliability without slowing down delivery. In our experience, this pressure increases when teams lack someone who can see the full architecture clearly. A software architect with multi cloud skill can bring structure and stability to the entire plan. Why Software Architects Matter in Multi Cloud Architecture Multi cloud design principles The answer to why multi cloud design principles matter is that they allow your systems to behave consistently across providers. A software architect creates clean patterns, service models and communication rules that keep your platform stable. How architects align AWS Azure GCP decisions How architects align AWS Azure GCP decisions is by comparing service options, mapping tradeoffs and choosing patterns that protect long term performance. They stop teams from overusing provider specific features that create lock in. What Senior Architecture Expertise Delivers Hybrid cloud reliability Hybrid cloud reliability depends on clear data flow, secure service links and predictable performance. A software architect understands how to connect cloud and on premise systems without creating weak points. Distributed system resilience Distributed system resilience improves when someone senior reviews failure points. A software architect can explain how services behave under failure and how to design fallback paths that keep the platform running. How Signify Technology Supports Cloud Hiring We connect you with software architects who have real multi cloud design experience We assess candidates with scenario tasks based on real AWS Azure GCP tradeoffs We focus on design thinking that supports long term platform health We shorten hiring time by presenting only proven senior cloud talent How to Hire Software Architects for Multi Cloud and Hybrid Environments This method helps you hire software architects who can support your cloud strategy and strengthen distributed system design. Outcome: You’ll understand how to identify software architects who bring clarity and confidence to your multi cloud plans. Define your biggest cloud challenges – Focus on availability, data flow, scaling issues or provider constraints. List the cloud architecture skills required – Think about networking, service design and cross provider knowledge. Review real multi cloud work – Ask for examples of AWS Azure GCP systems they’ve designed. Use scenario based interviews – Present a real hybrid challenge and see how they shape the solution. Check their understanding of cloud tradeoffs – Strong architects explain how choices affect long term cost and performance. Assess ability to simplify – A skilled architect helps teams move faster by removing confusion. Validate experience through references – Confirm their judgement and communication with senior peers. Move quickly when you find alignment – Senior architects with multi cloud skill receive several offers. FAQs Q: What does a software architect do in multi cloud environmentsA: What a software architect does in multi cloud environments is design distributed systems, align AWS Azure GCP decisions and ensure hybrid reliability so teams can build stable platforms. Q: How do organisations assess software architects for hybrid cloud designA: How organisations assess software architects for hybrid cloud design is through scenario tasks, cloud tradeoff reviews and architecture challenges that show real design thinking. Q: What skills are needed to design distributed systems across AWS Azure and GCPA: The skills needed to design distributed systems across AWS Azure and GCP include cloud architecture knowledge, multi cloud networking and hybrid reliability principles. Q: How do software architects improve hybrid cloud performanceA: How software architects improve hybrid cloud performance is by shaping clean data paths, reducing latency issues and choosing patterns that keep services stable across environments. Q: Why is senior architecture leadership important in multi cloud projectsA: Senior architecture leadership is important in multi cloud projects because decisions must stay consistent across providers and someone needs to guide design choices that protect long term system health. Grow Your Cloud Capability With the Right Software Architect If you want to strengthen your multi cloud strategy and hire software architects who support AWS Azure GCP design with clarity and confidence, Signify Technology is ready to help. Get In Touch today and we’ll guide you through the next steps.
View post
Hire Senior Backend Engineers for Complex API Architectures
Published
November 21, 2025
Signify Technology helps backend leaders hire senior backend engineers who strengthen API design, improve microservices scalability and fix performance issues that slow teams down. You get engineers who understand production pressure and can deliver clean interfaces, lower latency and stable distributed services. Key Takeaways: Senior backend engineers improve API performance and reduce latency They guide microservices design so teams avoid scaling issues Their design decisions protect service reliability Clear API thinking helps teams avoid rework and slowdowns Trying to fix API performance while scaling microservices can feel like a real headache. You’re trying to keep latency under control, protect throughput and stop services from failing under load. In our experience, this pressure builds when teams lack someone who understands deeper backend patterns. A senior backend engineer with strong API architecture skill can make a genuine difference. Why Senior Backend Engineers Matter for API Architecture Advanced API design principles The answer to why advanced API design matters in complex systems is that it helps services communicate predictably. A senior backend engineer brings structure, clear contracts and stable error behaviour that stop issues spreading across the system. How backend engineers optimise throughput How backend engineers optimise throughput is through smart routing choices, efficient data access and well placed caching. These actions reduce pressure on core services and improve response times. What Senior Level Backend Expertise Delivers Microservices scalability Microservices scalability depends on how each service handles growth. A senior backend engineer knows how to break down workloads, balance traffic and keep performance steady under stress. Distributed system reliability Distributed system reliability improves when someone senior looks for failure points. A senior backend engineer can explain how calls behave under load and how to stop failures from spreading between services. How Signify Technology Supports Backend Hiring We use specialist backend networks to find engineers with proven API architecture experience We assess candidates using scenario tasks rooted in real service challenges We match you with talent who understands latency, microservices scaling and distributed systems We help you make decisions faster with pre validated senior backend candidates How to Hire Senior Backend Engineers for Complex API Architectures This method helps you hire senior backend engineers who solve API scaling issues and strengthen microservices performance. Outcome: You’ll be able to assess and hire engineers who support long term API stability. Define your core API performance issues - Focus on latency, throughput, error rates or unclear service contracts. List the microservices skills you need most - Think about scaling patterns, message flow and service boundaries. Check for deep distributed systems experience - A senior engineer should explain how they improved reliability in real systems. Use scenario based interviews -  Ask them to design or fix part of your current API layer. Review examples of API redesign work -  Look at how they simplified interfaces or improved throughput. Validate experience with production outages -  Ask how they handled spikes, failures or bottlenecks. Seek senior references - Confirm their decision making and impact from peers. Move quickly when aligned -  Senior backend engineers receive multiple offers. FAQs Q: What does a senior backend engineer do in complex API architectureA: What a senior backend engineer does in complex API architecture is design scalable APIs, optimise microservices and strengthen backend performance so systems stay reliable under load. Q: How do teams assess senior backend engineers for microservices expertiseA: How teams assess senior backend engineers for microservices expertise is through scenario tasks, scaling reviews and service design challenges that show real thinking. Q: What skills are needed to scale high traffic API platformsA: The skills needed to scale high traffic API platforms include API design depth, distributed systems understanding and careful performance optimisation. Q: How do senior backend engineers reduce latency in API servicesA: How senior backend engineers reduce latency in API services is by improving routing, removing bottlenecks and using caching patterns that support quicker responses. Q: Why do microservices need senior backend leadershipA: The reason microservices need senior backend leadership is that someone must guide service boundaries, failure behaviour and scaling decisions so teams don’t create long term problems. Grow Your Backend Team With the Right Engineering Talent If you need senior backend engineers who can improve API performance and strengthen microservices design, Signify Technology can help. Get In Touch today and we’ll support you through the next steps.
View post
Hire Principal Software Engineers for Platform Leadership
Published
November 22, 2025
Trying to hire a principal software engineer who can lead platform architecture can feel like a real struggle. You’re dealing with scaling pressure, tight timelines and the need for clear long term technical direction. Many engineering leaders tell us they need more than strong coders. They need someone who sees the full system and guides design with confidence. In our experience, the right principal engineer makes a major impact on platform stability. Key Takeaways: Principal engineers improve system architecture and platform stability They help CTOs make clearer long term decisions Strong governance reduces rework and protects delivery speed A practical hiring method helps you select the right senior talent Why Principal Software Engineers Matter for Platform Stability What is the value of architectural governance The value of architectural governance is that it keeps your platform consistent and ready to scale. A principal engineer sets clear standards, protects long term design choices and prevents drift that slows teams down. Why high level system design shapes long term success High level system design shapes long term success because it links business needs with stable engineering choices. A principal engineer understands trade offs and helps you avoid decisions that become future blockers. What Principal Level Expertise Delivers How decision quality affects platform scale Decision quality affects platform scale because every choice influences performance, reliability and future development. Principal engineers understand the full system and guide decisions that support growth. Why platform scale leadership supports engineering teams Platform scale leadership supports engineering teams by giving them one point of clarity. When someone senior guides design patterns and approach, teams move faster and face fewer blockers. How We Support Engineering Leaders At Signify Technology, we focus on the deeper signals that show true principal level thinking. Our process centres on real platform needs and gives you confidence in every hire. Our screening covers more than fifty architecture and system decision scenarios We pre validate candidates with evidence of platform scale experience across distributed systems and cloud platforms We assess judgement through scenario reviews and platform case walk throughs Our network includes senior talent with experience across AWS, Azure, GCP and event driven systems Over ninety percent of our placed principal engineers remain in role after twenty four months You receive a shortlist shaped by system thinking rather than surface level stack knowledge How to Hire Principal Software Engineers for Platform Leadership Hiring principal engineers becomes easier when you follow a clear and practical method. These steps help you hire talent who improves design quality and supports long term platform stability. Outcome: You will be able to evaluate, shortlist and hire principal engineers who bring strong architectural value. Define the core architectural gaps you need solved – Identify scaling issues, governance needs and slow decision points. List the design skills that matter most – Focus on distributed systems, domain thinking and system wide oversight. Check leadership behaviours early – Look for candidates who guide decisions and support teams. Use scenario based interviews – Give candidates real platform challenges to solve. Look for evidence of platform scale experience – Review examples of migrations, redesigns or high traffic systems. Assess long term thinking – Ask candidates how past decisions shaped future system health. Validate senior references – Confirm judgement, reliability and collaboration. Move quickly when aligned – Principal engineers receive multiple offers and good talent moves fast. FAQs Q: What does a principal software engineer do in platform architectureA: What a principal software engineer does in platform architecture is guide high level system design, set governance standards and support long term technical direction across the platform. Q: How do CTOs assess principal level engineering capabilityA: How CTOs assess principal level engineering capability is through scenario based design reviews, platform scaling evidence and confirmation of leadership behaviours. Q: When should companies hire a principal software engineerA: When companies should hire a principal software engineer is when scaling needs, system complexity or governance gaps exceed what senior engineers can manage. Q: What skills matter most when hiring a principal software engineerA: What skills matter most when hiring a principal software engineer are system design depth, distributed systems knowledge, governance ability and clear technical judgement. Q: How do principal engineers support long term platform stabilityA: How principal engineers support long term platform stability is by improving design quality, guiding decisions across systems and preventing issues that lead to rework. Grow Your Engineering Leadership With the Right Principal Engineer If you want to strengthen platform architecture and bring in senior engineering leadership, Signify Technology can help you hire principal engineers with the right mix of system design skill, decision quality and platform thinking. Get In Touch today and we’ll guide you through the next steps.
View post
Chat to the team today about how you can drive your business and innovation.