Categories
decisions engineering principles leadership strategy team

Engineering Principles 2020

I believe that what we do matters, what your team does matter and what your business does matter. Below is a helpful list of ‘engineering’ principles to focus on creating an environment where we can do our best work and use our time to matter.

1 – Work on yourself, your relationships and your team

Learn every day. Listen every day and try to think every day. Have a plan to learn React Native, finish masters, start a PhD, write a blog. Life is not static and time is limited. Is there a better way to use it than to improve yourself and your relationships?

2 – Hire good people who like to make things

Look for track record of thoughtfulness, consideration, kindness and consciousness. Also, look for builders and makers. Those are the people you can rely on and enjoy building businesses with. So your interviews need to be behaviour-based – assess whether someone has opinions and isn’t afraid to argue around a whiteboard. Avoid extravert biases. In tech, especially avoid male-centric interviewing. The world is huge. Do you want your AI to be programmed by only people like you? I wouldn’t.

3 – Code always wins

Talk is cheap. Building is hard. Always favour building, releasing and learning. Adopt continuous release management and stick with it. Release small and frequently. If you can do this, you are doing better than 90% of other businesses out there. Make the release process… a process without ExCo sign offs, special tests, service shutdowns. Anything that is not automated will cause a problem. Why? Because people don’t like responsibility for something they don’t fully understand. So, avoid it. Automate it instead.

Realise that things fail all the time. That’s okay. We know that failures are inevitable. Instead of ruminating over them, aim to reduce the time lag in detecting the failure and passing bugs to the engineering team. Learn from the failure and move on.

Finally, decoupled your releases. It is much easier to control complexity if you incrementally change. So avoid big releases as they mostly fail as the tech in 2019 is too complex to be managed by control. Always rely on the tracking and monitoring data as it will help you once the logic has dried up.

4 – Every team is a startup with a common vision

Common vision is important across the business. But you also need flexibility and autonomy to move fast. Combining team autonomy with a shared vision will make your business more robust. Paradoxically you want to rely on all of your team but at the same time, you must ensure that the business can continue with people being 3 weeks on holiday without access to the internet. So what do you do? Build team autonomy. Operate in cross-functional, autonomous Agile squads. Always document well. Documenting (user sorties, test, tech strategy, plans, roadmaps) is the most efficient way to communicate accurately and succinctly. Remember team roadmaps are driven by company goals. All of these goals, as well as individual objectives and key results (OKRs), need to be visible to all.

Your user data is your gold mine. Every team needs to live security by design. Security is not only owned by the Cheif Security Officer or CTO. Security is also owned by every product manager, designer, engineer, tester. Everyone who worked on a feature is responsible for the security of user data. Get familiar with the OWASP best practices, and strive to have automated security scanning with every deployment.

5 – Continuously remove your own legacy

Be critical of yourself. Reflect on past decisions. Learn from them to try and make better decisions next time. This is not to say not to make decisions. Make them all the time but be aware of decisions which are hard to correct (any hiring decision, picking a back-office platform) against decisions which are easily fixable later (landing pages design, AdWords campaign). Every decision you make creates some legacy. Carve out 2 weeks every quarter to spend on your legacy decisions to stay on top of it in terms of cost implications and to ensure future fitness for purpose. Your business has evolved and what worked during the first 6 months might not work now.

Categories
cloud hacks payments security startup strategy support tools

Tech Stack for Payments

Your business is growing and you are considering expanding your offering to new verticals. The next phase, if you haven’t done it already, is to add payments and ‘quilty-of-life’ tools to help your teams. A good start tech stack for a business which is growing and adding new products is in the diagram. This is the time to also rigorously review your whole tech stack and start taking things out. Carve out 2 weeks every quarter to spend on the tech stack to stay on top of it in terms of cost, usefulness and to ensure you are using tools fit for purpose. Your business has evolved and what worked during the first 6 months might not work now.

Categories
cloud decisions design hacks leadership program security startup strategy team tools

Tech Stack for Growth

So you have launched. You figured out how to make money and you are ready to grow. A good tech stack for growth businesses is depicted in the diagram. Gowing the business usually requires more people. So your tech stack will need to expand to include user management tools. My guidance here is to make sure you figured out what’s available from Gsuite or Office 365 before adding new complexity. By the way, you should only use either Gsuite or Office 365. Never both. Remember to always avoid complexity. If you like us and many other businesses, you will have Macs and Windows. You should also understand Gsuite or Office 365 offering for user kit management before adding new tools. As a growing business, you will consider adding new customer channels. We added fairly quickly telephony and webchat and also integrations to other (non-core) services. You don’t want to build any of this unless it’s your USP which is very unlikely. Finally, remember to constantly review your technology stack to continuously remove legacy.

Categories
cloud design hacks innovation startup strategy system tools

Tech Stack for Launch

So you are ready to launch an MVP or ‘open-to-all’ service? Scary, right? Preparing for launch it’s never easy. Bear in mind that no one has many users to start. However, if you have keen investors or an active board, the pressure is on. A good start tech stack is depicted in the diagram. The big difference is analytics and tools the business needs to make a success out of the launch. So a lot of new tools are added to facilitate timely and accurate product usage tracking. Finally, marketing and support tools will make or break the business so overinvest in figuring what works for you. Challenge arguments based on people’s previous experiences. (We used MailChimp at X). Also, remember to constantly review your technology stack to continuously remove legacy.

Categories
behaviour future leadership strategy

Beginning of year 2019 post

The holiday period is always a good time to reflect on the year gone by, and to turn our minds to the future.
 
2018

We started in March 2018 with an idea that we had for a while: making debtor experience best it can be while making the collections process as efficient as it can be. 

I won’t dwell too much on 2018, but what another fantastic year for our business! We developed the product and accompanying service and started executing go-to-market, hired the the team and secured a business incubator backing.

We also learnt a lot on the way. However the key lesson for us would be that hyperrealism is a friend.

  • Assuming the product will resonate with the market (if untested) will most likely be proven wrong. On reflection this is obvious.
  • Product-market fit takes time. Assume you are wrong, so test. Don’t pitch to customers. Proof is to have a meaningful commitment: signed order, intro to a decision maker.
  • Message-market fit will come from talking to customers.
  • Deep analytical understanding is only possible with sufficient data being available.
  • Create your data by talking to customers, partners and competitors. Don’t pitch, think of uncomfortable question to ask, listen to answers and try to disprove your own world view.
  • Once you stop hearing new info you probably know enough to develop testable product hypothesis.
  • Product team needs to lave products (not just in your own domain). Actually better to have broader product experience than domain experience.
  • New product requires new thinking applied to proven product design. No need to invent unessential elements of your product. Use best practice for sign up, activation, integrations, security.

2019

Taking leanings from 2018, we are looking at 2019 with clear focus on go-to-market, building a strong team and serving our customers.  

Categories
cloud code decisions design patterns startup strategy

Microservices dependencies are difficult to track

After building online mortgages website and backend systems (integrated with top UK banks) using microservices (Azure, NodeJS, Mongo, React) for the new project I picked a less ambitius stack while leveraging teams know how (Azure, NodeJS, MySQL, templated HTML). This article captures my thinking:

  • Fail fast – they let development teams focus on delivering features (to prove or disprove a hypothesis) rather than a complicated microservice architecture
  • It helps you to understand your requirements (UML diagrams and domain models are not perfect first time they need to evolve)
  • Microservices are complicated to develop (e.g. graceful degradation, health checks, retries) and monitor
  • Microservices dependencies are difficult to track
Categories
hacks leadership people process startup strategy

Lessons Learned Running Tech Consultancy

Needless to say that advice here is relevant in 2018 as it was in 2012:

  • Everyone starts on fulltime salary
  • Process is very important
  • Not a fan of remote working setup (I agree 100% unless it gives scale and capability hard to hire locally)
  • Business development ways:
    • Writing blog posts
    • Giving presentations to general tech audiences (more beginners than experts)
    • LinkedIn
    • Referrals
    • Being found on Google
Categories
book hacks leadership strategy

Reading: Good Strategy / Bad Strategy by Richard Rumelt

Bed bound for the last 2 days and when not reviewing PRs I read Good Strategy / Bad Strategy book from 2011 FT short list, and I am starting to realise that I don’t now what our strategy is.

Could it be that I wasn’t paying attention? Or we need to work this out? I reviewed a few series A pitch decks and clearly many haven’t worked what their strategy is.

Some ideas from the book can be found on slides here.