Skip to content

Instantly share code, notes, and snippets.

View richkuz's full-sized avatar

Rich Kuzsma richkuz

  • LinkSquares
  • Amherst, NH
View GitHub Profile
@richkuz
richkuz / technical-expectations-engineering-managers.md
Created July 10, 2025 12:44
Technical Expectations for Engineering Managers

Technical Expectations for Engineering Managers

I did not use AI to write or review this. These are my own half-baked thoughts.

EMs own their team’s software development process.

EMs own the quality of their teams’ output.

EMs are responsible for ensuring the team works efficiently.

@richkuz
richkuz / awesome-engineer-venn-diagram.md
Created February 11, 2025 22:36
What makes an awesome engineer?

What makes an awesome engineer?

A simple way to visualize what makes a great engineer:

image
  • Strong technical acumen

  • Works well with others

@richkuz
richkuz / project-ownership.md
Last active February 1, 2025 14:42
Project Ownership

Project Ownership

So you recently volunteered or were assigned to be the project owner for a large engineering deliverable.

Here's a guide to help you succeed.

What's a project owner?

What does it mean to be a project owner? What are the expectations for the role? How to do it well?

@richkuz
richkuz / use-your-49-percent.md
Created February 1, 2025 14:21
Use your 49%

Use your 49%

In most software teams I've worked on I think about decision making this way:

  • Product Manager / Product Owner has 51% of the vote for what we choose to build.

  • Designer has 51% of the vote for how it looks.

  • Architect/Tech Lead has 51% of the vote for how it's built.

@richkuz
richkuz / only_office_react_python_docker_example.md
Created December 31, 2024 22:39
OnlyOffice DocumentEditor React and Python Example using forcesave and JWT tokens

I was able to render an OnlyOffice document in React using the OnlyOffice local document server running in Docker with a JWT key and token.

This version also supports saving the document to my server automatically or on-demand.

Issues solved with this example include:

  1. Succesfully loading a document hosted on my local Python flask app when the JWT token setting is enabled while running OnlyOffice document server in docker on Mac OSX.
@richkuz
richkuz / looker-min-max-datetime-calculation.md
Last active November 9, 2024 13:09
Compute max date time in a Looker calculation expression

In a Looker table calculation custom expression you can compute the max or min value of a date time object using an expression like this:

max(
  (100 * 100 * 100 * 100 * 100 * extract_years(${table.created_at})) +
  (100 * 100 * 100 * 100 * extract_months(${table.created_at})) +
  (100 * 100 * 100 * extract_days(${table.created_at})) +
  (100 * 100 * extract_hours(${table.created_at})) +
  (100 * extract_minutes(${table.created_at})) +
 (extract_seconds(${table.created_at}))
@richkuz
richkuz / effective-delegation.md
Created November 9, 2023 20:42
Effective Delegation

To delegate effectively to a new team, you have to explain the following:

  1. Context and goal
  2. Expected results
  3. What to do
  4. How to do it

As the team grows and they learn how to do the work, it become sufficient and appropriate to explain only the first three bullet points. As the team further progresses, you can communicate the first 2 bullet points and the team will figure out what to do and how to do it. Finally, with high performing teams/individuals, you can provide context and the goal, and the team defines the rest.

@richkuz
richkuz / jira-bookmarklet.md
Created October 25, 2023 22:20
Bookmarklet to create Jira issues with default values provided

Jira Issue Create Bookmarklet

This bookmarklet lets you pop the Jira "Create Issue" dialog with values pre-populated. You have to be on a Jira page for this to work.

Create a new Bookmark in Chrome:

Bookmark name: “whatever”

URL:

@richkuz
richkuz / jira-query-issues.graphql
Created June 16, 2023 11:49
Jira GraphQL API Query Issues with links
# Example Jira GraphQL API to fetch a Cloud ID, query for issues with JQL, and get issues with links, i.e. child issues
#
# Run this in https://developer.atlassian.com/platform/atlassian-graphql-api/graphql/explorer/
#
# In the GraphQL explorer UI, at the bottom, add these Request Headers:
# {
# "X-ExperimentalApi" : "JiraIssueSearch"
# }
#
query fetchCloudId {
@richkuz
richkuz / select-range.js
Created May 25, 2023 01:54
JavaScript to select a range of text in a paragraph excluding HTML markup
// Given an element, select a range of text given a start and end character position offset relative
// to the element's innerText, not counting any HTML markup in the element.
// Partial credit: https://stackoverflow.com/questions/16662393/insert-html-into-text-node-with-javascript
function injectMarkerIntoTextNode(node, startIndex) {
// startIndex is beginning location of the text to inject a span
let parentNode = node.parentNode;
var s = node.nodeValue;
var beforePart = s.substring(0, startIndex);