My alma mater recently experienced yet another growth spurt, creating the School of Engineering and Computing. This evolved from the former Physics, Computer Science, and Engineering department, where I currently serve on the Industry Advisory Board as well as a mentor in the SEC Mentorship Program, and where I taught evening classes as an adjunct for 14 years. Today I wanted to ruminate over the long-running relationship I have with my university.
I attended Christopher Newport University after high school and met my future wife there. I finished my BS in Mathematics (Physics, CS minors) then went back for a Masters in Applied Physics. This latter was a really cool blend of instrumentation engineering, data acquisition, physics experimentation know-how, high performance computing, and embedded software controls engineering. The Masters work was more fun than I ever had in undergrad, owing mostly to my own interest in the field. There was a deep symbiosis between my employer at the time, Jefferson Lab, and the Masters program at CNU.
Right after graduation, the head of the department (future dean) pulled me aside to ask me to consider coming back to teach a class or two. The idea at once intrigued and intimidated me. I started out by trying Java Laboratory – no lecture, assignments are already provided – figuring that it would be a good entry-level teaching experience. I learned a great deal myself that first semester, about students, coding, and myself. I also sharpened my coding knowledge a great deal. It’s one thing to write a program. It’s quite another to look over someone else’s (often disorganized) code and spot the problem that’s causing an error.
Over the years I taught quite a few more courses. I like to think that I picked up quite a few of what the HR departments like to call soft skills. The value of these should not be neglected on any engineering team. In no particular order:
Documentation – Absolutely no-one likes to create documentation, and especially note at the rate at which it is needed in a fast-moving tech company. But you quickly learn to appreciate it when other teams in your organization document their products services in a detailed, clear, and organized way.
Coordinating with your Team – Explaining your work, and how it supports priorities, is a daily activity for any modern engineer. Junior engineers tend to simply state what activities they performed and in what order. More experienced engineers learn to structure their reports around something like the STAR format, where you describe the Situation, Task, Action, and Results of your top activities. We always explain the why behind our what.
Answering Questions – An engineer who can answer questions about their product will quickly become a resource for other teams. The names of helpful engineers get passed around within and across groups by word of mouth. On trick to answering questions effectively is to show some interest in the motives of the questioner. Always get context and find out what they’re trying to accomplish.
Mentoring and Onboarding – Everybody remembers their mentors. I was very pleased that, when I left Amazon, several of my colleagues reached out to thank me for my help and leadership when they were new to the group.
There are more. Maybe I’ll write about them in a future post.