Financial Infrastructure · DevOps · Boston

Engineering inside
financial services.

Ten years across private equity, retail, and asset management. Real technical experience covering infrastructure, cloud, security, and trading systems. Written plainly to help other engineers navigate this world.

Michael Harlow
Michael Harlow // sys.ghost  ·  Boston, MA
☕ Buy me a coffee
Latest post
APL has outlived five parent companies and kept its name through every one of them. It's one of the oldest continuously-running platforms in the SMA/UMA space, and its history says a lot about how this whole corner of fintech actually consolidates.
Aug 11, 2026 · 11 min read
Read →
All posts

Archive

← Back to posts
Personal Jun 7, 2026 · 10 min read

Teaching a Robotics Course at the YMCA: What Giving Back in Tech Actually Looks Like

Teaching a Robotics Course at the YMCA: What Giving Back in Tech Actually Looks Like

Twelve weeks ago I agreed to run a Saturday morning robotics course at the YMCA three blocks from my apartment. I said yes for reasons that were a little vague even to me at the time. Something about giving back, something about kids and STEM, something about the fact that nobody had ever done anything like this for me when I was ten and I thought maybe that mattered.

What I got was twelve of the strangest and most satisfying Saturday mornings I can remember. This is an account of what actually happened, what I learned, and what I think about the question of giving back in technology careers now that I have done it in a concrete way.

How it started

I have lived in the same neighborhood in Boston for four years. The YMCA on my street runs programs for kids and teens throughout the year: swimming, basketball, after-school tutoring, summer camps. I had walked past it hundreds of times.

Last fall they put up a notice looking for volunteers to lead STEM workshops. I emailed them mostly on impulse, mentioned that I was a systems engineer, and said I was interested in running something around robotics or technology. The program coordinator called me back two days later. She was warm and direct and clearly experienced at converting vague volunteer interest into actual commitment. Within a week I had agreed to a twelve-week Saturday morning course, ten kids, ages ten to fourteen, beginner level, no assumptions about prior experience.

I then spent about three weeks wondering what I had agreed to.

Building the curriculum

I have explained technical concepts to non-technical people for most of my career. I have sat through enough painful all-hands presentations to know what does not work. But explaining Kubernetes to a CFO is different from teaching robotics to a ten-year-old, and I had to think carefully about what the actual goal was before I could design toward it.

The goal I settled on was not teaching robotics in any comprehensive sense. It was giving kids a concrete experience of building something that responds to the real world. A program they wrote that made a physical thing move or stop or change based on input. The gap between "I wrote code" and "that thing over there moved because of what I wrote" is, I think, one of the most formative moments in a young person's technical education. I wanted to create that moment for as many of them as possible.

We used LEGO Mindstorms EV3 kits, which the YMCA already had from a previous program, and Scratch-based visual programming to start before moving to some basic Python in the later weeks. The kits are well-designed for this purpose: you can build something physically solid in 30 minutes that is then ready to be programmed, the sensors work reliably, and when something goes wrong it is usually obvious why.

My curriculum broke down roughly like this:

Weeks 1 and 2: what a computer actually is. Not in an abstract sense. We talked about input, processing, and output as concrete things. A keyboard is input. A screen is output. The processor is the thing in between. Then we built the simplest possible robot: a wheeled platform that moved forward for three seconds and stopped. The programming took about ten minutes. The reaction when it moved was worth the three weeks I had spent planning.

Weeks 3 through 5: sensors and decision-making. We added an ultrasonic distance sensor and programmed the robot to stop when it got within a certain distance of an obstacle. Then we added a color sensor and made it respond differently to different colors on the floor. The concept I was trying to introduce was conditional logic: if this, then that. I did not use those words at first. We called it "giving the robot rules," which is functionally the same thing.

Weeks 6 through 8: loops and repetition. We built a simple line-following robot, which requires the program to continuously read a sensor and continuously adjust the motors based on what it reads. This introduced the idea of a loop, the idea of variables, and the idea of a program that runs continuously rather than doing one thing and stopping. Several of the kids had trouble with this conceptually and we spent extra time here, which was the right call.

Weeks 9 through 10: introducing Python. I moved the older kids (12 and up) to a simple Python environment while keeping the younger ones in the visual programming tool. The older kids wrote a Python script that controlled the robot's motors directly. The transition was harder than I expected, not because of Python itself but because the visual tool had abstracted away a lot of the detail that Python requires you to be explicit about.

Weeks 11 and 12: the build challenge. Teams of two or three designed and built a robot to solve a specific task: navigate from one end of a marked track to the other, avoid three obstacles, and stop in a designated zone. They had two weeks to design, build, program, and test. Week 12 was the demonstration.

What actually happened in the room

My plan was solid and I deviated from it constantly, which is probably the right way to know a plan is solid.

The kids were not a homogeneous group. Two of them had done some programming before, one in Scratch and one in an online course. Three of them had no prior experience with anything resembling programming and approached the first session with visible skepticism about whether this was going to be interesting. Several were primarily interested in the physical building and had to be nudged back toward the programming. One kid was the opposite: he wanted to write the program first and build the physical robot around it, which is a genuinely interesting instinct that I tried to encourage rather than redirect.

The most useful thing I did in the first two weeks was not explain anything. I put the kits in front of them and said: build something that can roll. No instructions. Just the pieces and the manuals if they wanted them.

The result was chaos that was also productive. Kids who had never worked together before were immediately arguing about which piece should connect where. They were making mistakes, correcting them, making different mistakes. By the end of the session every group had a rolling platform of some kind, none of them identical, all of them functional enough to proceed.

What I learned from this: the instinct to lead with explanation is usually wrong when the audience is kids. They learn faster from building the wrong thing and understanding why it is wrong than from being told the right approach before they have any context for why it matters.

The hardest sessions were the ones where something did not work and I did not know immediately why. There was a session in week seven where the line-following programs were behaving inconsistently and I spent twenty minutes debugging before realizing that the lighting in the room had changed from the previous week and the color sensor was reading different values. This was genuinely educational for me as much as for them. Debugging a sensor calibration problem is not conceptually different from debugging a network configuration problem. The method is the same: isolate the variable, change one thing, observe the result, form a hypothesis, test it.

I walked through that debugging process out loud, narrating what I was thinking and why. I think this was more valuable than any planned lesson I delivered.

The build challenge

Week 12 was the one I had been both looking forward to and slightly dreading.

Four teams, four robots, one track. I had set up the course in the YMCA's gym with colored tape on the floor and three cardboard obstacles. A few parents had come to watch, which I had not fully anticipated and which added stakes I had not planned for.

Every robot completed the course. This was not guaranteed. Two of the four had significant problems in the final practice run the previous week and both teams had done visible troubleshooting between sessions. When the second robot completed the course on its second attempt, with a kid walking alongside it and audibly counting down the distance to the stop zone, the room made a noise that I was not prepared for.

The kid who had wanted to write the program before building the robot -- his team's robot ran the course cleanly on the first attempt. He spent the rest of the afternoon telling everyone exactly what each line of his Python script was doing.

What I actually think about giving back in tech careers

I went into this thinking I was doing something charitable. I was providing access to a resource that would otherwise cost money. I was sharing expertise with people who would not otherwise have access to it. These things are true and I do not want to minimize them.

But the experience of teaching is not primarily an experience of giving. It is primarily an experience of being forced to understand things clearly enough to explain them, being confronted with perspectives and questions you had not anticipated, and watching people build mental models in real time.

I understand certain things better now than I did twelve weeks ago. I understand what the actual cognitive barrier to conditional logic is for someone encountering it for the first time, which has changed how I think about explaining technical concepts to non-technical colleagues at work. I understand the debugging instinct more clearly from having had to make it legible to kids who had not developed it yet.

The question of access is also real and worth saying plainly. The neighborhood the YMCA serves is economically mixed but skews working-class. The kids in my class came from households where enrolling in a paid robotics program would have been a real budget decision. The ones who showed the most aptitude and curiosity in the room were not the ones from the most resourced backgrounds. Talent and interest are not concentrated where money is, which is obvious when you say it and easy to forget when you spend most of your time in professional environments where they appear to be.

I do not think one twelve-week course changes much structurally. But I watched a kid who had never touched programming run a working Python script, debug it himself when it misbehaved, and explain to his parent exactly what it was doing. That is not nothing.

Practical notes if you are thinking about doing something similar

I am running the course again in the fall and I have thought about what I would do differently.

Start with something that produces visible output within the first fifteen minutes of the first session. The moment where something moves or lights up or makes a sound because of what the student wrote or built is the moment that hooks people. Everything you plan to teach should be downstream of that moment, not upstream of it.

Design your sessions to go over time and have a hard stop anyway. Every session I planned for 90 minutes and ran 95 to 100. Having a clear stopping point that you enforce regardless of where you are forces you to prioritize and it respects the kids' schedules.

Find out what each kid actually wants to build on the first day and try to connect it to the curriculum at some point. Three kids in my group were primarily interested in robots that could navigate mazes. One wanted to build something that could detect and avoid people. One wanted to build a robot arm. I could not accommodate all of these within the curriculum, but acknowledging them and connecting the actual content to those interests wherever possible kept engagement higher than it would have been otherwise.

Do not explain more than necessary before letting them try something. This is difficult if you are a person who understands something well, because the impulse is to give people all the context they need before they start. Kids do not need all the context before they start. They need enough to take a first step, and then they need to be allowed to take it.

What comes next

The fall course starts in September. I have talked to the program coordinator about potentially running two parallel tracks, one for the 10 to 12 age group and one for 12 to 14, so the older kids can spend more time with Python without slowing down the younger ones who are not ready for it.

I have also been talking to a colleague who teaches data visualization at a community college about whether there is a version of this for adults re-entering the workforce, specifically around automation and what it actually means for the kinds of jobs it is replacing. That is a bigger and more complicated project and I do not know yet whether it will happen. But the experience of teaching the YMCA course has made me more confident that I have something useful to contribute in that direction, which was not something I was confident about before.

If you are an engineer with domain expertise and a few free Saturday mornings, I would encourage you to look for something like this. The returns are not the kind you plan for when you sign up.

Found this useful?
☕ Buy Michael a Coffee
← More posts

Hey, I'm Michael Harlow.

Senior Systems Engineer · Boston, MA · Writing as sys.ghost

I have spent over a decade building and maintaining infrastructure at the intersection of technology and financial services. My career has taken me through three distinct sectors -- technology, private equity, and asset management -- and each one changed how I think about what reliable infrastructure actually requires.

I started in general IT, which is where most engineers who did not go straight into software end up. Data centers, networking, on-call rotations, learning to label cables properly because unlabeled cables are a promise that someone else will suffer later. The work taught me that almost every sophisticated system is, one layer down, a collection of unglamorous fundamentals that either hold or do not. I still believe that. I still label everything.

Private equity came next, and it was a different world. The infrastructure stakes there are less about uptime and more about data integrity. When deal teams are making acquisition decisions based on data you are responsible for, and when a due diligence process has a hard deadline that does not move regardless of what broke overnight, your relationship with reliability changes. A wrong number in an LP report does not cause an immediate incident. It causes a conversation in a partner meeting six weeks later, and by then you need to reconstruct what happened from imperfect records. I became obsessive about data provenance in PE and I have not stopped.

For the past several years I have been in asset management, supporting trading and investment operations infrastructure. This is the environment I find most technically interesting. The compliance requirements are demanding, the legacy systems have long institutional memories, and the tolerance for operational errors is genuinely low -- not just in terms of business impact, but in terms of regulatory consequence. When markets are open, there is no fixing it after the weekend.

I started Packet & Profit in January 2026 because I kept looking for the kind of writing I wanted to read and finding it mostly did not exist. There is a lot of content for engineers online. There is much less written by engineers working specifically inside regulated financial services firms, being honest about what that actually involves day to day. The compliance conversations, the legacy constraints, the incident management in front of stakeholders who measure downtime in dollars per minute. That is what I write about here.

Outside of work I have been running a Saturday morning robotics course at my local YMCA for kids aged 10 to 14. It is one of the better decisions I have made.

Certifications

Red Hat Certified Engineer (RHCE)
Certified Kubernetes Administrator (CKA)
AWS Solutions Architect -- Associate
CompTIA Security+
HashiCorp Vault Associate

My Stack

RHEL / Ubuntu
Kubernetes
OpenShift
Terraform
Ansible
Prometheus
Grafana
Python / Bash
AWS / Azure
Cisco / Palo Alto
PostgreSQL
Redis
HashiCorp Vault
Fluent Bit
Helm
ArgoCD

Career

2022 -- Present
Senior Systems Engineer, Asset Management -- Boston, MA
Leading infrastructure for trading operations and investment management systems. Responsibilities span network security, cloud migration strategy, Kubernetes platform engineering, and incident response. Deeply involved in T+1 settlement infrastructure work and the shift from overnight batch processing to near-real-time event-driven architecture.
2018 -- 2022
Systems Engineer, Private Equity -- Boston, MA
Built and maintained data infrastructure supporting deal teams, portfolio monitoring, and investor reporting. Managed infrastructure through multiple due diligence cycles with hard deadlines and high data integrity requirements. Led a major data platform migration from on-premises to cloud-hosted infrastructure, including security controls satisfying LP and regulatory requirements.
2015 -- 2018
Infrastructure Engineer, Retail Technology
Supported inventory management, real-time pricing, and supply chain integration systems across a high-SKU retail environment. Operated under peak load conditions where scale was a concrete engineering problem rather than an abstract one. Built out monitoring and alerting infrastructure from scratch and managed a full data center relocation.
2013 -- 2015
IT Engineer, Technology Sector
Established the professional fundamentals: data center operations, network infrastructure, endpoint management, and the on-call rotations that teach you more about system fragility than any textbook. Developed an appreciation for cable labeling that has never left me.

Get in Touch

If you are an engineer working in financial services, curious about the career path, or have a question about something I have written, I would genuinely like to hear from you. Use the and I will get back to you. If something here has been useful, a coffee is always appreciated.

A note on anonymity: I write under my own name but keep my current employer private. The financial services industry is small, the regulatory environment is real, and I want to write honestly without those constraints. All incidents and case studies on this site are anonymised. The technical content is real; identifying details are not.
Get in touch

Contact

Whether you are an engineer in financial services, have a question about something I have written, or just want to say hello - feel free to reach out. I read everything.

Powered by Resend · No spam, ever

Legal

Privacy Policy

Last updated: April 2026

This policy explains what information Packet & Profit collects when you visit this site, how it is used, and what choices you have.

Information We Collect

We do not require you to create an account or provide personal information to read this blog. The only personal information we collect is what you voluntarily submit through the contact form: your name, email address, and message. This information is transmitted via Resend and used solely to respond to your enquiry.

Google AdSense and Advertising

This site uses Google AdSense to display advertisements. Google AdSense uses cookies and similar tracking technologies to serve ads based on your prior visits to this and other websites. This means Google may use information about your visits to this site to show you personalised ads on other sites across the web.

You can opt out of personalised advertising by visiting Google Ads Settings, aboutads.info, or optout.networkadvertising.org. See Google advertising policies for more.

Cookies

This site uses a single first-party cookie to remember your theme preference (light or dark mode). This cookie contains no personal information. Third-party cookies may be set by Google AdSense for advertising purposes as described above.

Analytics

This site does not currently use any analytics platform beyond what Vercel provides as part of its standard hosting service (aggregated, anonymised traffic data).

Contact Form

When you submit the contact form, your name, email address, subject, and message are transmitted to the blog author via Resend. This data is not stored by this site and is not shared with any third party beyond Resend. See Resend's privacy policy for details.

Third-Party Links

Posts on this site may link to external websites. We are not responsible for the privacy practices or content of those sites.

Your Rights

If you have submitted a message via the contact form and would like that information removed, or if you have any questions about this policy, please use the contact form to get in touch.

Changes to This Policy

We may update this policy from time to time. The date at the top of this page reflects when it was last revised.

Legal

Terms of Service

Last updated: April 2026

By accessing and using Packet & Profit (www.packetandprofit.com), you agree to be bound by these Terms of Service. If you do not agree, please do not use this site.

Use of Content

All written content, illustrations, and code examples published on this site are the original work of Michael Harlow unless otherwise stated. You are welcome to share links to posts and quote brief excerpts (with attribution), but you may not reproduce full articles, copy content to other websites, or use the content for commercial purposes without written permission.

No Professional Advice

Content published on this site reflects personal opinions and professional experience. It is provided for informational and educational purposes only. Nothing on this site constitutes financial, investment, legal, or professional advice of any kind. See the for more detail.

Third-Party Links

This site may contain links to third-party websites. These links are provided for convenience and do not constitute an endorsement of the linked site or its content. We have no control over and accept no responsibility for external sites.

Advertising

This site participates in Google AdSense, which displays advertisements from third-party advertisers. The presence of an advertisement does not constitute an endorsement of the advertiser's products or services. Ad content is determined by Google based on the content of this site and your browsing history.

Accuracy of Information

While we make every effort to ensure the accuracy of information published on this site, technology and financial markets change rapidly. Information that was accurate at the time of publication may become outdated. We do not warrant the completeness, accuracy, or timeliness of any content on this site.

Limitation of Liability

To the fullest extent permitted by law, Packet & Profit and its author shall not be liable for any direct, indirect, incidental, or consequential damages arising from your use of, or inability to use, this site or its content.

Changes to These Terms

We reserve the right to update these terms at any time. Continued use of the site following any changes constitutes your acceptance of the revised terms. The date at the top of this page reflects the most recent revision.

Contact

If you have questions about these terms, please use the .

Legal

Disclaimer

Last updated: April 2026

Packet & Profit is a personal blog written by Michael Harlow, a Systems Engineer based in Boston, MA. The views expressed here are entirely his own and do not represent those of any employer, client, or organisation he is affiliated with.

Not Financial or Investment Advice

This site discusses financial services technology, investment management infrastructure, and related engineering topics from a technical practitioner's perspective. Nothing published here is financial advice, investment advice, or a recommendation to buy, sell, or hold any security, asset, or financial instrument. The author is not a registered financial adviser, broker, or investment professional.

Content that references financial markets, trading systems, or investment firms is provided for technical and educational context only. Any figures, case studies, or examples are illustrative and should not be relied upon for financial decisions.

Not Legal or Professional Advice

Nothing on this site constitutes legal, compliance, regulatory, or professional advice. Readers should consult qualified professionals for advice specific to their circumstances.

Professional Experience

Posts on this site draw on the author's professional experience in systems engineering across private equity, retail technology, and asset management. Specific details about employers, clients, projects, and colleagues have been anonymised or generalised. Any resemblance to specific organisations is incidental.

Accuracy

The author makes reasonable efforts to ensure published information is accurate at the time of writing. The technology and financial services landscape changes quickly. Readers should verify any technical or regulatory information against current primary sources before acting on it.

Affiliate Links and Advertising

This site displays advertisements through Google AdSense. The site may also contain links to tools, services, or products that the author uses or finds useful. These are not paid endorsements unless explicitly stated. The author's opinions are his own and are not influenced by advertisers.

Questions

For questions about anything on this site, please use the .

This site uses cookies for theme preferences and displays ads via Google AdSense, which may use cookies to personalise ads.