When I joined SAP Concur in 2015, I realized I would have an opportunity to grow my skills working with geo-distributed teams. Both SAP and Concur have engineering offices around the world, which was a new experience for me. I had dabbled in remote work over the years but I’d...
[Read More]
GraphQL is not OData
For a couple years, I’ve observed scores of developers making ill-informed claims about GraphQL. People have claimed that GraphQL allows the client to demand sorting, paging, and filtering from the server. People have claimed that GraphQL can result in execution of arbitrary queries or joins. People have claimed that GraphQL...
[Read More]
Book Review: The Nikola Tesla Puzzle Collection
I enjoy puzzles–especially math and pattern puzzles. I have a collection of various Rubik’s Cubes that I learned to solve without referencing any guides. I’ve worked through several books of Sudoku puzzles along with other math and pattern puzzle books.
[Read More]
Replacing Luxafor's App with OSX Automator and Keyboard Shortcuts
A couple years ago, we invested in Luxafor flag lights for everyone on the team. These lights are attached to our monitors and we communicate with each other using them. If someone's light is green, they are "free" and you're welcome to drop by and interrupt what they're doing. If...
[Read More]
Why do I hate this code?
During a recent code review, I gave feedback asking for code like the following to be refactored:
function getPreferenceLevelText(companyName, companyPreferenceLevel, segmentType) {
var preferenceLevel;
[Read More]