by Scott Gardner
Senior Software Engineer
I’ve been a software engineer for more years than I care to remember (or than I’m willing to say). My experience includes embedded microcontroller-based applications, database and accounting software, and GUI development. I’ve always been interested in controlling hardware with software but the semiconductor industry and factory automation was not part of my experience. When I became part of the team in May, I was excited to get started, but also somewhat apprehensive. I was concerned about how quickly I would be able to learn all the new material and become a productive member of the team—a daunting task when you consider I had to learn both the new industry and code base. I was prepared to spend many extra hours coming up to speed.
My first day at Cimetrix began with Boot Camp. It seemed like everyone was talking about or working on something to do with Boot Camp. I didn’t know what it was but it sure had everyone busy. It didn’t take long to realize that Boot Camp was all about training.
This was training in a way I had never experienced before. People from different companies came from all over the country to Cimetrix—our own little United Nations, you might say! One thing that immediately impressed me was the level of enthusiasm among all involved.
We were introduced to the industry and the science. The physics involved is mind boggling! It was very cool to get to touch a real wafer while learning how they were made. This was training that included not only theory but also practical application—it was very hands on.
The software was equally impressive. Of course we went through the standard installation and demos but that was just the start. The entire CIMControlFramework architecture and tool control design process was laid out, and the trainers presented us with a series of labs that progressively got us deeper and deeper into the Cimetrix software, not only the CCF tool control product, but also CIMPortal (for Interface A) and CIM300 (for GEM 300 connectivity). The best thing about the labs is that by the time we had worked through them we not only had a working system we also knew how the system worked. I still use my completed labs today.
Agile was introduced in a gentle but accelerated way. We did scrum standups twice a day and a retrospective daily. We learned what makes a good user story and how to handle product backlogs and spring planning. We each got to keep a deck of planning poker cards.
Remote collaboration was also given a serious look. We learned how to use a number of tools in order to communicate effectively with each other and plan sprints. This part of the training brought everyone together as a team and how we need to communicate with the “Product Owner”, who is often the project leader employed by our customer.
I’ve seen quite a few approaches to development but this was a very different experience for me. It was obvious that these guys take training seriously. This was training the way training was meant to be done!