Scrum seems to be the default methodology in software engineering, especially when it comes to startups. However, getting from the simple, shiny theory to a detailed process that survives the messy, chaotic and unpredictable real world is another matter. So, after four years of fine tuning, adjusting and debating, I’m glad to present Covve’s scrum survival guide (in the form of a badly made infographic).
One of my most important jobs as PM/CTO/Co-founder at Covve is making sure we recruit, retain and keep an exceptional team super motivated. I regularly spend a good portion of my time thinking about these topics and working with the team to continuously improve. When it comes to recruitment we always hire people with the aim of them being with us for the long run. As such we feel strongly that it’s worth investing as much effort as necessary to ensure a really good fit of whoever joins our team.
Cross platform technologies have changed considerably. Should you even write an app using one of them in 2018? What tooling, processes and best practices can’t you live without? Which problems will you face and how will you overcome them? How would you organize your team and project? Join us as we share valuable lessons from the last two years of engineering the Covve Ionic/Angular cross platform app.
Why did Uber lose the war to DiDi? What’s the one secret ingredient to marketing in China? Can a western company even begin approaching this tech-enabled market of hundreds of millions of potential users? In her second week at Covve, our latest intern, Jiuren Zhou, gave the team a crash course in today’s China, its massive opportunities and unique challenges.
Getting the entire team together is always great. Getting the team together for a hackathon under the pine trees and next to the sea in lovely Chalkida is just perfect. The theme of the 48-hour hackathon was “Growth Hacking” and featured over 40 brilliant ideas, 4 of which became a reality, wood smoked boston butt, team-made pizzas, drones and just the right balance of coffee and beer.
Being obsessed with automation, quality and continuous integration here at Covve means that we typically release something new on one of our platforms or systems every week. This is great because it allows us to quickly respond to user feedback, rapidly innovate and quickly seize opportunities. More importantly though, once a week I get the pleasure of a humorous auto-generated release name! So, here’s my top 5 release names from our cross platform app product.
“Always code as if the guy who ends up maintaining your code is a violent psychopath who knows where you live”. It’s motivational messages like this that keep the Covve engineering team operating at peak efficiency. They are delivered 24/7 by our homemade Raspberry powered LED matrix display and are accompanied by live values of our main KPIs (arguably the primary purpose of the device).
Last Friday marked the end of the internship for Jasmine and Sharon. They joined us all the way from the University of Toronto, Canada through the AIESEC program. In two short months they got immersed not only in Greek culture but also what it means to be part of a startup. They were both given challenging and meaningful roles in the team and now that its all over I’m pleased to say they both delivered exceptionally, or, in our CEO’s words “This is excellent! This is results!”.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. April’s pet projects included a bottom up review of cross platform devops and experimentation with Watson and event sourcing.
With cloud services it is quite easy for costs to incrementally increase without any alarm bells going off. Increases tend to be small and can often happen automatically (e.g. due to changes in volumes or changes in unit pricing). As such it is good practice to monitor and challenge cloud costs on a regular basis. Our recent audit of our Azure cost enabled us to reduce our monthly bill by 33%. Here are the main ways we achieved this.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. February’s pet projects ranged from an experimentation with progressive web apps to putting our code’s deisgn to test against Martin Fowler’s personal pet hate, the anemic model anti-pattern.
The Azure Blob service stores text and binary data as blobs in the cloud. Data can be uploaded using the Blob service REST API. In Covve we use this service in order to upload various binary files such as database backups etc. We use the block blobs type since they are optimum for streaming and we do not need append (append blocks) or arbitrary read/write operations (page blobs). Check this Microsoft post for a thorough description of these three kinds of blobs.
Managing a production environment consisting of numerous containerized microservices can pose quite a challenge. Coupling this with the requirement for rapid release cycles and just in time scaling, Azure Container Service (ACS) provides a very promising solution. Having adopted ACS at Covve for our production Docker environment, and having learnt tons along the way, this is a run through of some of the main lessons and gotchas we’ve gathered along the way.
Having just returned from the truly inspiring DDD Europe 2017 conference, this is a quick run-through of my experience and key pearls of wisdom I gleaned throughout, starting with Paul Rayner’s exceptional workshop on “Essential domain-driven design”.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. January’s pet projects ranged from a microservices monitoring cross platform app to reducing an O(n^2) project to O(n) and playing around with Google’s Tensorflow AI platform.
Partly to celebrate a year’s work leading up to the release of Covve’s Android app and partly due to my long overdue promise of carnivorous heaven at my little hut in the Greek mountains, January featured Covve’s engineering team retreat. The weekend featured pizza making, “Antikristo” lamb (hardcore Cretan lamb on the spit), boardgames around the fireplace and Covve’s first land based FPV (drone) grand-prix. Here are some of the highlights.
For those of you not aware of it, Product Hunt is a website that features the world’s coolest new software products every day. It has tons of followers and being featured on PH can mean massive exposure in a period of just 24 hours. It’s also a tech team’s worst nightmare.
On the face of it, investing in a project manager for a small, young startup seems like an unforgivable luxury. Not only is this throwing money at a role that isn’t directly creating value but also seems to go against the philosophy of the startup; flat structures and super motivated crack teams surely don’t need managing, right? Well, despite this here I am, Covve’s PM, feeling not only valuable but actually indispensable. How come?
Microservices has been a buzzword for a while now, and rightly so. For many products, projects and teams they provide solutions to some of the problems of large and complex software systems. As such, when our very own Zafeiris first proposed its adoption at Covve back in 2014 (before all the hype) it felt most almost natural given our domain and approach to design. As such, Covve’s backend has been built on microservices principles virtually from day one. Here’s a glimpse of our microservices environment as it stands today.
Hi guys, A quick blog post to rave about my favourite tools that help our SaaS business run efficiently and, importantly, give us the depth of understanding and analytics we need to make educated fact based decisions. So, here goes, in rough order of awesomeness: