Field of Study: 
Computer Science

I have dyslexia, which, as a child, not only impeded my ability to read, but made me often see and interact with information in a different way.

I went to Goshen College and received a bachelor of arts degree in computer science. During high school and college, I had a variety of technical internships at companies including Microsoft, NASA, IBM, and 3Tier Group. These experiences taught me how to learn on the job, collaborate with others, take on new tools and technologies, and solve problems. In the field of computer science, there are always new technologies so learning and problem solving are two constants. This makes being able to learn and grow on the job a critical skill to have.

I am currently a software architect for a consulting company called Digital Foundry. I work closely with clients to understand exactly what they need and with teams to design and build custom solutions to meet those needs. Over the years, I have worked across a broad range of technologies and languages including Go, Java, C#/.Net, JavaScript, and ObjectiveC. This role has also given me the opportunity to work across a broad range of industries  including government, bio-medicine, and finance.

My job is highly technical including designing system architectures, and writing and reviewing code. At the same time, one of the most important skills I bring to the role is a strong ability to communicate. As important as the technical skills are, communicating clearly with both developers and clients who are experts in their respective fields is central to my job. My ability to work with people without software backgrounds to understand their business needs, processes, and requirements allows me to make sure I am working with them and the team to provide them with the system that they need even when they may not know what that is at first.

My strong technical skills in combination with my ability to effectively communicate with people from a broad range of skill sets is what allows me to be good at this job. Through this work, I also get the opportunity to work with a many younger engineers and coach them on how to be strong developers, communicators, and leaders.

What did you do in college to prepare for your career?

Internships gave me invaluable hands-on experience in the industry and taught me how to learn a new organization and get up to speed on a new team. I received hands-on experience in everything from software testing and development to performance tuning and benchmarking. I was given an amazing window into how each of the organizations work and an opportunity to see what I liked and disliked at each organization. In all of my internships I was a contributing member of the team with substantive projects that allowed me to improve my technical skills and contribute real value to the organization. I was also able to get a sense of what the people around me did all day and how they fit into the organization.

In the classroom environment, along with all the normal computer science curriculum, I also took a variety of classes outside the department in humanities related topics which absolutely helped my writing and communication skills.

Does your disability affect your career?

Having spelling checker tools are incredibly important when I write documentation and code. I also generally run important writing by a second person for review, but that’s good advice in general. Despite the challenges it presents, I think my experience with dyslexia has made me good at thinking about problems and components in terms of the systems they are a part of rather than just individual pieces, which is a major benefit in my job.

What can I do while I’m in high school if I want to pursue a career in computing?

The single most important thing students can do to prepare for a career in computers is to develop their critical thinking and analytical skills. We live in a world that is changing rapidly. Especially in technology fields, the cool tool is always changing and the languages and software taught in the classroom are often not the same as what industry is using—this makes it an incredibly exciting field to work in, but means that while mastery of specific tools and technologies is good, it is more important to know how to think critically about problems and possible solutions as those skills are far more transferable to new tools and languages.

Students should also develop the ability to effectively communicate and learn. In technology, the ability to communicate is incredibly important—listening, speaking, and writing well are paramount. These skills allow one to understand what the client or end user needs and then communicate back to them about how to move forward in order to help them meet their goals.

What does it take to be a computing professional?

I think of myself as a problem solver and became interested in computing as an avenue for solving problems. I enjoy understanding problems and finding solutions to them. A lot of my job is doing exactly that—figuring out what it is that the client needs and the most effective way to meet that need. Computers happen to be my platform of choice for solving problems, which is what I am most excited and passionate about.

It is helpful to think about computers as a tool, a means of reaching an end. Nearly everywhere one looks there are problems that are being solved—or that could be solved—through carefully designed computer systems. Often these problems don’t start or end with computers. This makes the ability to work on interdisciplinary teams and communicate well across disciplines just as valuable as technical skills.

Why should I study computing?

An ever-increasing number of industries are turning to computer systems to solve their ever-changing needs. Nearly every electronic device that people use on a daily basis is, or has, a computer—from cell phones to hearing aids, pace makers to cars. As the world gets more computerized there are more exciting opportunities to apply computing and software development skills.

Computers are everywhere in our lives and all indications are that they will only become more ubiquitous in the future. Most of us can't go a waking hour—or even a sleeping hour—without interacting with, or relying on, a computer or computer controlled system. This means that computer professionals can work in essentially any industry collaborating to solve many of the most interesting and pressing problems in the world today. This is a dynamic field that is never stagnant, a field where something new is always around the corner. It is a fun, rewarding, and challenging industry with great people and always something new to learn.