Craig Boyle has a B.S. degree in computer science from URI, which he received in 1980. He studied computer science further at Worcester Polytechnic Institute and the University of Massachusetts. He has held several positions during his career and currently is Director of Software Development at BLI Messaging in Providence, Rhode Island.
FMC: What attracted you to computer science and made you decide to major in it?
CB: My high school offered a few classes in programming. I enjoyed the process of creating logic to get a job done, and I knew immediately that this what I wanted to study.
FMC: Your first position after receiving your B.S. degree from URI was as a system analyst with Aquidneck Data Corporation in Middletown, RI. How did you get this position, and what did you do?
CB: I learned of ADC through on-campus recruiting. I worked with assembly language for most of my time at ADC. We worked on Navy weapon systems development. One of my most interesting projects involved the sonar subsystem, where I learned a lot about underwater acoustics.
FMC: You stayed with Aquidneck Data for about three years. Why did you leave?
CB: I was getting married. My wife, Liz, had just started a job in Massachusetts, and it was easier for me to find a job in Mass. ADC was a great company. The teamwork, communication and morale were great. The management empowered the engineers to take responsibility for the development and test.
FMC: You’ve worked for an impressive list of organizations during your career. After Aquidneck Data, you were with System Development Corporation for almost a year, Technology Concepts for just over a year, Prime Computer for more than six years, Phoenix Technologies for less than a year, Digital Products for about a year and a half, Concord Communications for a year, US Robotics for three years, BigBand Networks for nine years, DAFCA for a year, and now BLI messaging.
Did your work change much as you moved from place to place?
CB: Starting with Technology Concepts and continuing through to BigBand Networks, I built a base of skills in computer networking. Thus, my work has been narrowly focused in the communications industry and specifically on routers. I have, however, attempted to work on multiple areas with the communications platforms in order to expand my skills. For example, my early work was in the protocols and drivers. Over time, I expanded my exposure to the network management infrastructure and user interface.
FMC: If you don’t mind, why did you change jobs so often?
CB: I was often times pursuing interesting work and building new skills. In addition, I am drawn to small companies, allowing me the opportunity to make a wider impact on the product. The downside with small companies is that they sometimes fail. However, for the most part, I was looking for new challenges.
FMC: Tell us about your present position, and how you fit in with what your company does.
CB: In my current position, I manage local and remote development groups. I am focused on improving quality and our ability to deliver on time and within budget.
The company provides a SaaS [Software as a Service, i.e., software deployed over the Internet] platform that other products can use to send voice, SMS [Short Message Service, i.e., text], and e-mail messaging. Thus, we have a set of APIs that other third party products can use to send messages.
When I joined the company, they were using a traditional waterfall methodology [for software development]. Their main complaints involved their failure to deliver on time, issues with product quality, and failure to get the marketing requirements correct. I immediately introduced an iterative development process, which increased visibility to the wider organization, helped the team deliver on time, and get the requirements correct. We are now moving to a true Agile Scrum methodology. Managing this transition to Agile—given our use of remote offshore groups—is not easy, but once we succeed I expect our productivity to increase.
FMC: Did your college education adequately prepare you for your first and current positions?
CB: I was definitely prepared for the early part of my career. My CS degree (1980) provided a very good base for embedded systems development. In addition, to my CS degree, I minored in Management Information Systems. MIS was a good mix of business analysis and project management. I did not use these latter skills for several years, but I eventually utilized them, as I became more involved in project management.
I think that the key for long term success is to continually improve your skills. Obviously, the industry is ever changing and, thus, the skills needed to compete in the job market need to change. So, we need to improve through learning on the job and through education. I continued taking classes after graduation, and I sought out jobs that would improve my skills.
FMC: How hard do you work? Does your career leave you with enough time to enjoy life?
CB: It is not a 9-5 industry. I definitely work hard, but I have tried to maintain a balance by always fitting in time for life and family. I have missed very few of the kid’s sporting events, partly because I am frequently involved in coaching them. I find that I cannot put 100% or more effort into work, week after week, unless I am also having fun on my personal time.
FMC: Can you give some advice to our current students?
CB: Be aware that you are measured by the quality of your work and how you communicate. As you develop code with fewer bugs, your productivity increases because you have less re-work. The most valuable engineers are the engineers that push to get it right the first time.
The other aspect is communication. Communicate with your manager and peers. Do not feel that you have to implement everything on your own. Your peers are there to help. As an example, Agile [methodology]encourages this very well by requiring three questions to be answered daily: what did I do yesterday, what do I plan to do today, and what problems do I have? Thus, our effort is visible to the team, and people can help us when we have problems.