Maths, bugs and groovy code – Amelia Lee

Image from iOSI met Ray and Leanne at the UOW Careers Expo in August 2018. I had just one and a half Java subjects up my sleeve and the world of programming was a mysterious dark cloud in my mind. They didn’t yet have an internship program set up, but they clearly had a vision and a deep passion for their work. As a Mathematics student, microservices, financial platforms and software development were well out of my domain of knowledge. Nonetheless, FinoComp’s story captivated me. I applied immediately to a role that didn’t exist yet.

In a panel discussion after the expo, when asked what he looks for in applicants, Ray said that he goes with his gut instinct. After that first meeting, an informal interview a week later, and a tour around the beautiful town of Jamberoo, I had a very good gut feeling about FinoComp.

On November 19th, seven interns showed up to the old art gallery converted to an office space. Our task for the months ahead? To build a FinoComp microservice from scratch. Just a bit terrifying.

IMG_1944

In our first week of being Finterns, we shared with each other our feelings of “imposter syndrome.” From the jargon of the financial industry, to the software packages, to our job titles of ‘Software Engineer’, everything was overwhelmingly foreign. We definitely didn’t feel like the bright new recruits, full of millennial-style knowledge and creativity that we were expected to be.

Luckily for us we had Matt and Darren, two of FinoComp’s experienced developers, to ease us into it. In no time we were all merging code that we’d written into the main repository. And (most of the time) it did was it was supposed to.

As one of two mathematicians on the team, I primarily worked on coding the backend, mathematical logic of our performance reporting application “Insight”. I was tasked with designing and implementing the algorithms that would take the entire history of an investment portfolio and calculate its performance along a suite of different metrics.

Despite just finishing a semester of contour integrals and vector spaces, this was a surprisingly challenging and fun task. To understand how the components of Insight linked up, I got to dabble in database generation, REST interfaces, end-to-end testing, views and domain models. This, of course, required learning the technology used to facilitate the design and build process.

I cannot begin to describe the volume and quality of information I absorbed over the three and a half months. For example, it turns out that variable names matter. A lot. And so does documentation, automated testing, code review, and countless other things that aren’t taught in uni. And I learnt all this in the Illawarra countryside, surrounded by cows and Marvel merchandise.

The relaxed environment, that encourages surfing and table tennis at lunchtimes, was perfect for fostering creativity. From day one we were treated as part of the team. From lunches at the bowlo, to the twice-weekly fitness sessions in the park, we got the full experience. The last thing I expected from a programming internship was to gain fitness!

FJBq4xQRQJqvRzRycPA_thumb_443

Thousands of lines of code, dozens of impromptu white-board discussions and several major refactors flew by. By the time we finished the internship, Insight was ready to be demonstrated to clients overseas. To see the product come together in the final weeks was immensely rewarding.

For software developers, the staff at FinoComp made damn good teachers. In particular, I can’t thank our mentors, Matt and Darren, enough. Without their guidance and patience, we would have been absolutely lost. Of course, there would have been no Finternship without Ray, Peter and Leanne seeing potential and investing in us, despite our lack of experience. Taking on seven students for the inaugural Finternship was a massive venture, especially for a small company. I’ve been blown away by their generosity and belief in our abilities.

I’m excited that my time with FinoComp isn’t over – I’ll be staying on part-time while I finish my degree. If I’ve learnt anything, it’s that I still know close to nothing. It’s been a great experience so far and I can’t wait to find out where my future with FinoComp leads.

How a summer in the hinterland reaffirmed my career change – Andrea Burazor

IMG_20190308_195519Hi, I’m Andrea. I’m a first year Bachelor of Computer Science student at UOW and a 29 year old intern. I know what you’re thinking, and it’s okay, there’s really no need to be jealous. Ahem. But, jokes aside, let me lay a few truths on you.

You might not like working in your field of study…

You’re 17 years old, you’ve completed your HSC, and your Balkan parents are pushing you to “go to uni, make good career, be smart girl”. OK, that might not strictly be the case in your experience, but it’s likely that you have/had no idea what you want to be “when you grow up”.

Yeah, me neither. I chose a degree based on job opportunities and adult persuasion. I didn’t do too badly, either. I enjoyed some of my classes, I made a lot of friends, and then in 2011 we all gathered in our navy robes and threw our tasselled caps in the air.

I graduated, I found work, and guess what? It was deeply unsatisfying, and I had absolutely no passion for it. Uh oh.

BUT, too late is never really too late…

I worked in industry for around 7 years trying my hand at different sectors and a variety of roles. What I found was that my feet were always itching to keep moving, no one workplace seemed quite right or project challenging enough. I was utterly uninspired, so I did what any reasonable late twenties person would do – I decided to go back to uni.

The hardest part of making a choice like that is the unknown. Your boring, uninspired career is all too familiar. You know how to do this. Any change you make now might be a massive step in the wrong direction. What if the new thing turns out to be worse than the old thing? #hyperventilation

AND, interning is just about the smartest thing you can do.

So, remember when I said you might not like your field of study? Now, while you really should be researching and learning all you can about any career you pursue, there’s another really cool thing you can do to help you figure that out early on.

Internships are traditionally thought of as stepping stones into industry for fresh grads, but they also make for an amazing transitioning tool for anyone considering a career change! You get a crash course in what it’s like to work for a particular company, in a particular role, which makes it a valuable learning opportunity if you’re contemplating, or partway through a move. Not to mention, a really good one might save you 7 years in the wrong job!

// The Finternship

I knew right from the hiring process that interning with financial software developers FinoComp was not going to be your run of the mill, coffee run, mindless busywork internship. When your drive to work takes you down winding country roads along cow-dotted paddocks, lunch hour has you saying g’day to every local you bump into on the street, and your interview is an honest, laid back chat with CEO and Jamberoo local, Ray Tubman – well, you know things are going to be just a little bit different. Here’s how:

You are going to feel welcome.

FinoComp has a really unique culture. I felt encouraged to speak up and that my opinion was respected and valued despite being an intern/first year! As an intern you expect a degree of separation from the company, but FinoComp put their full faith in us as interns and each of us was treated exactly the same way a permanent employee would be.

Regular catch ups with mentors and HR let the interns know that our opinion and feedback was really important to the company and guidance and advice were readily handed out to us throughout the program.

The mentoring is second to none.

The Finternship was assigned two FinoComp veterans to help us newbies along our path to computing success. Matt Smith looked after the front end, and Darren Collins took care of us on the server-side – and they were with us full-time! They were invaluable to the experience, the project and to every intern. No question was too small or too silly, breakout sessions were regularly organised around the white board, and a variety of resources were made available to us to accelerate our learning.

You’re not just gonna “get it” – you’re going to be learning every single day!

On that note, interning is not “easy” and you’re not just gonna know what you’re doing. Every company has their own way of doing things and you’re going to have to learn a whole new tech stack. But, you are going to have a lot of support – if you need it. A lot of the process can feel like you’re being thrown in the deep end; but flotation devices are never too far from reach, and eventually you won’t need them at all!

You’re going to be encouraged to look after your body as well as your mind.

FinoComp arranges group fitness sessions two afternoons a week and all staff (including you!) are encouraged to attend. You’ll sweat under the hot sun, your muscles will burn, and you might let out some grunts that put the local livestock to shame. But you’re going to head back to your desk afterwards with a clear mind and a strong posture – guaranteed.

You’re going to become agile.

As it turns out, coding is a team sport and there is no better way to manage that than the agile methodology. Agile is not just some buzzword – it’s a competitive advantage. Working in bite-sized chunks made projects more manageable and feeling deeply invested in the project as a team made staff productivity shoot through the roof.

You’ll build something shippable!

One of the most surprising aspects of the Finternship was that we weren’t given some throwaway project. As a team of students, graduates and career changers, we built something commercially viable, and it will go to market! Isn’t that incredible?

More than anything, I’ve learned that coding is rewarding, challenging and creative and I’m so grateful to the team at FinoComp for taking a chance on me. There is still so much to learn, and getting to learn it alongside some of the most dedicated and inspiring people in the business has been a very happy way to round out my summer, and the best part is that this dynamic, growing company asked me to stay.

Thanks FinoComp!

Happy Dance – MIFID II Ex Post Costs & Charges Disclosures

Happy DanceI recently had an interview with Ellie Duncan of FT Adviser which was published. Amusingly, the title referred to the Fact that I was so happy with the FCA Interim Report that I did a “Happy Dance” through the office.

Those who are familiar with or have observed my talents in the fine art of dance will no doubt be aghast from the mere mental image – something that could cause physical harm or at least leave a lasting image that could never be unseen. It actually is, however, the sad and embarrassing truth.

A “Happy Dance” is a tribal display of happiness resulting from an underlying primal uphoria.

This uphoria is just what I experienced, and here is the reason why.

The FCA Interim report into platforms was a large report that had some key themes present. One significant theme was around disclosure of charges and the manner in which retail investors are presented with the information.

When we looked at the MiFID2 requirements for costs and charges reporting, and specifically the requirements for Ex Post Cost and Charges reporting, we thought that the generation of a physical statement once a year, with bundled up totals under categories that probably are not understood by retail investors, did not achieve the goal of assisting retail investors to understand how much they are paying and to whom.

The FCA seemed to agree with this synopsis and suggested that the MiFID2 regulation only went part of the way towards their end game.

FinoComp’s approach when developing our CoCa product was to:

  • Allow further categorisation to enable not only the regulatory categories to be summarised, but also more understandable categorisation such as whom the charges were paid to;
  • Have the information readily available for use not only within the regulatory required statements but also available for online portal access as and when required;
  • Have the information readily available throughout the year and not just at the end of the period so that online access can be sought at any time;
  • Incorporate accurate, bullet proof and complex performance calculations at all times.

The first reason for my happy dance was because our interpretation of the industry needs seems to have been strongly supported by the conclusions of the industry regulator. We didn’t just stop at the regulatory requirement but instead we built out the product to be an attractive propositional feature.

The second reason for my happy dance was because it really exemplifies the benefits of the microservices architecture; a topic that we are evangelical about. This is a typical component of functionality that monolithic systems would address only as absolutely necessary to cover the regulatory requirement or indeed would just provide base information and leave the calculation to the clients.

By taking something like the Ex Post Costs and Charges out as a separate Microservice, we are able to build it to be comprehensive, performant and always accessible. Better still, we are able to make it generic enough to interact with anyone’s registry system and implement it as an integrated standalone component. We are currently working with clients across 3 different back office systems.

For monolithic systems, the addition of this kind of functionality is considered as a small piece of functionality being added to a larger “more important” system; it is “treated like a pauper”. In the microservice architecture, the problem domain is the core purpose of that component and I like to think that it is “treated like a princess”.

These kinds of outcome really excite me and I am very much looking forward to releasing this new component into production environments in the next couple of months.

If a Rolls Royce solution to the ex-Post Costs and Charges is something that sounds desirable to your business, please contact us and you can join me in my Happy Dance.

Ray Tubman

CEO – FinoComp

MIFID II – Ex-Post

Image result for postbox cartoonMIFID II, is it over with yet?! Like a guest at a dinner party overstaying their welcome, MIFID II is still absorbing the resources of regulated firms throughout Europe. One of the remaining hurdles poses quite a challenge and, of all the changes under MIFID II, the one which will most likely create the most questions from clients. I am, of course, referring to the Ex-Post Costs & Charges disclosures.

From January 3rd, 2018, at the point of investment, clients captured under the MIFID II regime, will have received an estimate of the charges they’ll incur over the year in the form of an Ex-Ante Costs & Charges disclosure. This disclosure is to be followed, a year later, with an Ex-Post Costs & Charges disclosure report pertaining the charges the client has (or a close estimation) incurred throughout the year.

Various industry bodies are offering some guidance on the format of these disclosures, with Investment Services Charges split from Investment Product Charges, so it’s clear to the client how much they’ve paid for advice and/or discretionary investment management services vs the costs from the Investment Products (Assets) they hold. Charges will be broken down into categories defined below;

One Off Charges

Ongoing Costs

Transaction Costs

Incidental Costs

Ancillary Service Costs

In the absence of a flux capacitor, it’s extremely hard for firms to provide clients with accurate Ex-Ante costs and charges disclosures, owing to several varying factors (like performance!). That brings into question the relevance and these Ex-Ante reports. One thing we’re sure they’ve done, is to raise awareness as to the amounts clients are being charged. This awareness will be fixed on Q1 2019, when clients will receive their Ex-Post Costs & Charges Statements, providing a breakdown of the charges they’ve actually (or a close estimation!) incurred over the year.

With that in mind, clients will be looking at their Ex-Post Costs & Charges disclosures, with great interest. It’ll be the first-time clients see their charges laid bare in this format. Furthermore, and arguably the most important factor, investors will see the impact these charges have had on the performance of their portfolio. All in a PDF, once a year?

Seeing this type of information will no doubt raise questions in the Client’s mind.

  • Why am I paying this much in ongoing charges?
  • What has contributed to these charges?
  • Are there cheaper assets I could invest in?
  • Is my adviser worth these charges?

These are valid questions, and one’s that should be easily answered by advisers or wealth manager, or better, proactively investigated on a regular basis. If a client does object to the level of charges and wants to see evidence of a reduction in these fees, by way of different asset types etc, are they expected to wait another 12 months to see the results? We don’t think so…..

Our new MicroService, CoCa, tackles these challenges. It produces MIFID II Ex-Post Costs and Charges disclosures with a choice of outputs to produce PDFs and an innovative web portal with a look through function. Uniquely, this module has been designed to produce these PDFs at any point throughout the year, with the option of a drill down function so clients can see exactly which transactions have contributed to transaction costs and which assets have produced the most charges in the Ongoing Charges, under the Investment Product costs. Something, I’m sure will be hugely interesting given the ongoing active vs passive debate..

  • Ad-hoc production of PDFs at any point with a YTD summary if requested by clients
  • Detailed breakdown of each charge category to see which transactions and holdings have contributed to the calculations
  • Highly accurate performance reporting figures including Modified Dietz and Internal Rate of Return
  • Seamless production of yearly PDF statements with no impact on core back office technology

Tim Williams

Business Development Director – FinoComp

An audience with the FCA…

fca-clone-1-730x438As three snowflakes showered London on Monday, creating apocalyptic scenes, we braved it and travelled over to Canary Wharf to an audience with the FCA, specifically, their RegTech team.

Now, it’s not often the FCA receive positive feedback, but the latest initiative to look at how technology can help regulated firms better meet their regulatory obligations is to be applauded, and one we’re advocating.

The premise for the meeting was to pitch our new piece of RegTech kit, TierDrop, that enables DFMs and platforms to better comply with the MIFID II rule for reporting clients 10% portfolio depreciation over a specific reporting period. The audience was varied, with representation from across IT, RegTech and specifically the wealth management space, which meant their feedback was relevant and constructive.

It was clear the focus of the regulator is firmly on how technology can produce better outcomes for consumers, so the fact that this was one of our major considerations, struck a chord. A key area that TierDrop addresses is to reduce the risk of clients being incorrectly reported or missed because of, let’s face it, a lack of investment in technology. The ramifications of which can result in reputational damage and potential regulatory disciplinary action.

The ESMA suggested calculation is a large contributing factor to this risk, so we were pleased with how TierDrop raised this to their attention, providing a comparison of more accurate calculation results which, ultimately, produce better (more accurate) outcomes for consumers.

Whilst we weren’t expecting a seal of approval, or recommendations to buy our product, it was great to get some feedback and some assurance that what we’re doing is looked upon positively by the regulator. And, who knows, maybe we sewed a little seed of doubt as to the accuracy of the ESMA suggested calculation method?!

 

Tim Williams, Business Development Director, FinoComp

MicroService Architecture – The New Frontier for Wealth Management

 

6ee08d45f7a94d4c6fda9ee84833054a687ddf77

I often speak about our strategy of building a suite of software components as microservices and being able to deploy them independently or for them to be able to co-exist together and interact with each other.

There are very few players in the Wealth Management software arena who are genuinely building to this architectural pattern.

Of late, I am finding many organisations getting on the band-wagon and speaking of component based architecture. But when you really dig beneath the surface it doesn’t take long to identify that Lipstick on a Pig does not maketh the Supermodel.

There are many benefits to implementing microservice architecture. These include

  • Gaining massive agility and efficiency in amending, testing and deploying software updates;
  • Enabling automated isolated testing both within microservices and for all interfaces around the microservices;
  • Getting incredible gains in quality as a result of very defined boundaries of responsibility between microservices along with the increase ability to automate testing;
  • Having the ability to pick and choose components and use the best of breed; including the ability to pull out and replace components if a better solution if available.

In order to implement a microservice architecture, there are some very key design principles that should be adopted and these are a few of my tips.

Have a Guiding Vision of the Future

Whilst software development can be an opportunistic enterprise, it is also great to have a vision and strategy of where you are heading. By taking a microservice view of your long-term development scope, it can really assist you to in prioritising the sequence of development and in defining the boundaries of all microservices in your eco-system. By preparing this future microservice map you can look at the scope at a high level and focus on the detail as you address each microservice in your development cycle.

Don’t be Afraid of Separate Database Schema

To truly segregate microservice components, it is important for your DB schema to be isolated and stand alone. To be a fully self-reliant component, it should not have a dependency on being a part of a greater schema. If a component requires access to other data it should be integrated using service layers or data pumps.

Sometimes this will feel foreign to not rely on DB level referential integrity and sometimes it will feel foreign to have some duplication and synchronisation of data. But don’t worry – correctly designed microservice applications will synchronise, reconcile and enforce data integrity.

You will also get massive performance benefits from distributed parallel processing.

Don’t Fall Into the Trap of Microservice Boundary Creep

It can be tough when times are stressful and deadlines tight to jam changes in quickly and without consideration to the boundary of responsibilities of your microservices.

Each microservice should be excellent at doing what it does. It is the software designer’s responsibility to make it stay that way. When a change comes through that takes a component away from its intended responsibility, it may be better to step back, re-assess and perhaps create a new microservice that interacts with the existing component.

Of course, sometimes there are grey zones and such a decision is not always easy. Importantly, though, it may cost slightly more and take slightly longer to implement it in an architecturally correct manner. The benefits of those decisions will pay dividends every day afterwards both to the development team and the clients who use the software.

Software Sales Reps who Say “We Have a Component Based Eco-System” – When to Call BullSh*t

Without wanting to detract from the credibility of some software sales people, it is good to drill in to claims of Component Based Eco-systems.

Here are a few things often said that do not constitute Microservice architecture…

  • “We have a Separate Web Portal component from the core administration system component” – these are not microservices.
  • “We have separate REST services for each component” – but behind the scenes its all just one big monolithic system – separate REST services for different functions are not microservices.
  • “We have a microservice architecture and its bundled together to form a complete solution” – probably cannot be unbundled and therefore not microservices.

I personally always ask a few telling questions to really assess any such claims:

  1. Can I implement a single element of the total software scope that I would consider to be a discreet microservice independently and without having to take the rest of the solution?
  2. If I can implement a single microservice, can you provide integration documentation to allow me to integrate it to my existing systems?
  3. Does the database schema for the claimed microservice reside independently of the other microservices?
  4. Can you give me the automated test coverage percentage?

If you get a No to any of these questions, then its time to call it!

 

Summary

I am really excited by opportunities provided by microservice software architecture. Its what has allowed the likes of Amazon, Netflix, Google and others to achieve amazing agility and quality.

This mindset has not permeated into the Wealth Management sector and much of the software servicing our market is monolithic, inflexible and legacy.

Talk is cheap and as much as software suppliers are claiming this architectural pattern, in many cases it is simply incorrect.

When our industry catches up with others, we will find that a true Microservice architecture will transform this space. It will allow the best solution to be selected for each process and each task in the wealth management scope. Microservices will be able to be selected from disparate vendors who will specialise in dedicated areas of functionality in which they excel or they will be built independently and integrated by the Wealth Management firms themselves. Wealth Management firms will be able to replace components easily and at will and without the risks of huge migration events. Wealth Management firms will not have to put up with poor quality products or services from technology companies.

This architecture is a game changer. It will allow small, agile tech companies to upset the status quo and will ultimately lead to greater efficiency, quality and costs to the end consumer.

This is the basis on which FinoComp has been found and its principles are close to our heart.

Continuous Integration Pedestrian Light

Pedestrian Light?

green_man.jpgKnowing when things go wrong is crucial for any company, and FinoComp is certainly no exception. As part of our mission to produce top quality software, our whole team needs to be notified when an issue is detected in our builds.

To this end, we have combined cutting edge technology with FinoComp flair to create the Continuous Integration Pedestrian Light.

Red Man, Green Man

The concept is quite simple: For every code change made to our software, thousands of automated tests are executed to verify that everything is working as expected. If all tests pass, the green man light is automatically switched on. If even a single test fails, however, the red man light is turned on instead.

In addition to the light changing, a custom success or failure sound is played to alert team members to the updated build status. To keep it fresh, the sounds are changed every month. We currently have Simpsons-themed sounds, so a build failure will result in a disembodied Homer Simpson “D’oh!” emanating throughout the office. When a team member has fixed the build, Homer expresses his gratitude with an enthusiastic “Woohoo!”.

ci-light.jpg

How It Works

Ray was fortunate enough to find a second hand pedestrian light for sale online. We purchased it and had an electrician rewire the two lights to standard 240V plugs. Each light is controlled by an smart power socket, and the sockets are controlled by a Python script running on a Raspberry Pi that checks our Continuous Integration servers for build status changes.

The pedestrian light still has its original light bulbs, which aren’t very energy efficient! To save power, the Python script automatically switches the lights off on weekends and after business hours.

A Big Success

The Continuous Integration Pedestrian Light is used by our team every day, and ensures that issues are discovered and resolved as soon as they occur. The light is also a popular part of the office walkthrough for new employees and other visitors.

Chris Parton – Senior Software Engineer, FinoComp Pty Ltd