Skip to content
View bjanusek00's full-sized avatar
๐ŸŽฏ
Focusing
๐ŸŽฏ
Focusing

Block or report bjanusek00

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
bjanusek00/README.md

Hi there ๐Ÿ‘‹

My name is Benjamin G. Janusek

My Operating Manual

Below are some of my core thoughts on creating products. This document will change over time as I encounter new situations and come across new experiences.

Balance

"Everything in moderation, including moderation" ~ Oscar Wilde

Most problems that arise within a team or product can be solved through some reasonable middle ground. Some examples:

  • Have a particularly nasty bug in your product? A quick bandaid fix to make the customer happy followed by a longer term, more robust fix is probably the best approach.

  • Accumulating a lot of tech debt? Start mixing in work to pay down tech debt alongside of new features. Generally I've found you don't need as many new features as you think, and your customers will be just as happy with a stable, simple product than one with too much functionality anyways.

  • Need to add a large, new feature? Breaking it down in to separate, smaller features that can be released over time will always be better than spending numerous months without shipping something. Many of the general approaches outlined in Shape Up (specifically around managing "appetite") are useful here.

It's worth noting that this is also true for work/life balance. Sometimes life gets in the way of work and sometimes work gets in the way of life. Occasionally, extra hours are needed to get a large release out the door, but those times should be the exception not the rule.

Raw Honesty

We're all adults. Both giving and receiving constructive feedback with raw honesty is crucial to having a mutual understanding and working towards working better together. Egos should be left at the door.

Coding Philosophy

Stable and boring is better than flashy and new

I'll almost always opt for tried and tested components of software over something that may be new and flashy. Most problems (scalability related, bugs, etc) that would come up with pieces of software that have been around longer will most likely have already been solved by someone, somewhere with useful information readily available online.

Use the right tool for the job

This sort of goes hand in hand with the previous point. Using a new NoSQL technology might sound exciting and fun, but I'd rather use a relational database if that's all that's needed to solve a particular problem.

Keep it simple, stupid (the KISS Principle)

Simple solutions to problems makes everything easier and less stressful. Onboarding new engineers won't require learning large, overly complex systems. Your product will be more stable. This applies to everything from how an infrastructure is configured to how code is organized.

Other Things I Enjoy

Pinned Loading

  1. moz-todo-react moz-todo-react Public

    Sample todo app built with the React/ReactDOM framework.

    JavaScript

  2. BubbleSortApp BubbleSortApp Public

    BubbleSortApp in Java

    Java

  3. BinaryTree BinaryTree Public

    BinaryTree in Java

    Java

  4. pascals_triangle pascals_triangle Public

    Pascal's Triangle in Python:

    Python

  5. Queue Queue Public

    Queue in Java

    Java

  6. Stack Stack Public

    Stack in Java

    Java