Getting Delivery Right: Software Development Methodologies in Practice
Introduction Software development methodologies describe structured approaches that guide the process of building software systems. These methodologies provide frameworks, practices, and principles to manage the complexities of software development projects efficiently. At Sinara, we recognise the importance of flexibility in project approaches and adopting the methodology most suitable to a particular project and client goals. […]
Making sense of message queues
Introduction When designing complex trading operational systems composed of multiple specialised processes, ensuring reliable, effective communication among them can be a significant challenge. Traditional approaches, such as remote procedure calls or direct binary protocols, can introduce tight coupling and inefficiencies in certain scenarios. For very high performance, low latency links, that may be acceptable and […]
Introduction to Kubernetes (K8s)
Financial firms are increasingly keen to embrace cloud technology in new software solutions, or indeed in migrating existing systems over to the cloud. The advantages and disadvantages of the cloud aside, many of the new projects Sinara have been working on have had cloud deployment as an end-goal. Indeed, our SinaraTLC framework was designed from […]
Automating system tests with Sinara.TestDriver
As any experienced software developer will know, testing is one of the most critical areas of software engineering and continues long after the code itself is written. If you want your project to be a success, you need to ensure your plan includes a realistic amount of time for both internal testing (more…)
Building a mobile trading platform using Xamarin.Forms
When one of our clients requested a mobile trading platform to complement their existing web system, our team knew this would be a particularly interesting project allowing us to make use of several important frameworks and technologies. (more…)
Building a Dictionary in TypeScript
It only takes a quick search of “JavaScript” in r/ProgrammerHumor to understand the love/hate relationship that software developers have with JavaScript. The language boasts dynamic types, which therefore creates a lack of type-safety, often leading to weird and wonderful results. One of the subreddit’s favourite examples is: [6, -2, 2, -7].sort(); (more…)
SignalR Coding Best Practices – Revisited
Nearly 3 years ago, I wrote a short blog post on basic best practices for using SignalR to add real-time functionality to web applications. Since then, our teams at Sinara have built many more web applications of varying complexity using SignalR, and have gradually refined our technique over time. In this blog post, I’ll (more…)
Using LINQ for Data Access
Data access is an underlying aspect of almost all applications, whether through external sources such as XML and databases, or information internal to the application. For a long time, despite advancements in object-oriented programming, there was a lack of good facilities for querying and manipulating data. Then, along came .NET Language Integrated Query (LINQ), (more…)
Developing Secure Systems
Sinara has been developing leading financial solutions for over 25 years, and throughout that time, the need to develop secure systems has been a constant. While requirements and technologies change over time, the financial sector has always recognised the importance of client confidentiality and information security, and cybersecurity concerns have been increasingly scrutinised in the […]