Photo by Rich Roussel

Mentoring Future Engineers


I am privileged to say that over the last four years, I mentored a group of high school students wanting to experience STEM in a hands on way. The mission: create a robot in six weeks. The challenge: complete on time, under budget, and with a team who may not know one another. Sound familiar?

The First Robotics Competition (FRC) creates a real world experience in which an ordinary team of high school students are able to come together and innovate in ways not possible as individuals. FRC is about more than creating a working robot and two main principles guide the organization. Gracious Professionalism: “…a way of doing things that encourages high-quality work, emphasizes the value of others, and respects individuals and the community…” and Coopertition: “…competing always, but assisting and enabling others when you can”. How did FRC make it exciting for students? They created a game that is fun to play with a robot.

As a programming mentor for an FRC team (gratuitous plug for for my team, 172 The NorthernForce), one has the opportunity to inspire students so that they want to learn more about software engineering and encourage them to share that knowledge with others. It’s a chance to help budding software engineers learn how to become great software engineers, project managers, and more. Of course, this is easier said than done. One has to teach enough about a programming language’s syntax and grammar so that the students can interact with the robot application programming interface to make the robot function and teach them how to prioritize tasks. This all happens within the context of tight deadlines, budgetary constraints, and api changes – just like a real world project.  Being a mentor isn’t a solo act. It happens within a team of qualified adults who share their professional competencies throughout the process with the students. Our team is fortunate to have highly competent mechanical engineers, electrical engineers, and software engineers as mentors. We are also fortunate to have dynamic team coaches who lead us to success with their experience and dedication.

It is inspiring to see young engineers develop technical and leadership skills. I am amazed at how quickly they can assimilate complex concepts and put them into practice. My goal with each student is to teach them how to write clean and elegant code without picking up bad habits along the way. This is done by sharing best practices with the students. When they follow the best practices two things are clear about the code: it is more likely to work the first time, and it is easier to reuse.

It’s great when the students understand complex concepts or learn how to solve problems, but there’s something much bigger going on. I think the best way to capture the “bigger” experience is to describe what I find to be the most rewarding aspects of the mentoring process, mostly made manifest when we compete. Though students lack sleep and encounter problems that need solutions before the next match, they are willing to look for a spare part to help another team or assist another team with a programming issue that is preventing their robot from functioning. In addition, witnessing a shy student grow into a confident leader able to help other students learn and encourage them when things get challenging.

When I reflect on this experience, I can’t help but think about how I develop software at Art and Logic. It’s no surprise that what I share with the robotics students closely mirrors Art and Logic’s best practices.  That’s because the Art and Logic best practices work – they produce exceptional results. It’s exciting for me to see how these students get a glimpse of what it’s like to work with other developers who are as passionate about writing code as you are. This is similar to working at Art and Logic where everyone is passionate about writing exceptional software (of course at Art and Logic experts surround you rather than novices.) It is also encouraging to see how FRC reflects the Art and Logic ethic of partnering with our clients to produce something much greater than what is possible when working alone.

More About this Year’s Game

The name of the 2017 FRC game is First SteamWorks.  It’s a steampunk themed game where team alliances work together to accumulate points by carrying out specific functions on the field of play. This video is a more detailed description of the game.

You can also follow events live via the FRC twtich feed.

+ more

Accurate Timing

Accurate Timing

In many tasks we need to do something at given intervals of time. The most obvious ways may not give you the best results. Time? Meh. The most basic tasks that don't have what you might call CPU-scale time requirements can be handled with the usual language and...

read more