Adam Sternberg began his path to engineering as part of Project MEGSSS in Broward County, Florida. (The principal curriculum developers and teachers for the Florida MEGSSS program founded IMACS in 1993 using the same Elements of Mathematics courses.) He went on to earn his B.S. in Electrical Engineering from the University of Maryland College Park and his M.S. in Electrical Engineering with a concentration in Digital Signal Processing from Florida Atlantic University. In his role as a software engineer for innovative companies such as AlliedSignal (now Honeywell) and RadiSys, Adam was responsible for developing software used with flight navigation tools and telecommunications products. He is currently a senior software engineer at Pace Americas. In his spare time, Adam has even been a volunteer teacher, sharing his knowledge of computer programming and university-level logic with elementary school students.
You were part of the first group of students in the Broward County MEGSSS program. What were your thoughts when you started progressing through the curriculum?
The MEGSSS curriculum (which has now evolved into the IMACS curriculum) was different from anything I had seen previously. In the standard honors math class, my friends were mainly doing more of the same material as the regular class at a faster pace. In MEGSSS, we covered the expected topics, but the majority of the time was spent learning concepts that students usually don’t see until college. In most math classes, theorems are stated as fact, and then students are expected to apply them. In MEGSSS, learning how to prove those theorems from principles proven earlier was an essential part of our education and resulted in us having a deep understanding and appreciation of the subject.
What knowledge and perspective did you gain during that time that influenced the career path that you took?
The subject matter from MEGSSS that helped the most was logic (predicate calculus). I found I always had an affinity with logic and the structure of proofs, and that made me comfortable with the process of coding in a high-level language, such as C or Perl. The MEGSSS/IMACS experience in general, with its emphasis on logical proofs building on previous theorems and axioms to explore new topics, evolved into an ordered approach to problem-solving that is the hallmark of a good engineer of any discipline.
Please describe what a software engineer does, big picture and day-to-day.
A software engineer is responsible for the design, implementation, and maintenance of a software product, whether it be a Web site, an app for a smartphone, or the radar on an airplane. This includes designing proper test cases for the product, and identifying and correcting bugs found in the product code. Software engineers are also often called on to make judgment calls in triaging bugs found during a test cycle and determining both the severity and the likelihood of a bug appearing in the field with a released product. As software and the equipment they run on are rapidly evolving, software engineers must also make sure that they are familiar with the latest trends in programming languages, algorithms, tools, and related technology.
In your experience, what kind of personality and/or non-technical skills makes a person well-suited to be a software engineer?
Good communication skills are vital to be able to explain technical details to a non-technical audience (such as customers or the sales team) because software engineers often work in a corporation and not a vacuum. Also, good detective skills (such as observing behavioral patterns) are vital to finding bugs. Finally, no one’s code is perfect, and colleagues and supervisors will find fault with an engineer’s design or code in a review, so a thick skin is also helpful.
What education, skills and training make for success in the job?
A Bachelor’s degree in Computer Science, Computer Engineering, or related field (such as Electrical Engineering) is vital, and a Master’s Degree is often preferred. As an engineer’s career progresses, tasks may become more senior in nature, so leadership, project management, and even mentoring skills are good to have. Structured problem-solving skills, like what students develop at IMACS, and solid design skills are vital.