Personal Problem Solving Template

1 min read

I reminded the team that it’s important to create and use your own Problem Solving Template. This should be based on your strengths and weaknesses as an engineer. I highly recommend reading chapter 1 and 8 in the book Think Like a Programmer.

At the moment, my template is RIEBOC looks like this:

    - Restate the problem in my own words

    - Write all the inputs
    - len(names)=[0, 1000], len(names[i])=[1,50], names[0][i]={lowercase}

    - Write pseuducode functions with expected inputs and outputs
        - Example: get_user(name: 'Greg') -> User{name: 'Greg',...}
    - Remember to test null, "", [], ['single item'], [1, 2, 3,...], etc.

Brute force:
    - What's the dumbest thing I can do to meet the requirements?
        - I emphasize "dumbest" because Engineers love to over-engineer

    - Space time complexity
    - Readability and maintainability

    - Write functions, DB columns, services, etc., required for the task
Written on October 3, 2022

The opinions expressed here are my own and do not reflect any individual or organization from my past or present.


My newsletter will inspire you and boost your software engineering skills - subscribe now!