Howdy, I'm Eli, polyglot engineering leader with a specialty in iOS and Apple platforms. π
- π± I've been an iOS engineer since 2010.
- π I have a chatty Siamese cat named Atticus and a energy-filled Golden Retriever name Samson.
- πΎ I'm a big fan of RTS and FPS video games (currently playing: StarCraft 2, League of Legends, Call of Duty, CFB25). I fell in love with esports like StarCraft 2 and Dota.
- π» I enjoy brewed beverages like β and πΊ.
- Ask me your questions on Slack!
- Documenting things in GitHub is the best way to ensure a global team like ours is fully informed.
- I come from a project management background so I quite enjoy putting together issues, subtasks, sprints, epics, milestones, Gantt charts, or whatever else will help our team stay up-to-date across timezones.
- Please don't say just "hello" in Slack and wait for me to respond. Ask me your question and I'll gladly respond. If you just message me "hi" and nothing else, I assume I'm getting fired.
- I prefer talking in open channels rather than DM, so that all involved parties can be informed about what's going on. This includes not only public Slack channels, but discussions in places like GitHub issues, pull requests, and discussions as well.
- Default to the relevant public channel first. Only Slack DM if it's sensitive, personal or extremely off-topic.
- This gets back to the public communication bit. I might not be the one to fix your bug or implement your feature! Write it down so we all know where to go.
- Follow the thoughtbot code review guidelines
- Ask questions to clarify intent and/or grow understanding.
- Not sure how something works in a PR? Great! Please ask me questions about the code and I'm happy to write up a few sentences to clarify.
- Found a bug in existing code, and my name came up on the
git blame
? Sorry/you're welcome!- Submit a pull request to fix or address it, or
- Grab some time on my calendar to pair on correcting it, or
- Put some details together in an issue and let's improve it together.
I default to async communication, especially with our distributed team (from Berlin to SF and many timezones in-between).
In order of preference, sans urgency:
- Slack Public Channel
- GitHub Issue/PR/Discussion
- Zoom
- Slack DM (to directly me, via a group DM, or via a private channel)
For urgent things:
- Slack DM
- Zoom
What Motivates Me
I'm a stickler for nice abstractions, using the platform and delightful, lickable apps.
Getting your app, feature, blog post or whatever in the hands of our customers is extremely gratifying to me. Seeing customers affected by the things we build and ship makes me want to build and ship more.
I always want to improve, and I appreciate direct feedback in the moment. I might ask you for feedback after a meeting, presentation, pairing session or via Slack polls. If I don't, feel free to give me feedback about how I'm doing!
I love using the latest iOS APIs, bleeding edge technologies, and new gadgets. Expect me to bury my nose in WWDC sessions every June.
Sometimes, I enjoy a little boyscouting or KonMari in a codebase.
One of the most effective ways to run a meeting is to set an agenda. Joining a meeting with no agenda might leave me frustrated or unengaged.
If you scheduled time to be synchronous with me, we've both committed to putting aside whatever other async work we could be doing. Come on time, come prepared, or feel free to move the meeting to another day.
This changes a bit for 1-on-1s, as moving a 1-on-1 means that something else is more important than my time with you. If you need to move a 1-on-1 days in advance, that's great! If you need to move it 15 minutes before we meet, I'll feel frustrated by something else being more important than my time with you.
See also "Getting Started > Guidelines > Asynchronous Communication".
I have a low tolerance for hiding news or knowledge from teammates. Be transparent and don't sugarcoat things. If you can't find a great way to be transparent, reach out to me directly and I'm happy to work with you.
Do you have feedback for me? Something not working quite right? Let me know. Here's some tips on how to give me feedback.
I love direct feedback and continuous improvement. Tell me when I did something wrong, and I'll do my best to change my behavior the next time.
I quite enjoy and am motivated by public praise. I'm a sucker for a β€οΈ reaction on a comment or pull request.
If there's something I can do better, shoot me a Slack DM to let me know what I can do to improve.
See also "Troubleshooting > Be honest and direct"
My usual working hours are 8am-6pm MST/MDT, Monday-Thursday. I'm working 4-day work weeks, but still working 40 hours a week. Mondays are my focus days, and Tuesdays and Wednesdays are my meeting days.
If I am out-of-office on a Monday, or if a Monday is a public holiday, I'll shift my working days to be Tuesday-Friday, with Friday being an 6-8 hour day, to make up for a lack of personal focus time.
I'm based in Denver, CO, USA (UTC-07:00). I'm not a morning person, but my most productive hours are 10am-1pm.
If I'm out-of-office, chances are I'm not going to see or reply to your message. I often use out-of-office time to step away from software (see also: my contribution graph on weekends) and spend time letting my brain think about other problems.