Angelo Gonzalez signed up as a computer science major at Chicago's Northwestern University intending to study electrical engineering. Though it turned out to be the wrong major for his original career goal, Mr. Gonzalez quickly found serendipity had delivered him directly to his future. Since graduation, he has started the online web solutions company Agora Web Solutions Inc. and is pursuing a master of science in computer information systems (CIS) from Northwestern.
Creation of his business is the highlight of his career thus far. The entrepreneur grew a favor to a friend into a solid full-time career that allows involvement in marketing and web design work. His projects vary and include graphic design, music, art, photography, medicine and politics. As he pursues his MS, he hopes to become more involved in the project management side of computer and business technology to further enhance his business.
Mr. Gonzalez has found his computer science degree critical to his success, and notes, “All I have to do is tell people about my education, and then it's easy to establish the first critical step to building business relationships.”
Mr. Gonzalez & His Career
Tell us about your career in the computer world.
I am currently the main principal of Agora Web Solutions Inc. My role in our company consists of details commonly associated with the middle segment of a corporation's start-up stage. This includes sales, marketing, human resources, programming, graphic design and project management.What do you enjoy most about your career? What do you do dislike?
I enjoy the wonderful level of interaction with my customers. It's a great feeling to comfortably and freely communicate with my business-minded peers. They offer insights and knowledge that are often inaccessible from a textbook and classroom, so I feel like I'm always learning new things.
I dislike the level of stress and worry that accompany the start-up stage of a company. It is often the case that a starting business goes through waves of focus that fluctuate from sales to marketing to infrastructure development. Although all steps are necessary to grow the company, not every focus results in money.What has been your greatest success?
Closing the big sales and getting some degrees were great moments in time for me; nevertheless, I believe my greatest success has been the creation of my business. It started off one day as just an opportunity to build something for a friend. Then it had a strong breath of air blown into it and ever since it has continued to grow wonderfully. From a computer science angle, my greatest success is my company infrastructure and the achievement of my computer science degrees.What are some favorite projects that you've completed and why?
My favorite projects are always the ones that I work on with my friends from other fields. Whether it's music, art, photography, medicine, law or politics, I always love the resulting product of when completely different minds meet and work together. Computer science can be applied to so many other fields that I'm able to work with a broad range of people using my skills to enhance their projects.What are some of your personal and/or professional goals for the future?
I plan on growing my company with resources from the U.S. and other countries in an effort to increase revenue and project size. I would like to be able to come to work and spend my day leading a talented group of individuals who enjoy coming to work. Once established, I would like to open a community computer learning center near where I grew up in Humbolt Park that can have a special focus on teaching students advanced programming and graphics after school so that they can be better positioned in life. I think that this education is really important in the modern world and I want to continue to help others achieve their goals with it.
The Actual Work
What exactly do you do on a daily basis?
I manage my employees, contact my customers, program and orchestrate my business growth. I basically juggle between three roles; manager, entrepreneur and implementer. I'm able to do this because I've developed these skills over time while working in the field.What are the most challenging aspects of your job?
Learning how to sell an invisible service and learning how to make it tangible in an effort to create a market that is beneficial to my customers and their personal and business endeavors. After a while of programming, you start to learn how to write it and read it to a point where it's like reading and writing a book so that becomes a quite a bit easier with a few years under your belt. What I mean is that you have to basically learn a new language when you go in to computer science, but that eventually you become fluent in that language.What are the greatest stresses in the job; what causes you the most anxiety?
Cash flow, problem customers and personal life issues coming up during work hours are all problems. The great thing about computers is that if it's working, it's working. If it's not, then it's not. That's not true about humans, so it's really involving the human elements of the job that makes it difficult.What are some common myths about your profession and how do they differ from the actual work?
People sometimes think that programmers are traditional hackers in the black hat sense of the word. While it's true that it was more common to have hackers during the birth of the computer and the Internet, most hackers today are really just script kiddies that find configuration holes in web server setups. Actually taking a computer program down to its byte level operations and messing around with the way it works is not what the day-to-day job is like for most computer scientists. Instead, it's a lot of communication with your team members and writing lines of code. So there's also this myth that we just sit at computers all day, when in reality we have a lot of interaction with other people.What contributions do you feel your job offers to society as a whole?
I enjoy being able to make information available to people and I enjoy being able to entertain people. I feel that my position allows me to do both.
Education Information & Advice
Tell us about your education.
I graduated from Northwestern University in Evanston with a BS in computer science. There were two computer related departments at Northwestern. The first was a BS and the second was a BA. I had no idea then, but I quickly found out that the main difference between the two degrees is all of the 'other' classes that you have to take. A BS gave me a very strong technical background with a lot of math and science classes. It was more difficult than the BA but the reward is being much better at logic than I would have been if I'd gone through the BA program. I regret not taking more courses associated with a BA because now that I am in the real world, I am finding that I have to develop these skills while working. For example, reading non-technical books, writing longer sections of text similar to essays and knowledge of the arts for creative inspiration are all things I would have learned with the BA program that I now have to learn on my own.
I am currently working on my MS in computer information systems (CIS) at Northwestern University in Chicago. CIS is much more about the project management side of technology so I'm taking the degree that I currently have and branching out in to related fields. The education from the first degree laid the foundation for me to be able to do that.How did you decide to study computer science?
All I have to do is tell people about my education and then it's easy to establish the first critical step to building business relationships: bonding and rapport. It gives me credibility. Also, I would not have been able to learn the skills for the job easily on my own so it gave me that.What factors should prospective computer science students consider when choosing a school?
Factors should include class size, faculty, funding and the focus of the computer science department. You can figure out a CS department's focus by reading about the faculty because many departments have specialized focuses heavily aligned with the focus of the faculty on staff. This can lead to very different curriculums and not all of these different curriculums are good for today's student or for an individual person so you should really think about what you want to learn and see if you can learn that at the program that you're looking into.
Also, find out what programming languages most of the classes are taught in. Find out when you can start getting credit for learning other programming languages. Find out if the school has modern hardware and make sure that there are programs for juniors and seniors that are open-ended so that you can study the bleeding edge of technology. This is a modern field and you need to be able to adapt during your years of education to the new changes taking place. Make sure that the faculty serves as strong advisors to students during the time that you often dive hard into your core subject matter as you normally will have already finished your basic requirements. Make sure that you go to a school that has a lot of other strong departments in case you change your mind during the course of your education. Other things to consider when choosing a school include location, cost and acceptance, but those things apply to any school.Are there any different considerations for those who know that they want to specialize in certain areas of computer science?
Students seeking specialization in computer science schools should really speak with the head faculty about their thoughts. It's often the case that these students can create their own advanced curriculum within their department that is tailored to their interests. Students looking for artificial intelligence should look at Berkeley, students looking at game design should look at Northwestern, and students looking for interface design should look at NYU. There are a lot of programs out there and each has their strong suites. Again, look at what the faculty is interested in and you'll find out what you'll be learning. Look for schools that were a part of the hand-off from the military when the Internet was created. These schools will have the strongest programs as they are rich with history and technological skill.What can students applying to computer science schools do to increase their chances of being accepted?
Study hard and get good grades on your entrance exams. It's really much more about getting into the school than getting into the department.Does graduating from a prestigious school make a difference in landing a good job in computer science?
Not really. It only helps you get your foot in the door. It's really about what you have done (your experience), who you are (your character) and where you want to go (your personal vision) when it comes to landing a job where you might be sticking around for a while. If it's a contract job, then it's your experience, character and cost that help you get a good contract. In computer science, it's important that people demonstrate the ability and willingness to learn new programming languages and methodologies on their own time. This will be a big plus during your interview process.
Job Information & Advice
What are the hottest specialties within computer science over the next decade?
It depends on what you define as "hot." If by hot, you mean money, then it's data warehousing and consulting. If by hot, you mean cool, it's animation and human knowledge representation (AI). If by hot, you mean popular, then it's the Internet applications and data sharing across corporations and other data stores.Do you feel that is important for someone to be passionate about this field in order to be successful on both a personal and professional level?
Absolutely. If you want to be a programmer, you should really be interested in what you're doing. As a programmer, you have to be able to stare at a computer screen for long hours, and you have to be willing to constantly learn new things about the field. With computer science, it's all about constant abstractions and building in an effort to implement projects at high levels of consciousness. It's no longer about writing lines of code that allocate memory and moving around character pointers. Instead, we have given meaning to more complex action and words in an effort to create reusability. So you have to be able to get really deep into the field, not just repeating what you learned in school day after day.What kinds of jobs are available for graduating students in computer science? Specialty areas?
Computer science jobs include user interface programming, data warehousing, systems set up, business and financial reporting, and lot of other specialized fields. It's popular in the computer science world for specializations to lie across the boundaries of different programming languages. Many recruiters want people that already have experience with a particular programming language in order to improve an existing system or to stay within the development standards currently imposed at a company or on a project. So it's really useful if you can learn quite a few languages and put some good hours into learning each one. Once you learn two or three, you start to see that they are all pretty similar logically and semantically. So writing code for a new language is sometimes as easy as finding a good well-thumbed reference manual to sit on your desk.
The best way to get a computer science job is to have prior documented experience. If you don't have the experience, then plan on getting an internship somewhere or learning on your own. You have to be able to prove yourself in this field.
Is there anything else you can tell us about yourself, your career, or the profession that would be interesting or helpful to others aspiring to enter and succeed in the field?
Computer science is a very left brain field. Your logical ability, your discipline and your ability to learn are some of the most important attributes to becoming a computer scientist. Once you work on all of these and once you have experience, you can work in a number of different, related fields. As a matter of fact, when it comes down to it, it doesn't even really matter what field or industry you work in, because it's really easy to switch to other industries. For example, programming for a financial institution and programming for a dog walking company are fairly similar. The only thing that is really different is the content, and that is often just provided to programmers.
Editor's Note: If you would like to follow up with Angelo Gonzalez personally about this interview, email him here.