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
design hacks patterns short startup tools

Early stage startup design resources

The Black Design resources let you conduct a meaningful user observation, engage in product design, and communicate value of your business.
http://www.black.design

Categories
code hacks

SQL query execution order

Since going back from Mongo/NoSQL to MySQL, I keep rediscovering the execution order of SQL query.  

Inside Microsoft® SQL Server™ 2005 T-SQL Querying

(8)  SELECT (9) DISTINCT (11) TOP <top_specification> <select_list>
(1)  FROM <left_table>
(3)       <join_type> JOIN <right_table>
(2)       ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  WITH {CUBE | ROLLUP}
(7)  HAVING <having_condition>
(10) ORDER BY <order_by_list>

The first noticeable aspect of SQL that is different than other programming languages is the order in which the code is processed. In most programming languages, the code is processed in the order in which it is written. In SQL, the first clause that is processed is the FROM clause, while the SELECT clause, which appears first, is processed almost last.

Each step generates a virtual table that is used as the input to the following step. These virtual tables are not available to the caller (client application or outer query). Only the table generated by the final step is returned to the caller. If a certain clause is not specified in a query, the corresponding step is simply skipped.

Brief Description of Logical Query Processing Phases

Don’t worry too much if the description of the steps doesn’t seem to make much sense for now. These are provided as a reference. Sections that come after the scenario example will cover the steps in much more detail.

  1. FROM: A Cartesian product (cross join) is performed between the first two tables in the FROM clause, and as a result, virtual table VT1 is generated.
  2. ON: The ON filter is applied to VT1. Only rows for which the <join_condition> is TRUE are inserted to VT2.
  3. OUTER (join): If an OUTER JOIN is specified (as opposed to a CROSS JOIN or an INNER JOIN), rows from the preserved table or tables for which a match was not found are added to the rows from VT2 as outer rows, generating VT3. If more than two tables appear in the FROM clause, steps 1 through 3 are applied repeatedly between the result of the last join and the next table in the FROM clause until all tables are processed.
  4. WHERE: The WHERE filter is applied to VT3. Only rows for which the <where_condition> is TRUE are inserted to VT4.
  5. GROUP BY: The rows from VT4 are arranged in groups based on the column list specified in the GROUP BY clause. VT5 is generated.
  6. CUBE | ROLLUP: Supergroups (groups of groups) are added to the rows from VT5, generating VT6.
  7. HAVING: The HAVING filter is applied to VT6. Only groups for which the <having_condition> is TRUE are inserted to VT7.
  8. SELECT: The SELECT list is processed, generating VT8.
  9. DISTINCT: Duplicate rows are removed from VT8. VT9 is generated.
  10. ORDER BY: The rows from VT9 are sorted according to the column list specified in the ORDER BY clause. A cursor is generated (VC10).
  11. TOP: The specified number or percentage of rows is selected from the beginning of VC10. Table VT11 is generated and returned to the caller.

Therefore, (INNER JOIN) ON will filter the data (the data count of VT will be reduced here itself) before applying WHERE clause. The subsequent join conditions will be executed with filtered data which improves performance. After that only the WHERE condition will apply filter conditions.

(Applying conditional statements in ON / WHERE will not make much difference in few cases. This depends how many tables you have joined and number of rows available in each join tables)

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.

Categories
code hacks Palantir

Jump start your B2B app build with Blueprint

Dare we say we are happy using Blueprint, a ReactJS components library, from Pantir after only 2 months of build.

Categories
behaviour hacks people

+ 80 IQ points

A change in perspective is worth 80 IQ points. Alan Key

Categories
career hacks sales

Cialdini’s Six Principles of Influence

  1. Reciprocity – looking after people
  2. Scarcity – capacity we only have 1 slot, I can get you if you give me your order
  3. Authority – knows everything, important in Tech field
  4. Likeability – get people to talk about themselves
  5. Social proof – who have done business with
  6. Commitment and consistency – would you look after my stuff, what’s preventing you signing the deal, if I fix this will you sign this order
    Also important are confidence and enthusiasm