Coding for Canon
Don Cohen Updated Company's Advanced Cloud Portal
Don Cohen, a Rambam Mesivtah graduate, said he chose LCM because he wanted a program that excels in both sides of a dual curriculum. “I wanted a program that would give me a strong secular education along with a serious beis meidrash program,” explained Cohen who spent two years after high school in Israel at Yeshivat Netiv Aryeh. “I also wanted a small program where I could get a lot of attention.”
Cohen, a computer science major who will be graduating in the spring, spent his summer as a software engineer for Canon while also enjoying time with his new fiancé Tali Lazar (the two met at HASC). We caught up with him for a few minutes to find out what his summer internship was like.
What did you work on during your summer internship?
Many Canon printers have a program called ACP or Advanced Cloud Portal. ACP enables users to sign in and both print and scan directly from their cloud storage accounts. I worked with the team that handled the ACP and I tried to bring the program to the next level. I implemented a secure way for ACP to store previously authenticated accounts for future and immediate access. I also connected ACP to a cloud hub making it compatible with twenty different cloud storage providers. They only had four or five when I got here. I also designed and created a new interface for the portal screen to accommodate these new features and still provide our users with a clean and flawless experience.
Given how big Canon is, it’s a large process for these changes to be approved, tested and produced. My team hopes to eventually use my code in the production program.
I also created what my team called “the super list.” The super list is a single file list composed of all the files and folders of all cloud storage accounts previously authenticated by the current user, regardless of which provider – Internet Explorer, Google Drive, Dropbox, etc. – that the user authenticated with.
Did LCM prepare you for the internship?
100 percent. LCM has a very good program. I want to give a shout-out to Dr. Jonathan Robinson, the chair of the computer science department. He put together a great program with the bulk of the courses focused on real-life application. In the computer world, a lot of classes could be very theoretical, but the way our classes were structured was very hands-on and it prepared me for what I needed in the working world.
What are some classes you took that helped you with the internship?
I took a bunch of different programming classes in Java. I had two semesters of data structures. Learning about data structures teaches you how to use your knowledge of programming effectively. I had experience with front-end development since I took classes on web programming and android development. This position at Canon was a magic fit since it involved having a strong knowledge of front-end design and the application in development heavily relies on Java servlets for a backend.
You’re set to graduate in two semesters. What do you think is the best thing you will take from your LCM experience aside from the computer programming knowledge?
I think I developed a serious work ethic. To succeed in a field that is always evolving and offering new opportunities you need to be willing to go above what you learned in the classroom and above what you already know. LCM helped me develop a better work ethic. I learned how to schedule myself with a dual curriculum; how to schedule myself to get the most out of each day.
Any advice for other LCM students considering a career in software development?
There is always something new to learn in this field. Take the skills you learned in school and use them as a springboard. LCM offers programming courses in many different areas of programming such as mobile development, web design, database design, OOP and more. Try to get a base in each area by taking different classes. There are so many opportunities in the programming world and LCM gives you the skillset to take advantage of them.