Study Software Engineering part 2
I always encourage graduated students who are working in industry to share experiences with current students but this time one of my fourth year students wants to share her story:
“As a fourth year student in Software Engineering, I have a lot of time to reflect upon my experiences towards selecting this field of study. My view about this field may be different from others, or even of how I expected it to be when I was in high school. At the encouragement from Professor Vu, I want to share with you my story: After graduate from high school, I selected business administration as the field of study even my passion was in literature. My brother was a software developer and he encouraged me to study computer science, he said: “This is a good career to be in as it has many opportunities.” Like many high school students, I did not think much about career or opportunities as my own interest was in literature. My high school teacher told me that software engineering would be good for me since the field needed more women engineers. Even I liked my teacher but I did not understand why she wanted to have more women in engineering field. My parents were more practical: “Literature is good but it is not something that you can make a living. Select something that gets you a good job then you can read all the books that you want.” That was why I selected Business Administration but at the suggestion of my brother, I also took the “Introduction to Information Technology” course. This course opened my eyes on how technologies were being applied in many areas, including business. I was fascinated by the lecture on electronic commerce and online business so after that course, I took the “Web development course” to learn more about online business. After built several website exercises as required by the course, I found that computer programming was not too difficult so I decided to take the “Java Programming” course and did very well too. By that time, I decided to switch my field of study to “Software Engineering.”
The reason that attracts me to Software Engineering is the fact that today almost everything is using computers and by having the software knowledge and skills, I can do almost anything. But the most convincing factor come from professor Vu who told the class: “Programming is a creative process, just like writing a book. Writing program is the same as writing your own novel. Designing software is a new way of creating things; an elegant program is the same as a beautiful poetry. Software Engineering is not just a science but also an art as you must be creative to do it. Authors write books, you write programs and you have many users who need your innovation and imagination. A computer is nothing but a dumb machine but it is you who give it a soul; it is you who make the computer do wonderful thing; it is you who tell the computer what to do, and it is you who give a machine its life.” I never thought about it that way, since literature was my passion, I began to think of software as a new way of creative writing, and suddenly I love programming.
When I took software design course where everything must be decomposed into smaller tasks and analyzed, I learned problem solving skills. From that day on, I look at everything as a problem to be solved. For example, “Do not have time to study” means what is going to take the most of my time, and how can I effectively manage them to avoid wasting time. When my friends had problem with their boyfriend, they often relied on me to analyze the situation. I approached them as a software problem: What went wrong? What were the issues? What were the symptoms? What were the causes? When it happened? What has happened? How long did it happened? By understood the problem and what could be causing it, I could get to the solution quickly. The weaknesses of many college women were they did not know how to handle the situation and often got emotional but not me, I learned how to solve problem logically. By the time I was in second year, I became the advisor to many college women who sought my help. I never thought learning computer can give me that skills and I am sure not many young people even know that.
Study software requires logic. You learn that there are many ways to solve a problem but you select the most logical solution. Sometimes it means you have to compromise quality for cost effective or you may have to spend more time to get the highest quality possible. But the key is that you learn many approaches to solve problem as there is no perfect solution but depend on the situation, you make your own decision. The same thing with testing software, you try many approaches then determine which one is the best in that situation. Is it possible to have a zero defect? Yes, but it takes more time and may slip schedule. Is it possible to have fewer defects? Yes as long as they are not critical. It is the same thing that I learn to approach my life as I cannot have everything as I wish so I select the best one under the circumstances and be happy with it. When I was in high school, I wished for many things but now I learn that you may not get what you want but you learn to be happy with whatever happens.
No one says Software Engineering is easy. You struggle with code and design every day and sometime you will doubt whether you are making the right decision to study software engineering. You spend many nights to get your code to work but you are not alone. There are many people like you and they will stay all night to debug their programs. Suddenly you have a group of friends who share the same frustration so you do not feel bad. However when your program runs, it is a “Eureka” moment and you feel so wonderful. The fact is, you will have many moments like that, your life is turning ups and downs all the time but you learn from your mistakes, you learn how to control your emotion. Eventually you learn how enjoy your success as well as your failures. You also learn the fact of life is full of ups and downs but you do not allow them to hold you back. If your boyfriend does not like you anymore, find another one. He is not the only one and definitely not the best. I learn not to be afraid of college romance. I know who I am what I can do and I do not need someone who tells me differently. No one say studying software can strengthen you intellectually and emotionally like that.
Many students take computer programming, find it hard then give up. They take other classes then give up until they find the easiest class. To them life is so easy until they graduate and learn the truth about “real life”. I have seen many unemployed graduates who regretted about the “easy life” in college. In my “Introduction to Technology” course, I learned about the critical shortage of skilled workers. The professor said: “If all students in computer and software in the world are graduating today and all get hired, the world still have a shortage as they need more technical people. It is not surprising that software is where the jobs are, and all over the world, companies are aggressively looking for software people. You can have an “easy life” or “hard life” in college but after graduation, your life will be different as it will determine who you are, what you do. In other word, your futures depending on your attitude during college so why give up? Why take an “easy life”? Why not put in some extra effort?
As a third year student in software engineering, I had three internship offers last summer from Google, Facebook and Amazon. I went to Amazon and learned a lot and before I go back to school, my manager made me an offer for full time position when I graduated. My brother advised: “Just wait, do not accept anything for others will offer you more. With this degree you will have many choices and you should select the best.” I like his advice so I waited and last months, I had five more offers from Google, Facebook, Microsoft, IBM, and LinkedIn before I even graduate.
If you are someone who is still contemplating on computer science, software engineering, and Information system management or afraid the difficulty of studying information technology then my advice is: “just do it.” Do not pay attention at boys who tell you that girls cannot do it; Do not pay attention to all the boys who are jealous of your logical minds; Do not pay attention to the view that computer is hard. Go ahead and write code, if it does not run, fix it until it works. There is no better feeling than to create something amazing like software. If you think you cannot make it alone, find someone like you and form a group than you will learn about teamwork. Do not let anyone to stop you to get what you want. My last comment: “Study technology and you will change the world.”
PS: By the way, when I worked at Amazon, I was highly admired as there were fifty boys for every one girl.
- Blogs of Prof. John Vu, Carnegie Mellon University