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 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
behaviour patterns people team work

Location, location, location of the Engineering team

Where’s the team? Is it in house? Why is it remote? People are interested. They have a right to know. However, I am always interested to find out what’s behind the question.

My data sample is small and built from my experience as CTO and working on consulting projects. So I am biased. Nevertheless, I think once you find more about the person asking the question you can correlate their view fairly accurately to the perceived right answer.

If the person is a recruiter or a talent manager, commonly the view is that in house creates better team dynamics and creates more hiring work which people with local hiring experience are more comfortable with.

If the person is from a finance department, the outcome is diagonally different. The cost, time to market and scale play a big part as to what good looks like.

Is the person is a CEO or an investor, there is no given right answer usually as there is awareness that not one answer fits all situations. And usually the strategic decision about the team make up is taken considering many variables but primarily where can I hire the best people to grow my business fast.

Finally, if the person is an engineer, she or he won’t care. Why? Because engineers want to work with the best engineers, making location irrelevant.

Having managed teams of 2 people to 60+, I think what’s important is how one is organised, what processes are followed and how well work is documented and tracked.

Usually default opinion backing the in house teams option is hidden behind poor communication, undeveloped technology strategy, immature operating model and incomplete documentation (stories, roadmap, tests). Lack of any of above is not a good enough reason to pick any option. Don’t miss on top talent for being lazy.

Categories
behaviour Google people team

High performance teams – what Google learnt

The NY Times article says: Project Aristotle’s researchers began searching through the data they had collected, looking for norms. They looked for instances when team members described a particular behavior as an ‘‘unwritten rule’’ or when they explained certain things as part of the ‘‘team’s culture.’’ Some groups said that teammates interrupted one another constantly and that team leaders reinforced that behavior by interrupting others themselves. On other teams, leaders enforced conversational order, and when someone cut off a teammate, group members would politely ask everyone to wait his or her turn. Some teams celebrated birthdays and began each meeting with informal chitchat about weekend plans. Other groups got right to business and discouraged gossip. There were teams that contained outsize personalities who hewed to their group’s sedate norms, and others in which introverts came out of their shells as soon as meetings began.

After looking at over a hundred groups for more than a year, Project Aristotle researchers concluded that understanding and influencing group norms were the keys to improving Google’s teams.

Categories
behaviour leadership people startup team

No ego

Hiring, hiring, hiring. I’ve been hiring for the last 6 months non-stop. Before leaving my job I had to hire new CTO and a team of 6 in India as part of my handover.

At my new startup, I am setting up a team and I started hiring even before I started. I talked to freelancers from Upwork, super contractors in London, AWS solution architects, many outsourcing agencies from 20 to 200 staff in Serbia, Ukraine,  Belarus, Holland, South Africa., LinkedIn contacts, Twitter followers, CTOs from London, Israel and Belgrade… and many recruitment consultants.

I posted jobs on job boards from LinkedIn to local job sites in Eastern Europe. I interviewed many candidiates in the first to final rounds, reviewed not as many CVs (engineers don’t know how to write CVs), built submitted code, performed many coding tests, talked to many managers. The key to success is to forget your ego and find value in candidates for the particular role you are hiring for. Forget your ego.

Categories
investing leadership other team

Bezos’ letter to Amazon shareholders 2016


Amazon Lending provided aggregate funding of over $1.5 billion to micro, small and medium businesses across the U.S., U.K. and Japan through short-term loans, with a total outstanding loan balance of about $400 million

Amazon Web Services is reaching $10 billion in annual sales

On outsized returns / risk taking: Given a ten percent chance of a 100 times payoff, you should take that bet every time

On corporate culture: The reason cultures are so stable in time is because people self-selec

http://www.sec.gov/Archives/edgar/data/1018724/000119312516530910/d168744dex991.htm

Categories
leadership other team work

Unplanned work

If you want to work hard and not have visible results to show consider tracking unplanned work. Unplanned work is the main reason for missing deadlines. Use Kanban to lay out your planned work for a week. Keep gate shut to all unplanned work.

Categories
leadership other people support team tools work

Bridging Tech-Business gap

Best way for Tech to bridge gap with the Business is to be helpful and to ensure that tech works 100% of the time.

How to be helpful? Organise knowedge sharing sessions with functional teams (finance, for example), focus on their needs and their core apps, show them how to use the tools to make their job easier. Do this to establish a baseline of Tech knowledge across organisation.

If you are a smaller business or have a developed support function, follow up with one to ones that can be between a few minutes to 30mins. Check user set up, show tools shortcuts, explain new tools use case. Use a check list to ensure consistency.

100% useful/works: Needless to say ensure that Tech works by making common tasks seamless: login, email, change password, file sharing, system updates, printing.

Categories
leadership other people team work

Get others involved

Add business users and other team members (data ops, for example) to stand ups. Resolve conflicts quickly, directly address bottlenecks while creating a sense of common team spirit.