Back To The Future: Model Driven Engineering by Jack Higgs

Published:
August 10, 2021

Blog Jack Sitc

Let's go back to the future!

An old way of developing software has made a come back in recent years so let's take a look with Jack Higgs from his talk at Scala in the City.

Back to the future: Model Driven Engineering

Jack Higgs at Scala in the City

An introduction to an old way of developing software that has made a come back in recent years. Far from experiencing death by UML, find out how model driven approaches to software engineering can help ensure safe, contract driven communication between systems and increase collaboration in your organisation. We will do a technical deep dive into meta-modelling, how we go from a model specification to useful code and what Scala offers in this space.​

Related news

Hire Embedded Systems Engineers for Performance Critical Applications
Published
November 25, 2025
Trying to keep performance stable in a device with tight memory limits and strict timing rules can be a real headache. You’re under pressure to ship hardware that responds fast, executes predictably, and never drops frames or stalls. A common mistake we see is waiting too long to bring in someone who understands real time constraints. When firmware grows complicated, the work becomes harder to fix and even harder to optimise. Key Takeaways: Real time constraints shape every engineering decision in embedded systems Memory efficient firmware improves speed and device stability Hardware software integration defines predictable behaviour Skilled engineers improve latency, timing accuracy, and system control Why Performance Critical Systems Need Embedded Engineers How do embedded engineers support real time requirements? Embedded engineers support real time requirements by designing firmware that responds within strict timing windows. They work with RTOS features, control task scheduling, and ensure the device reacts in predictable cycles. In our experience, real time constraints become easier to manage when someone understands how to design firmware around deterministic execution. Why does memory efficient design improve device performance? Memory efficient design improves device performance because smaller, cleaner code paths reduce processing load. This helps devices run faster and avoid delays or stalls. We often see performance issues disappear once an engineer rewrites firmware to use less memory. What an Embedded Systems Engineer Delivers How does firmware optimisation support low latency execution? Firmware optimisation supports low latency execution by reducing processing steps, removing heavy operations, and improving timing paths. A common mistake we see is overlooking small inefficiencies that add up across thousands of cycles. Why is hardware software integration important for reliable control? Hardware software integration is important because devices rely on accurate timing between sensors, processors, and actuators. When engineers understand both sides, they can tune firmware to deliver stable and predictable behaviour. How to Hire the Right Embedded Systems Engineer What skills are needed for real time embedded software? The skills needed for real time embedded software include experience with RTOS scheduling, memory efficient coding, low level debugging, and firmware optimisation. Engineers with these skills improve timing accuracy and reduce risk in performance critical devices. What are the interview criteria for embedded and robotics roles? The interview criteria for embedded and robotics roles include examples of real time work, experience with constrained devices, knowledge of hardware interfaces, and confidence explaining timing decisions. In our experience, the strongest candidates link decisions back to performance outcomes. How to Hire an Embedded Systems Engineer for Performance Critical Software Follow a clear process to find an engineer who can support memory constraints and real time behaviour. Define your real time needs outline timing requirements and device constraints Review firmware samples ask for examples of low latency or memory efficient work Check RTOS experience confirm they understand task scheduling and timing windows Assess hardware integration ability review their experience working with sensors or actuators Test debugging skills ask how they diagnose timing drift or unexpected delays Check optimisation thinking explore how they reduce memory use or processing cost Discuss past performance gains ask about measurable improvements they delivered Verify system level thinking check how they approach whole device behaviour FAQs What does an embedded systems engineer do in real time environments? What an embedded systems engineer does in real time environments is design firmware, manage timing constraints, and ensure deterministic execution across embedded devices. How do engineers optimise embedded software for performance? How engineers optimise embedded software for performance is by reducing memory usage, improving timing accuracy, and tuning code for low latency execution. What skills are needed for memory efficient embedded systems? The skills needed for memory efficient embedded systems include firmware optimisation, RTOS experience, C or C Plus Plus coding, and hardware software integration. Why is deterministic execution important in embedded systems? Deterministic execution is important because predictable timing ensures devices behave correctly under load and respond consistently in real time conditions. How does hardware software integration affect device control? Hardware software integration affects device control by aligning firmware behaviour with sensor timing and actuator demands so the device performs reliably. Strengthen Your Device Performance With the Right Engineer If you want help hiring an embedded systems engineer who can improve timing accuracy and memory efficiency, our team is ready to support you.Contact Us today and we’ll help you bring in someone who can build reliable, high performance firmware.
View post
Hire Senior Distributed Systems Engineers
Published
November 25, 2025
Trying to scale a platform without the right engineering support can feel frustrating. You’re dealing with bottlenecks, latency issues, and complex systems that only grow harder to maintain. Many CTOs tell us the real pressure hits when traffic spikes and the platform struggles to keep up. That is usually the moment they realise they need a senior distributed systems engineer who can design something stronger. Key Takeaways: Event driven design supports fast, predictable platform behaviour. Horizontal scaling improves reliability during high load periods. Distributed messaging patterns help reduce bottlenecks. Senior engineers design systems that support long term growth. Why Distributed Systems Need Senior Engineers How do senior engineers build event driven architectures? Senior engineers build event driven architectures by designing systems that communicate through asynchronous events. This reduces waiting time between services and allows the platform to process work more efficiently. In our experience, event driven design helps systems respond faster during busy periods. Why do horizontally scalable systems improve reliability? Horizontally scalable systems improve reliability because they distribute workloads across multiple nodes. This reduces the load on any single component and protects the platform during traffic spikes. We often see that horizontal scaling increases stability during product launches or seasonal surges. What a Senior Distributed Systems Engineer Delivers How do messaging systems support throughput control? Messaging systems support throughput control by moving work through queues and streams instead of relying on direct service calls. This helps teams manage load and avoid blocking issues during high traffic moments. A common mistake we see is relying too heavily on synchronous calls that break under pressure. Why are fault tolerance and consensus algorithms important? Fault tolerance and consensus algorithms are important because they help systems keep running when one part fails. These mechanisms allow services to agree on state and recover from errors. In our experience, engineers who understand these concepts build systems that fail safely instead of stopping altogether. How to Hire the Right Senior Distributed Systems Engineer What skills are needed for event driven system design? The skills needed for event driven system design include knowledge of messaging patterns, experience with stream processing, performance tuning, and designing services that work independently. These skills help engineers keep the platform stable under heavy load. What are the interview criteria for distributed systems roles? The interview criteria for distributed systems roles include past experience with large scale systems, examples of event driven design, knowledge of consensus algorithms, and strong reasoning about trade offs. Good candidates explain why they make decisions, not just what they build. How to Hire a Senior Distributed Systems Engineer for Scalable Platform Architecture A clear hiring process helps you bring in an engineer who can design systems that grow with your product. Define your scaling goals explain the performance issues you want to solve. Review system design examples ask for diagrams, decisions, and trade offs. Check event driven experience confirm they have built asynchronous systems. Assess messaging knowledge review their experience with queues and streams. Test problem solving ask how they would fix a real bottleneck in your platform. Review past performance gains look for evidence of improved throughput. Check horizontal scaling experience confirm they have scaled services safely. Discuss fault tolerance ask how they handle errors or node failures. FAQs What does a senior distributed systems engineer do? What a senior distributed systems engineer does is design event driven architectures, build scalable services, and manage distributed messaging systems for performance and reliability. How do engineers build horizontally scalable systems? How engineers build horizontally scalable systems is by splitting workloads, designing stateless services, and using messaging systems that distribute load across many nodes. What skills are needed for event driven distributed systems? The skills needed for event driven distributed systems include messaging architecture knowledge, concurrency control, fault tolerance, and performance optimisation. Why is event driven architecture useful for large platforms? Event driven architecture is useful for large platforms because it reduces blocking, improves responsiveness, and allows services to process work independently. How do distributed messaging patterns improve reliability? Distributed messaging patterns improve reliability by smoothing workload spikes, preventing overload, and allowing services to recover without system wide failures. Strengthen Your Platform With the Right Engineer If you want help hiring a senior distributed systems engineer who can support event driven design and large scale reliability, our team can guide you.Contact Us today and we’ll help you find someone who improves performance and system stability.
View post
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
Chat to the team today about how you can drive your business and innovation.