Enterpreneur, Architect, and Speaker.
Chris is a software architect with 20 years experience. He is passionate about quality software and great architecture, while forging the growth of this generation of software developers.
For more details on some of the projects that Chris has worked on click below:
SAHL Next Gen Platform
Bolstered the SAHL infrastructure team to assist with designing and implementing the infrastructural core for their next generation banking platform.
This software is the structure that undergirds internal and external web applications for processing loan applications, managing loan facilities and providing 3rd party services – e.g. attorney conveyancing.
The software is built as a service orientated architecture distributed via dockerised containers, utilizing event sourcing and service buses.
Chris assisted with implementation of core infrastructure, primarily the API interfaces, projection data sources, as well as the core framework and domain services employing domain driven design principles.
Designed and implemented a modern interpretation of this industry leading reference checking solution
This system comprised complex integrations, services, and processing engines to meet the requirement for a highly scalable and extensible product. Technologies employed: HTML5, C#4.0, ASP.NET, nServiceBus and SQL2008.
The completely rebuilt Refcheck Advanced boasts:
- A new range of 31 background checks
- Automated Application status and Document Requirement notification system
- Optimised Back Office system allowing staff to perform check processing faster and more efficiently
- High performance engine for higher check volume throughput
Created and developed a performant facilities ERP for credit providers in the agricultural space.
An ever-evolving product brought to market by Agrista, with a build value estimated at over R25 million and now supporting well over 3 billion rand per annum in loan facilities, this successful product is now in version 4.
To build this web-based finance product suite for the Agri-finance industry there was a requirement for a full range of analysis, design and development skills from team members. Implemented at several secure internal and external sites for clients, including a national bank. Technologies included: C#2.0/3.0/3.5/4.0, ASP.NET, SQL2008.View Online
ProcureCheck is a innovative service that detects procurement fraud. It cross references employee company ownership structures with vendor lists for large to enterprise sized companies.
The data involved in this service is immense and requires big data strategies to ensure that the system is peformant. Chris architected an updated solution that scales the solution to the largest clients.View Online
Marriot Unit Trusts
This was an ambitious project to re-write the Marriott Unit Trust Management system, which was then running on a mainframe, as a web based application which was simpler for staff to use and cut training time to a few days.
When completed the system managed the unit trusts of three of the larger unit trust companies Marriott, Allen Gray and Old Mutual.
This 3-tier application was written using Classic ASP on the web front end and Visual Basic with COM+ providing the application tier infrastructure. The data tier ran on SQL.
This project provided Chris with early exposure to very large datasets (Big Data) as well as the patterns used in dealing with big data. It also provided an early springboard into the concept of Software as a Server (SaaS) before SaaS become a formal concept. Many of the architecture and data patterns employed on this project have given Chris a clearer understanding of how to architect, manage and run SasS solutions.
Upcoming Speaking Engagements
Instruct is a series of seminars that Chris has designed for the community. Covering a range of topics from databases to service buses, there is something for everyone here.
Gettings started with Kubernetes
By invitation and public registration available
October 2018, Kaleidocode Offices, Durban
Join Chris as he unpacks getting started with Kubernetes. Working with and managing Docker containers quickly gets challenging, find out how you can use Kubernetes to take another step forwards.
Lastest Recorded Presentations
Catch up with the most recent events from the inStruct series below, or to see all the Instruct content check out the inStruct YouTube Channel.
Mining your logfiles using the ELK Stack
Recorded 01 August 2018 at Instruct in Durban, South Africa.
Log files hold a vault of useful information for operations as well as business.
Processing your log files could reveal a host of useful information:
- Who uses that brand new web solution you have just deployed?
- Which country are they in?
- What device are they using?
- When your host is under load, what else is happening in the environment?
- That pesky, intermittent error is back! How do you find it?
- Our build server is slow, why?
Processing application and server log files used to be such a chore. Getting a unified view of all logs required wizard-like skills! But over the past few years simple and easy solutions have emerged. Best of all, they’re free. That’s right, they’re all open source!
Join Chris for a hands-on presentation, where we’ll pull some useful open source Docker containers and set to work making them weave some magic on our log files.
Chris covers some Docker Compose basics to get you started with a simple ELK stack (Elastic Search, Log Stash and Kibana), configure some endpoints and setup log shipping (for Linux and Windows) so that we can process log files.
He will have you processing logs, and then looking at ways to transform and embellish your log data to add IT operational, as well as business value. Using your transformed data, he also covers visualising the data using Kibana.
To close out he will have you considering alternative technologies such as Prometheus and Grafana, and discuss the pros and cons of the different technologies. Mining log files has never been so simple. Watch this session to see how easy it is to get started.
A Developers introduction to Docker
Introduction to Docker, recorded 14 June 2018 at Instruct in Durban, South Africa.
On 13 June, Chris Tite, entrepreneur, architect and speaker presented on A Developers introduction to Docker.
Docker is a container technology that is creating a lot of buzz in the industry. Unlike virtual machines, containers do not have the high overhead and hence enable more efficient usage of the underlying system and resources. As a software developer, if you are not playing with Docker and realising the power of containers you need to be. Docker is changing the way we work and the way we develop and architect applications. It is also adds an interesting dimension the way we host applications. Chris introduces the basic concepts around Docker: how containers differ from VMs how to setup and run Docker, and running your first container persisting data using volumes container networking developing a simple application and running it in Docker an introduction to Docker compose This talk is a building block for future talks which cover the ELK Stack and Kubernetes.
Agile Database Techniques
16 June 2017, hosted at Kaleidocode, Durban during a Durban Agile User Group session
Do you have dark places in your database where only the knowledgeable few fear to tread? Shouldn’t you try to change this? Treating your database as code and refactoring it as your software evolves is a good first step. Join Chris as he introduces Agile Database Techniques, looking at tools and techniques which can be used to manage your database in an Agile fashion, so that your database evolves as your software changes.
21 April 2016, SA Home Loans, Durban
Architects, those that design buildings, study architecture from the past to the present to best understand their craft. As software developers we aren't easily afforded this opportunity, this has always frustrated me, and has thus lead me to always want to share with my fellow craftsmen. In this talk I lift the veil on a two of my enterprise projects implemented using a message based architecture. I walk through the architecture of the projects highlighting the SOA patterns used. The first architecture focuses on patterns employed for performance and scalability and the second focuses on big data principles for data visualization using projections . This presentation also focuses on the do's and don'ts when designing a scalable message based architecture, as well as potential technology you may consider such as NServiceBus.
26 March 2015, SA Home Loans, Durban
Managing and working with knowledge workers can be a real challenge, the old adage applies “Managing developers is like herding cats”. Seven years ago Chris picked up a book which changed his outlook on team dynamics and working with knowledge workers. “Adrenaline Junkies and Template Zombies” compiles 150 years of software team experience into simple easy to understand patterns. In this talk Chris shares his experiences and observations after applying some of these patterns to his working environment.
Xamarin Mobile Apps Unpacked
10 March 2015, Riverside Hotel, Durban
KitKat, Jelly Bean, iOS, Windows Mobile ... Where on earth do you start when you get into mobile development!
Mobile applications development is an ever shifting space, and transitioning into this environment means a steep learning curve. Differing operating platforms and the various development environments add layers of complexity!
The Kaleidocode team faced a mountain of questions when we started mobile development on a large enterprise driven application. In an attempt to modify the extremity of learning required and accommodate the myriad of operating platforms, we reached for Xamarin Studio.
In this session we will look at;
- Xamarin Studio, why this particular tooling?
- A demonstration on writing an iOS and Android app using a common C# code base.
- The good, the bad and downright ugly truth about developing mobile apps.
- The future of Xamarin using Xamarin Forms.
Domain Driven Design
Recorded on 28 October 2014 at the Riverside Hotel in Durban.
This presentation offers insights into an extensive set of design best practices, experience-based techniques, and principles that assist in the implementation of software projects that deal with complex domains. Merging design and development practice, this session incorporates fundamental examples based on real projects that Chris has been involved with to clearly illustrate domain-driven design being applied to real-world software.
Key areas include
- Placing the project's primary focus on the core domain and domain logic.
- Basing designs for a complex system on the model of the domain.
- Creating a collaboration between technical and domain experts to iteratively improve the conceptual model.
- Ubiquitous Language - what is it and why does it matter
- Common DDD Patterns
- A hands on walk thru of a DDD designed project, explaining the tradeoffs and the wins
Evolutionary or Agile Database Design
Recorded on 16 September 2014 at SA Home Loans in Umhlanga, Durban.
For many decades now both developers and DBA's have viewed the database as somewhat of a slow moving monolith which should be altered as little as possible and designed very clearly upfront. This mind set often leads to large parts of the database becoming unused but never being cleaned. It also leads to the classic issue of tables that no one wants to clean out because they still contain a single column that is being used by some part of the solution... but no one remembers why or how.
Databases, like our code, are an integral cog in the solutions we work with. This is especially true in the Enterprise space, and as such need to be maintained with the same diligence as code.
Refactoring a database? What an absurd concept!
Graph Databases Exposed
Recorded on 10 July 2014 at the Benjamin Hotel
Relational databases have been the cornerstone of data centric systems for almost 30 years, serving as a trusty workhorse upon which many developers depend. Times, however, are changing and datasets are becoming larger and more complex. Business and users expect more flexibility and insight from their data.
With a worldwide movement to connectedness in applications (Facebook, Twitter, Linked In and many more), our trusty relational database model can't be relied upon to manage complex connected datasets.
This has lead database technologists to find more effect technologies to manage their connected data. Graph Databases, a subset of NoSQL technology, provide a powerful mechanism to work with datasets where relationships between various entities are important.
In this session Chris covers:
- Introduction to graph databases.
- Compares graph databases to relational databases.
- Introduces Neo4j, a powerful open source graph database technology..
- A practical implementation of graph databases in .Net.
Scalable Distributed Design
Held on 8 April 2014 at the Riverside Hotel
Designing scalable distributed systems is not an easy task, it requires a completely different approach to system architecture design. A key consideration in distributed systems is the need to maintain consistency, availability and reliability in the face of system failures. New technologies are at hand to make it easier to implement distributed systems but are no silver bullet when it comes to designing such systems.
A key principle of distributed system design is SOA. Implemented correctly SOA reduces unnecessary dependencies that can, over time, creep into large systems and concretises interactions and integrations that should ideally remain flexible. The real practice of SOA reduces and resolves the "corporate arthritis" and can inject flexibility back into your systems, encouraging the reuse of functionality and reducing the total maintenance costs of operations and development.
In this session Chris introduced the principle of distributed system design, giving insights that helped the attendees to apply what they learned in a practical way. The session covered;
- SOA Architectural patterns.
- Introduction to the Service Bus
- Hands-on with NServiceBus: An introduction to NServiceBus, setting up the environment, and writing a SOA empowered application with NServiceBus.
- Practical examples of Kaleidocode implementations.
Recorded on 4 February 2014 at the Benjamin Hotel
With the onset of web and mobile applications that require high availability and scalability, web developers have started turning away from using relational databases because of scaling limitations.
NoSQL technology is gaining momentum and is supported as either commercial or open source solutions.
In this session Chris introduces NoSQL and contrasts it with SQL technology, giving insights into both technologies to help you select the correct tool for the job at hand. Topics to be covered are:
- NoSQL compared with SQL - Pros and Cons
- BASE vs ACID
- Brewers CAP theorem and how it affects your choice of DB
- SQL Architectural patterns
- NoSQL Architectural patterns
- Hands-on with Mongo DB:
- an introduction in to Mongo DB,
- setting up the environment,
- writing Mongo queries
- writing a Mongo DB application
Relational Databases - High Performance Database Series
Held on 19 November 2013 at the Coastlands Hotel
This lecture was about what developers need to know about databases to provide scalable and highly performant architectures.
This session on relational databases focuses on:
- Primary keys
- SQL row and table structure and points to consider when writing enterprise systems.
- SQL Table structures heaps vs tables
- Indexes; Clustered and Non-Clustered Indexes and their structure and effects on database performance.
- Database architecture; data and log files and how they affect performance
'13 to present
Speaker and Educator
@Kaleidocode. Chris is driven to raise the standards of software development. He has founded a new project called inSTRUCT which seeks to inform the community and encourage debate. Chris has launched a software internship program for university students, and has developed a curriculum for foundational graduate training and continuing professional development for developers in industry.
'12 to present
Director and Architect
@Kaleidocode. As a Director one is always required to wear many different hats, and this is especially true for a technical organisation. In his role as Director for Kaleidocode, Chris is involved with all aspects of the business from budgeting to technical staff assessments, architecture, development and even some project management.View Projects
Ultimately responsible for the quality of the code implemented at customers, Chris ensures that he keeps up to date on new and developing technologies and thinking in the industry, and that his teams are informed and up to date.
'05 to '12
'05 to '12
@Agrista. It was at Agrista that Chris first met the team he would later go on to partner with, to found Kaleidocode. Agrista specialised in agri-finance, pioneering the use of software technologies for the management of production finance projects in South Africa. Chris was a part of this pioneering team and architected and developed multiple financial and banking solutions for the likes of Farm Secure and ABSA Bank.
'07 to '09
Contracting Software Architect
@e-Pages. As a Contracting Software Architect Chris worked on multiple projects with the ePages teams, bringing a level of experience and depth of knowledge as well as a very different set of skills. Those projects include; Rand Merchant Bank, Unit Trust reporting tool, SPAR; Recipe Database, SA Sugar Research Institute (SASRI) Lab results reporting tool
Contracting Senior Software Developer
@Engen Refinery. As the Lead Developer of a small team Chris developed a Turn-Around Change Management solution which tracked all deviations to the planned maintenance shutdown period. The application include a various workflow tools to keep the many maintenance teams informed of changes and also ensured that all deviations to the plan were correctly costed and followed the correct channels for approval. This project Chris gave an opportunity to extending his ideas on reusable web frameworks and code generating. The application was written as a 2 tier solution using C# and ASP.Net with a SQL database on the backend.
'94 to '05
'01 to '05
Contracting Senior Software Developer
@Marriot. This project provided Chris with early exposure to very large datasets (Big Data) as well as the patterns used in dealing with big data. It also provided and early springboard into the concept of Software as a Server (SaaS) before SaaS become a formal concept.
'97 to '01
Contracting Software Developer
@Paracon (formerly MSI/infoVu). Chris worked with this organisation from March 1997 in both their Johannesburg and KwaZulu Natal offices as a Software developer working on various banking solutions from home loan application solutions to departmental budgeting solutions. Solutions were developed on MS SQL and Oracle. The projects were financial in nature but also included the development of an in-house help desk solution as well as a weighbridge solution. Over time Chris' focus changed to new product development. He was also contracted out to various projects including Intertek Testing Services (ITS) where they develop a Lab Management and Vessel (Ship, Rail Car and Tanker) Management Application.
Contracting Software Developer
@Standard Bank. Chris created a user friendly departmental budgeting tool which allowed Standard Bank department managers to easily manage their budgets from a single source. The tool enabled all budgets to be rolled up and managed at an aggregated level. The application was coded in Visual Basic with an Oracle backend.
Chris helped develop a mobile (laptop and modem) application that would allow Agents to visit prospective clients at home or at work and provide instant credit approval. The application would allow the user to capture all the customers details, do the necessary credit checks and then score the customer. If the customer was approved all necessary documentation would be generated and printed on a mobile printer.
'96 to '97
Lectured at University of KwaZulu-Natal and Natal Technikon in the departments of Electrical and Electronic Engineering
'94 to '95
@Grintek Electronics. Embedded controller development and GIS troop tracking software.
Want to know more?Chris on Linkedin