Phil HackMon, 05 Feb 2018
Testing the Happy Path with Selenium
At MarketInvoice, we pride ourselves with building high quality software by automating as much as we can and shipping quickly. In order to do this, we must ensure that the code is well tested and thus follow the Clean Code boy scout: If you need to touch code that is not tested, then you must add a test around that area of the code. Following this policy has drastically increased the test coverage in our platform.
This is fantastic, but what about at the very top of the testing pyramid. How, can...
Phil HackMon, 22 Jan 2018
Going Polyglot with Python
At MarketInvoice, most of our codebase in C#. However, we still do believe in being somewhat polyglot, where we use the right language/tool for the job. In terms our of data science and machine learning technologies, C# doesn’t fit in very well. For this we use a mixture of F#, R, and Python. We use a lot of different 3rd party API’s to collect data, so that we can aggregate it, pump it into our algorithms, and help MarketInvoice make better decisions.
One challenge that we came up against recently was how to best rotate...
Phil HackTue, 05 Dec 2017
Generating Small Services
Since we are on the cusp of UK Open Banking and we want to be at the forefront of it, let’s start generating a “smallish” service for it. At MarketInvoice we believe in moving fast and automation. We currently are running ~20 of these “smallish” services. Let’s see how quickly we can build a service and get it live.
Step 1: Create a new git repository
All our small services are separated into their own git repositories. This helps isolates services into their own bounded contexts. We will first create a new git repo...
Phil HackMon, 16 May 2016
At MarketInvoice, we want to scale our applications and infrastructure. We are doing this by breaking out code into micro(ish) services. One way that we can remove the blocker of the overhead of creating a new service is by generating scaffolding, such as yeoman to create a new service.
We typically use WebAPI 2 for our services that use the OWIN pipeline. When I was looking to build a custom generator, I found a few that were well done, a closish fit, but weren’t exactly what we needed. So, I decided to learn how to use Yeoman, roll our...
Stephanie Le GeytWed, 27 Apr 2016
Last Monday, MarketInvoice ran its first company-wide Hackday. In case you’re not familiar with the term, a hackday is an event in which computer programmers and others involved in software development collaborate intensively on software projects. They’re really great ways to get people who don’t usually work together to solve problems together, or give them the license to work on something different.
Inspired by Google’s 20% time, MI’s tech team has an innovation day every other Monday; many of the projects have gone into production, but more importantly we think it keeps us learning. Feedback from the rest of the...
James AthertonWed, 02 Mar 2016
What is it?
Flow is the at the core of lean thinking. Minimising the time taken from inception of an idea to delivery will improve quality, lower costs, and improve response times.
Why should we care?
- Focus on quality
- Enhances flexibility
- Reduces Inventory
- Improves Morale
- Minimises Risk
- Improves Productivity
How can it do this?
Focusing on getting single items through to the customer as quickly as possible can be thought of as reducing the water flowing in a river. As the water level drops we see the stones and shopping trolleys sticking above the water....
James AthertonWed, 24 Feb 2016
There are myriad ways to run retrospectives, and if you are ever lacking a retro or wish to mix things up please check out this amazing resource: http://retrospectivewiki.org/ - From Rob Bowley.
General format is:
- Review actions from last retro
- Discuss the last period of time (week, fortnight, month, project)
- Generate ideas
- Discuss and generate actions/experiments
In this post I am going look at the Generate ideas section of my personal favourite retrospective. It is the “Stop, Start, Continue Retro”. The name really says it all, what should we start doing? what should we stop doing? what...
James AthertonTue, 16 Feb 2016
The Andon cord is a cord on a physical manufacturing line that you can pull to stop the entire line. If an item arrives at a station, a defect is found and it cannot be fixed before it leaves the station then the cord is pulled to stop the line. That is what it is why would you pull it? You pull it to stop the defect affecting the processes downstream, you pull it so the whole team can help resolve the problem, you pull it so you can identify the root cause and fix it, you pull it so...