README for Jeremy Parker (he/him)
Hi, I’m Jeremy (JE-ru-mee).
I’m a software engineer at Cadence OneFive.
Who am I?
Away from work
I live in New York and I love the variety of people, restaurants, and entertainment that’s available here. I also like not depending on a car. I’ve managed to never own a car thus far, and it looks like I might be able to make it my whole life without one!
Before tech changed my life I had an addiction to making music. I lived in London for five years as a recording artist and touring rocker. I still like to make music with friends in my free time.
I’m a vegetarian, and like to stay fit. 2023 was a challenge for me because of some major health issues, but it looks like I’m back on track for 2025!
At work
I got my start in software working on music production tools, then moved into music-driven video games (including Rock Band games, and mobile games like Draw Something). I’ve worked on native desktop applications, apps for mobile devices and game consoles, and most recently (10 years ago 😬!) I got into web development.
I like making things.
I’m not good at retaining lots of information, so I try to keep things simple and leave bread crumbs for myself. If you ask me about a line of code I wrote a month ago, I’ll have no idea. If I’m going to work on a gnarly mess of code, I’ll have to start by refactoring it and making it readable. I like test driven development. I delete dead code. I’ve been described as a “code janitor”.
I like to solve problems at the root rather than patching the symptom, but I understand that startup business requirements often necessitate a hack rather than a lengthy refactor. The fact that we’re still in business means we can’t judge existing hacky code too harshly!
Also, I am a mistake maker. I have always made mistakes, and in the future I will make mistakes. If anyone has a secret magic spell that can prevent me from making mistakes, please share it! Meanwhile, please count on me making mistakes.
Goals
Learning goals
I’m eager to learn more about machine learning, AI and data science generally. There’s always so much to learn, and I’m usually happy digging into whatever presents itself.
Career goals
At this point in my life I’m trying to have an impact with the work I do. I’d like to leave the world in a better state than I found it, even if only in some small way.
I’d like to get into helping manage teams. I like harnessing the power of teamwork to move faster. I think my early experience with a band established my entrepreneurial mindset, and love of making things as a team. I love to witness when all the parts snap together to create something amazing that we created from our brains!
Ways of working together
By far the best tool I’ve seen for improving team velocity is the retro meeting. It’s the build-measure-learn loop of a team. The key ingredients are:
-
gamify the process. A set of rules that govern interactions can reduce the biases of introvert/extrovert personalities, etc.
-
round-robin the facilitator. With a clear set of rules, anyone can run the meeting. This maintains a peer-to-peer team focus, rather than workers vs management.
-
of course, make sure to document the decisions, and follow up on them at the next retro.
I’m a big fan of pairing - pair programming and pairing on anything! I always learn something, even from the most inexperienced team members.
You can lean on me to…
Think through a difficult algorithm, or evaluate multiple possible implementations of a feature. These are the fun puzzles to solve.
I’m a low-information person, so I’ll have no idea what that setting in Nginx does.
I’m good at giving a thorough and timely code review.
How to support me as we work together
I’m happy to follow conventions, so if there are conventions I’m ignoring, please inform me.
I like to feel included. Even if I can’t keep up with what’s happening on every project, I like to know what projects are happening. Public Slack channels are great for this.
I prefer to feel like I’m on a team rather than on a solo mission.
Since I make mistakes, please check my work. Help me validate my assumptions. Build safety nets, so my mistakes don’t tank the project.
I’m my best self on a team when…
I work best when we have a common focus. If I’m working on project A, and you’re on project B there’s a big context shift when it’s time to code review. Also there’s more friction around discussing a problem. If we’re focused on the same thing, we become greater than the sum of our parts. (Disclaimer: there’s such a thing as too focused, e.g. if we’re stepping on each others’ toes. Retro meetings can help find that sweet spot).
Feedback preferences
I prefer to get feedback in real time: in person or on a videochat. If we remember that our goal is to be the best team we can be, constructive criticism can be a great help. It’s like someone giving me the answer book for how to be a better team member! Of course, I love to hear positive feedback, but it seldom helps me improve - it merely feels good. Telling me I screwed up with no help will not be helpful. As mentioned above, we already know I make mistakes. What will be helpful is figuring out how the mistake was made, and coming up with ways to avoid making similar mistakes in the future.
Technical preferences
I’ve been an OSX user since I made the jump to Mac. I recently made friends with Javascript, but I wouldn’t call it a good language. Python is great. I learned on compiled languages, so I also like Go, Java and C++. 2024 was my first year using PHP. That’s all I havwe to say about PHP.
Schedule and availability
I’m in EST timezone, and I tend to work 10am - 6pm. Of that time, the later hours are my most productive. If I have a lot of momentum on something, I may continue working on it into the night until it’s done. That doesn’t mean I’m not available for interactions in the later hours - I still enjoy human contact! But for longer meetings that require a context shift, I work better if those are in the morning. Also, I find it motivating to check in with the team in the morning.
Thanks for reading. Feel free to say hello on Slack!