Since the end of last century, coding is gaining more and more attention and popularity, and is considered more and more important. Such change attributes to the fact that the new society is full of technology that integrates with our lives from various perspectives, and such technology fundamentally relies on software, while software does not exist without computer programming. With such a background, I understand the existence of such a bold claims saying coding is the new literacy, but I do not completely agree with it. However, I agree with Barack Obama’s statement in his address that “In the new economy, computer science isn’t an optional skill it’s a basic skill, right along with the three Rs.” and I think it is necessary to have everyone exposed to computer science.
But one important thing to clarify is that computer science and coding could be related, but computer science is not solely about writing codes. This arises some arguments towards introducing computer or programming to all. The article “Giving Every Student an Opportunity to Learn Through Computer Science For All” points out that problems could not be solved without being broken down into pieces related to all kinds of works such as how nurses analyze data or auto mechanics are working on machines that run millions of lines of codes. But still, undeniably, basic education for computer science would benefit everyone. According to the article “Is Coding the New Literacy?”, just like mathematics helps people build a logic way of thinking, computer science education would help people learn the capability of coding code and encourage computational thinking that can be applied to various fields rather than just promoting the idea that code is only for coders. Accepting the idea to have computer science exposed to all does not complete the process. There are numbers of challenges for introducing computer science into a typical K-12 curriculum. The first and most fundamental difficulty to fully implement the proposal is the lack of qualified teachers. Alfred Thompson, a high school computer science teacher and former Microsoft engineer points it out in the NPR article “The President Wants Every Student to Learn Computer Science. How Would that Work?” that the main problems are making a balanced new schedule with the extra course, and getting qualified teachers willing to teach high-schoolers. At least at the present stage, most of CSE students come out of college looking forward to working at one of those major IT companies, and they are not likely be satisfied being high school teachers for all those money and time they devoted during their professional education. Another challenge for adapting the K-12 Computer Science Framework is that the software development is still in a high changing rate, and it is hard or even impossible for public schools to keep up with the constant change. Considering all of these barriers, I think the ideal solution is to switch the concentration of some classic courses which are fundamental to programing, such as math; or add new basic courses that are related or contributes to higher level computer science skills, such as typing skills, and computer literacy. In fact, computer science course offered in high schools should not necessarily for following the trend of programing or adapting advanced techniques, but more for helping young kids establish a logical thinking and a different think pattern for problem solving ability. The article “Is Coding the New Literacy?” says “the greatest contribution the young programmers bring isn’t the software they write. It’s the way they think”.
0 评论
Patent, with the definition given by the United States Patent and Trademark Office, is the exclusive right granted to an invention for a limited time period. Inventions are supposed to provide new and unprecedented solutions to certain problems, and patents for them are designed to help their owners preventing others from stealing or utilizing the ideas without permission.
Regarding to their original obligation, patents should be granted to eligible works. Because they serve to maintain and protect the order of markets related to intellectual properties. They builds a foundation for the relative fairness in competitions and promotes innovations with their deserved benefits. From a morality perspective, patents are essential because they ensure the ones who devote get paid with the value of their ideas. Taking others’ words or thoughts without proper reference in writing is considered plagiarism, so should be the case for taking others innovation or ideas in commercial or any other ways of utilization. Therefore, we need patent restrict and stop people before they step into the unethical zone of copying others’ intellectual works. Patents are also important for a healthy economy. Were there not patents, the market selling intellectual products would run out of order. For example, if no patents were applied, as soon as Apple iPhones were launched, thousands of other companies could easily make and sell copied versions with lower prices, leaving Apple, the one who had worked hard to create the product got beat in the competition. As mentioned above, patents are essential to encourage competition and protect innovation which ultimately bring the society great benefits, thus, in my opinion, they could be granted to outcomes of all kinds of original and valuable ideas, regardless of their tangibility. How visualized or formulated the work procedure could be should not make much difference. I think all devotions out of innovation are equally appreciable. As long as both welding metal together to build a car and developing a computer program are original and beneficial to the society, both deserve patents. However, although, in general, the patent system is still helpful, it is becoming increasingly problematic in some cases. The most distinctive evidence of the system’s flaw is the existence of patent troll. In one case, patent trolls utilize the flaws in the patent law, and apply hundreds even thousand of patents without actually producing any products, and wait for other to use the patented idea, and suit them. Since the cost of accepting and fighting for such a suit will cost too much, most suited ones will choose to conciliate with a great amount of conciliation fee. In another case, due to the lack of financial capability, small organizations could hardly hold their patent rights when competing with giant corporations. This eventually leads to monopoly of large companies in certain industry. Either of the above occasions helps with fairness in competition or balance of the industry economy. Even though they have, so far, not completely jeopardized the patent system, they could soon bring fatal consequences and break the system if we kept ignoring it and not taking any recovery actions. Car accident a growing major cause for unnatural death every year, and over-speeding as well as collisions are two of the major cases that lead to fatal injuries. Even just simply considering these facts, I am completely supportive for self-driving cars. The rigidness of computer programs is a great advantage in the case of self-driving cars. Because the as long as the self-driving systems are more programmed and fully tested, they can avoid the lack of concentration and other errors human would commonly make. Mostly likely, with a stable control of speed, application of self-driving car could significantly decrease the number of potential accident caused by over speeding. From another perspective, if self-driving technology is widely utilized in industrial transportation such as shipping trucks, it could help with better revenue management by lowering the cost of labor forces.
However, while there are pros, there are also cons for self-driving cars. At least at its current development stage, self-driving technology still has many flaws and thus bares arguments. While the technology theoretically reduced the danger of driving, it is still incapable in some situations where prompt and improvised human actions are required. The article “What We Know and What We Don’t Know About Accidents Involving Self-Driving Cars” gives and example of Google’s self-driving cars, which are tested and announced safe, yet still caught into accidents like rear-end crushes. The programming is apparently less reliable than a human in such cases. Another argument criticizes the safety of such systems for that they have limited ability to make trade-off decisions when they are programmed to primary protect the car from hit. Because decisions made by such programming will potential lead to fatal injuries in cases where a car runs into people in order to avoid a collision with an object. Besides the uncertainty about the liability and safety of such technology, people, mostly truck drivers, are also not so positive towards the potential economic consequences such technology will likely bring. Because, even though self-driving cars could save business operator a great amount of capital from hiring drivers, it would meanwhile raise the unemployment rate among truck drivers. But Innovation Economics thinks such concern is unnecessary. Similar to the industrialization and mechanization of agriculture industry, in the case of such technological advancement, we can be reasonably assured that the economy will not only recover from the loss of truck driver jobs, but become stronger as a result of innovation. A lot of issues related to self-driving cars as mentioned above are yet solved at current development stage. And it is the stage where the government should take an active role in regulating self-driving cars to support the development. It should articulate every possible rules as comprehensive as possible to build people’s trust on and reassure them with any concerns. Unfortunately, the government is not performing well in this aspect so far. States and federal governments should work together to build an applicable regulation system for the new industry as soon as possible, or else more loss would like Tesla incidents would happen. I would be willing to own a self-driving car in the future, but certainly not with its current development with the deficiencies in programming maturity and under-established legitimized regulations. Besides, even though I agree that personal-owned self-driving car would potentially be a trend in the future, I think we will more likely see a wide application of the technology in shared or public transportations. But, indeed, either way, I believe that the automation vehicle technology will bring a subversive reformation to the world’s transportation system. The biggest trade-off is that in order to use iRedmail I have to install systems like Linux and CentOS to set DNS records for the system’s server. Apparently, although these systems are not strange to computer science engineers, they are less commonly applied in commercial desktops and laptops compared to Windows and IOS. I personally do not have any devices running systems required for setting up the iRedmail server, and I have to give up on some information and resources from original systems by switching the operating system of my computers. For some individuals or organization, whose online privacy security vitally matters to their lives, may find such a process worthwhile. Yet, for me, at least as a student so far, do not think it worth such a large input for getting online safety secure that may not bring much difference to my life, work or study. Besides, running such a private cloud requires a large amount of time and energy for system maintenance, which again, may be to costing for individual or small group users.
Nevertheless, as I mentioned, for larger organizations or specific individuals, managing a private could be worthwhile. Since the private cloud system is solely serving for one single organization, the data, hardware performance and network performance are under complete control and management of the organization itself. And such advantages bring preferable tradeoffs such as the data security, compliance, customizable performance and hybrid deployments. Data security is enhanced with private cloud systems because some of them provide dedicated hardwares. The security of private cloud depends on various factors. However, if you have the proper physical security, anti-virus software, and firewall rules in place, you can rest assured your data is as safe as if it were sitting right next to your desk. With a private cloud, you know where your servers are located and that the proper physical and network security is in place. You can meet and talk to those in charge of providing support for your hardware and come visit it if you like. A private cloud can fully utilize your hardware with better resource management because the virtualization significantly increases the value of your physical server hardware. Instead of having 5 servers that average 10% CPU utilization, you can virtualize the 5 servers on one physical server, sharing the resources. For the larger company or specific individuals, the private cloud provides some alluring benefits. In the future, I believe I will use self-managed services rather than third party ones because the self-managed services provide some alluring benefits which the third party cannot provide, and there are huge spaces for self-managed services to improve such as simplifying the installation progress, lowering the storage requirement and the price. In the future, I believe most of the people will use such independent services. To be honest, I do not have the moral standing to complain about encroachment on my own privacy when I consciously give away my information to third party services. That I do not complain is not due to any trust on third party services, but for that as a student, I do not really have the important information or privacy that I need protect completely. But for business companies, they may need more secure services to guarantee the confidentiality of their information and resources, therefore, they may carry higher concerns for the issue. With a broad aspect, Artificial Intelligence (AI) can be defined as programs that can display functions, actions or any features that would normally agreed as intelligences of humans. And based on the level of intelligence, i.e. how closely imitative of human behaviors or thoughts the AI is, AI systems are defined and categorized in three distinct groups: the weak AI, strong AI, and the kind of AI in-between of the former two (Hammond, 2015).
Systems that tend to establish and conduct human reasoning process are regarded as “strong AI”, which function as not only programs that stimulate ideas themselves, but also provide the reasoning logic as human beings would have behind the thoughts (Hammond, 2015). As to “weak AI” systems, they display human-like behaviors, but are solely serves to solve problems of systems, and the intellectual human reasoning is absent. The Deep Blue system would be an example. It is intelligently competitive with human brains, but do not present any pattern of human thinking or reasoning. Currently, the most advanced AI we have seen and applied in today’s top high-tech systems such as Google’s Alpha Go and IBM’s Watson, are those in-between the level of strong and that of weak AI technologies. These systems are built based on flows and logics of human reasoning, but do not aim at copying or imitating it. In my opinion, I do not think the Turing test is valid enough as a measure of intelligence. On a Turing test competition held in 2014 at Royal Society in London, a computer program called Eugene Goostman, simulating a 13-year-old Ukrainian boy, was said to have passed the test. 33% of the judges were convinced through a five-minute-long conversation that the program was human. However, such a process is a misrepresentation of Turing test. The origin of the test was not to check whether a computer mind can gain human’s recognition, but to evaluate whether a machine is able to think in the way a human being does (Ball, 2015). Besides, the test is not effective, if the AI really achieves the intelligence level to “pass” it. Like the story told in the film Ex Machina (2015), if the machine is human-like enough, it can pretend to be not qualified to pass the test while it is actually capable. As a student of computer science major, I have been fond of the emerging area of artificial intelligence, and had long have a impression from movies on how disputable the establishment of AI could be considering the ethical and moral conflicts or terrors could brought by it. However, I do not concern much about the potential dangers imposed by artificial intelligence. I am possessing a positive view towards AI technology, for that I firmly believe what AI brings us will be uncountable conveniences instead of any “betrayal”. In fact, at least within near future, I believe that focusing on “weaker” AI that practically help us solving problem is more essential and urgent that making huge breakthroughs in the technology. As to computing system, I do not think it could be considered as a mind. I believe in the future, the technology can make the computing system “like” a mind, but it never become a real mind. Because real human mind is not simply working with logic, but affected by numerous factors such emotions, physical feelings and etc. Furthermore, “strong AI” may brought up ethical issues if it could simulate dark sides of the human natures such as the greediness and selfishness.So far, we may not yet be ready and capable to control such problems and issues. But as long as we balance technology development and human development well, I believe we will be able to create and utilize the uttermost benefits from high technologies like Artificial Intelligence. As a Chinese I have closely experienced the government’s censorship for online access ever since I started using the Internet. I do not oppose any criticism or judgments on the government’s strict surveillance on Internet activities, but I do not agree on the opinion that the controls are completely unethical for a government that is intend to keep the security of a country with over 1.3 billion citizens, and more than 300 million active online users.
Comparing to the Internet environment and popularity of social platforms such as Facebook, Twitter, Snapchat and Google apps outside the mainland China, the Chinese Internet environment seems to be very upset for its users. Nevertheless, from my personal experience, I have never felt extremely frustrated with the Internet behind the firewall, and, as Michael Anti talks in his speech (2012), the commonly seen negative judgments on the country’s online censorship is just a sided view. If we want to de define whether the Chinese government is being ethical for building one of the strongest online filtering system and closely regulating its citizen’s online activities, we may need to consider why is the government doing so, and how do we want to define the ethnicity in such a case. Some points Paul Mozur mentioned in his article “China’s Internet Controls Will Get Stricter, to Dismay of Foreign Business” (2016) are true. The main purpose of Chinese government’s surveillance on online informational exchange is to guarantee its control of citizens, and make sure that no information that is rebellion to the Party or the Party’s government. This stops foreign companies like Facebook, YouTube and Google, who refuse to set their servers in Beijing for information observation from entering China’s market, and also limits Chinese online users access to information that are not regulated by the Party’s surveillance. However, the government is probably not as unethical as it seems to be. And Chinese people are not as pathetic or blind as Murong Xuecun concerns in the article “Scaling China’s Great Firewall” (2015), and I do not think it will ever go back to how it was before the Culture Revolution or the Economic Reforms. Because first of all, China is a SICK country --- one of the four countries that have no access to Facebook, but it is also one of the BRIC countries, who the devoting a major force in the development of the global economy (Anti, 2012). Although both are under pretty strict communist parties, and absolute government control, Chinese people are not restricted on any usage of the internet, instead, we are strongly encouraged to get involved online. Indeed there is a wall, there is not a real restriction. Chinese government are not preventing its people from learning creativity and communicating with others who are carrying different voices. People are free and welcomed to express their ideas online. Besides, the censorship does not take online social networking away from Chinese citizens. For all those platforms popular in other countries but blocked in China, there are clones in China, all of which functions as well, if not better, as those outside China. For instance, like the one Anti mentioned in his speech, Weibo, one of the most popular social platforms in China, is itself a media already. Despite the fact that the government’s regulation made the platform to ban certain sensitive keywords, people are not banned to dig truth. Chinese language is amazing, you can always find another way around to express what you mean, without being blocked. Moreover, Chinese online users will not be deemed guilty by law by using any VPN for personal usage. Even before I used VPN for the first time, my friends and I knew what was happening around the world. And know, at least the younger generation, the millennials --- the future leaders of the country, are aware of the wall, and knows methods to get over the wall, and learns ways to communicate with others, critically evaluate information within the wall while performing properly abide by the government’s rules. Last but not the least, at least in case of the terrorism information, Chinese government’s Internet censorship is doing well in protecting its people. While there are numerous news reporting young teenagers being brainwashed by the ISIS through information spread on social platforms, no Chinese parents would need to worry about their children, because the government has filtered all potential hazardous or illusive information from terroristic organizations. The definition of the cloud computing is “the applications delivered as services over the internet and the hardware and system software in the data center that provide those services” (Ambrust et al., 2010). More and more people nowadays choose the cloud to save their information. The cloud has changed many things from how we develop the software, and how we save our information, to how we write a paper. The impact that cloud has had on our lives are massive. The ethics of cloud is also a significant issue that need to be discussed. The main ethical issues and concerns regarding cloud computing seem to relate mostly to the security of using and trusting a third party to collect, store and guard your data and privacy.
Admittedly, cloud services provide customers with great convenience. As a consumer myself, I use it for three primary purpose: to archive files, to work collaboratively with others, and retrieve documents from various devices I am accessible to. The service saves me plenty of time from backing up and transferring data and documents from one device or account to another. Besides, its plethora storage space makes it possible for users to keep all wanted data, or trace back information that is mistakenly lost due to common operate error or device crush. A lot of users are also willing to use cloud for the easy access of data from various devices. But most Internet users enjoy Could’s efficiency in data management without knowing how such service functions, and what problems it may bring to them. The advantages and convenience cloud services provide are not really for “free”. While users upload and save their information in the Cloud, they are giving themselves to the service runner. Although all cloud service providers such as Apple and Google constantly claim that they guarantee the safety and privacy for all users, and will not use or track any of their customer’s private information, we never know how they really deal with it. As a developer, the cloud computing provides countless opportunities to the tech industry. The article The Era of Cloud Computing uses Pinterest as an example, saying without the cloud, it would be almost inconceivable to fund a startup like Pinterest, which now loads 60 million photos a day onto AWS but employs 300 people. The benefits that companies gain by using the public cloud as noted in this article are the exemption of upfront cost, and infinite capacity on demand. When Pinterest started up without upfront cost. It did not have to go and buy a bunch of servers to run on at its beginning period. When Pinterest’s user volume grew from 1000 to 100000, it did not need to worry about buying more servers. Even when Pinterest encounters a website traffic with massive visitors swarming into the site, it can still get service machines on demand, and only pay for them when they are really needed. The public cloud allows so many small or medium sized companies to get off their feet and scale up and down easily. The low-cost power and resources available through the cloud allow companies with a few employees to accomplish tasks that used to take hundreds of computers. In my personal experiences, as an Android mobile application developer, the cloud computing allows me to stream the data of applications to the cloud easily, and saves me lots of time to better manage the data and develop the application. Whether to consider Edward Snowden a hero or traitor depends on which perspective are we taking while making such a judgement. From the standpoint of American government, Snowden could be considered as a traitor. He disclosed over a million confidential documents from the NSA’s system. Which not only put the government under censure of other governments who are related, but also posed America’s national security under massive potential danger. Because most of the over a million files from NSA’s surveillance system, such as the methods of signals intelligence, served for protecting the nation’s security. However, from a more personal perspective, and giving a regard to every normal citizen’s daily life, Snowden might be considered more as a hero. Most of citizens were either unaware of, or intentionally avoid to thinking about the over intruding that government made into our private lives. Snowden as an individual, knowing what judgement he was facing, and what power he was fighting against, bravely stood out and informed the American public about serious privacy issue the country was carrying.
Further, the morality of Snowden’s action is also disputable. Considering his motivation, at least for those he stated, if we buy it, what he did might be rebellion to moral norms. Through a lot of public press, Snowden tried to explained his motivation from a positive approach. The Wire article states Snowden’s thought on why he considered the disclosure of the documents was for justice and public morality. It reads, “He realized … that the only way to cure the abuses of the government was to expose them. But Snowden didn’t have a Senate committee at his disposal or the power of congressional subpoena. He’d have to carry out his mission covertly, just as he’d been trained. ” Besides, the article Edward Snowden’s Impact also explains what drove Snowden for his motives. In the article, Snowden says that “the law doesn’t defend us; we defend the law. And when it becomes contrary to our morals, we have both the right and the responsibility to rebalance it towards just ends.” However, despite initial purpose for leaking the documents, the way Snowden receives the information, and the consequences his action brought to the public and nation made his motives less ethical. Snowden was able to access to millions of documents for NSA on their surveillance programs while working at CIA and Booz Allen Hamilton. With the advantage of his work, he illegally used a web scraper based on keywords to grabbe countless amount of information. Going off the working regulation and confidential bondence to get classified information is not what expected for a moral employee. Moreover, without carrying a proper consideration and analysis of information, he simply gave all information to public presses. This motive result in a leak of information that beyond those relevant to government surveillance on US citizens, and secrets that citizens might not really deserve to know. The Guardian and other newspapers published how the NSA tapping into online communication in the US, spies gathering information on other countries, and intricate details about how these US agencies were able to this. From government’s perspective, Snowden not only destroyed their surveillance system, but also leaked the highest classified secrete to public, which made national security and defensive system under potential attack by other countries. But from the US citizen’s perspective, Snowden could be viewed as a warrior who took the lead to question the government's improper surveillance, and help citizens gain an awareness on privacy issues The interview guide constructed by our group introduced a lot of helpful information to me. Based on my experience, I found the part “anything else you wish you knew before went through the whole process” most important and useful to me. This part of information reminds me of some essential aspects of interviews that I did not pay attention to or intentionally ignored. With my experiences during undergraduate education and current graduate study, I thought I had known well about the whole internship and interview processes. And I was confident about my familiarity with interview procedures as well as every detail in either the conversational or technical testing process. Not until I read my group’s interview guide did I realized how unprepared was I for either section of future interviews, and how much more could I improve. Previously, I did not consider communication skills as significant for the success of an interview, thinking that excellence in programing knowledge was the only factor that would matter. Besides, I was definitely not very proficient with whiteboard, and did not realize how disadvantageous this weakness could possibly be for my performance during a technical interview. Fortunately, now with the new knowledge and information gained from the guide, I definitely know what was wrong and can get over these weaknesses and do better in future interviews.
As to the best advice obtained from the guide, it is the one that telling me how can I actually negotiate for my benefits. From my previous experience, I usually felt being in a relatively passive position in the relationship with employers, and was therefore afraid to ask for anything that was not originally scheduled to offer. Such concern indeed once resulted in an unfair payment for work I had done. Knowing that I could actively seek for the best “price” to sell my skills, I think I will be able to find better job offers for my career development in the future. But, in fact, besides the information learned from the guide, I know it is ND’s CSE that grants me the ability and power to seek for the future career. Even with a regard to today’s competitive and highly demanding job hunting process, I still think current ND CSE program is already doing well in preparing and supporting us for our career development. Take the graduate program as an example, course and minimum GPA requirements not only ensure knowledge is acquired adequately, comprehensively and in depth, but also guarantee the learning and practices of professional skills are completed with high quality. Given that our future employers value our professional working abilities more than our interview skills, ND’s CSE program has definitely hit the bull’s eye. Moreover, the program also provides specific career supports such as career consultants, who can help us build a solid and feasible career plans, as well as strong aluminum networks, which can provide us wide connection and valuable referrals. So as long as we fulfill all academic requirements and reach out to career services, I am confident that, we can be well prepared for our future careers with the current CSE program. When should students start preparing for interviews?
Like the old saying goes, “early birds get worms”, we should get our hands on preparing for internships or interviews as early as possible. Let’s look at internships first. When exactly should we start applying for internships? Keep in mind that more working experience is always better than less. So you should better start looking for internships or other job opportunities as soon as you have acquired basic computer science knowledge that is required for technical interviews. However, as students, we may not have enough time for internships during semesters. To make up this disadvantage, we should definitely take a wise use of our long breaks. And summer is usually our best choice. To get a summer intern, first of all, we should know that most tech and IT companies collect applications for summer interns in September and March (MIT UPOP, n.d.). This means, if we want to get an internship that starts in June, we should start preparing during the fall semester. By this way, if we failed at the first attempt, we could gain experience, and be able to have another shot in March. Similarly, we should get ourselves plenty of time to get fully prepared for both general and technical interviews. For computer science internships, there are usually three types of interviews --- the general interview that looks at the student’s overall information and working or practicing experiences; the technical interview, which tests the student’s practical level of coding, algorithms and data structuring skills; and additionally, language interviews, which is set up to quiz about the student’s proficiency in certain languages (Smallman, n.d.). Moreover, companies like Google and Facebook also conduct a team-matching after basic interviews. Even if you have passed all the other interviews, you could still fail at the last stage if you didn’t perform well during this process. Each one of these interviews requires a large amount of advanced efforts and dedication. The earlier we start preparing and planning, the better we will be able to perform, and the more likely we are to get the internship we want. How should students prepare or plan for these interviews? “Practice makes perfect.” For all interviews, the best way to prepare is to practice over and over again. But since the aims of the interviews mentioned above are different, here are some tips for each one exclusively. To prepare and plan for a successful general interview, the first step we should take is to learn about the position we plan to apply for, and the background of the company we will apply with. This helps us understand and figure out what is required for us and what we can provide to satisfy that requirement. Then, we need to prepare a decent resume that clearly demonstrates our capabilities as an eligible and qualified candidate for the job. The resume gives interviewers a preview, and likely, helps them gain a first impression on us even before meet us in person. Generally, a good resume should include the candidate’s name, contact information, education history, work experience, activities or accomplishments and technical/language skills (UNLV Career Service, 2016). Be careful that we may need several versions of resumes highlighting specific work experiences or skills when applying for different jobs. Next, get prepared for interview questions. In most cases, interviewers will ask questions based on your resume information, and also intend to learn about your strengths and weaknesses, as well as why and how you think you would fit the position or the company. Moreover, for computer science students, interviewers may want to know details about projects you have done. Questions about what the projects were about, and how did you participate in those projects might be asked. Making sure to answer these questions clearly and properly is the basis of a successful interview. Lastly, prepare questions for the interviewer. This is the chance for you to learn more about the company. But it may not be appropriate to ask about things like salaries. Good questions may be ones like “could you describe a typical day of the position?” Or “what draws you to the company?”. As to technical or language interviews, they evaluate your abilities to tackle practical problems, and how familiar or professional you are with your knowledge. Easier questions for such interviews may include problems about loops, lists or strings, while harder questions may focus more on specific data structures. According to particular professional arena, Linux Engineer questions, .NET questions and OOP design type questions may be tested (Hein, 2013). So it is important and necessary to get familiar with the job description. Items listed on the description can give you a navigation for what aspect of knowledge you should focus on, and how should you present your ability to fit the needs of the position (Hein, 2013). In addition, be clear and familiar with core principles and basics. Also, understand aspects of prospective programming languages. Do not satisfy with fundamental knowledge. Dig deeper and acquire more expansive skills. Because questions may vary from giving simple broad stroke to more advanced tasks (Hein, 2013). An easy but efficient way to practice is to find sample technical questions, and practice coding or other related skills with them. They will definitely prepare you better with the interview. Anything else you wish you knew before you went through the whole process? The first extra note is that, despite the fact that our job is dealing with computers and codes, we should do well in interpersonal communication as well. Because this is, at least, important for interviews, where you are selling yourself to the company. Secondly, get comfortable with coding on a whiteboard. Although this is not required at all companies, but it is indeed a common practice asked during technical interviews. Thirdly, behave in a good manner and dress properly. Interviewers would appreciate it if you initiate the greeting, and introduce your name, with a firm handshake, as soon as you get the chance to speak to them. Also, although we do not need to be in suit-and-tie for all the time while working, we are expected to look formal for interviews. A professional-look outfit shows your attitude and proficiency. This can of course vary between companies; it can be weird to wear a suit to an interview at a company where the programmers wear jeans every day. So if you can get an idea about what company culture is like before, you may have a better idea of what people wear at the office, and dress accordingly for your interview. Last but not the least, bring extra copies of your resume. You never know what situations you may encounter and whom you may meet. Getting ready to introduce and present yourself at all time will give you more chances to success What resources should students consider? Books? Career Services? Student groups? Students should consider visiting the career center at Notre Dame. Specifically, there is a career advisor concentrate advising careers in Engineering. He introduces many companies and small ventures, where ND alumnus are currently working. Although there are many internship opportunities with no pay, the advisor helps a student to get funded from the university while doing the internship. Because career in computer science can be varied such as software, hardware, IT security, IT business, consulting, and others, it will be nice to know what your interest is, and ask an advisor to introduce companies that match your interest. Also networking or getting a mentor of CSE alumni will be helpful for your career. Because the career center has all the contact information and company information of graduates, they also connect graduates to us so that we could ask them directly about the job environment, interview, application review, or other support. Especially for students who are interested in working in start ups, it will be beneficial to get the contact information of alumni in startups, because start-up and venture companies are often more selective when hiring or providing internships. As ND is mostly known for business and many students are interested in getting jobs at business or consulting fields, there are actually not as many engineering jobs on Go Irish compared to business job positions. Therefore, what the career center recommends students to get resources is going into websites like ‘LinkedIn’. If students want to focus on engineering jobs or technology companies, angel.co is another option that is recommended. It is very simple. If you upload your resume and desired career option, the website generates your information and provide contacts or job positions that are matched to them. Angel.co is specifically known for providing engineering jobs from small start up industries to big companies like Airbnb, Uber, and Fitbit. As the career center describes, using the ND networks will be the most efficient way to be successful in career, especially with CSE major students. Therefore, visiting the career center and getting networks with graduates will be the best option. But before that, it is always recommended to research on many companies and fields, so that students could know where they want to start. To get this type of resource, students should often visit IT news websites or blogs, campus recruiting, and contacting with the HR department of companies. What extracurricular activities should students consider? Extracurricular activities are differently recommended to the student’s field of interest. For students interested in software engineering, students can join the computer club in campus. Because the purpose of the club is to promote the interest in computer science, students and staff share information and provide tutorials for students to enhance their engineering skills. By practicing and discussing about computer engineering and skills, students will get advantages both in academics and in careers. The computer club and other clubs often feature talks by people in the tech industry, which are helpful for learning about opportunities and networking. For students interested in IT management, there is also a IT management club in campus. Students here also share information on IT industry, career, case studies and news, so that students can prepare for their careers outside the class. Students who are interested in case competition or IT start-up competition, are also welcome to join the club and they can create the teams for challenges. Other than joining clubs in ND campus, it is helpful for students to participate in school events, companies’ events, and events in major department, such as app challenge, Accenture case competition, and McCloskey business plan competition. In this way, students will have more opportunities to meet new people, make great experience, and get new skills directly for their careers. Especially if you don’t do any of these things, it is extremely helpful to code in your free time. Many interviewers will ask you about your “side project” referring to any coding you’re doing that is not required by class. Companies want to see that you’re interested in programming outside of class requirements, so it is good to have some side project to talk about. It doesn’t have to be a technically complex project; interviewers aren’t expecting you to solve world hunger with code in your free time. Even if you’re just making a simple game, it is helpful to be able to talk about it in an interview. How can students take advantage of networking and alumni relationships? You may have heard people talk about Notre Dame’s strong alumni network and how helpful it is in finding job opportunities and making connections. Indeed, Notre Dame has an extensive alumni base spread across cities all around the U.S. You may be surprised to find that your dream company is full of Domers! Although the alumni network is not quite as significant for computer science students as it is for business majors, it can still be very helpful in getting a job. Networking is a helpful skill that some people are naturally good at, while others are not. For some people, conversation comes easily, and they have no trouble making meaningful conversation with someone they just me. For others (like me), networking was an awkward process in which I had to force myself to talk to someone I didn’t know and act way more interested in their company or job position than I actually was. If you are of the second group, I’m sorry to say that you’re still going to have to do it in the future whether you like it or not. But don’t worry, although it may be uncomfortable, it isn’t too hard. When talking to a recruiter or employee, the main thing you want is to be memorable. At a career fair or recruiting event, the employee will be talking to tons of students in succession, and when all the students are computer science majors who are taking all the same questions, it can be tough to effectively stand out. In my experience, one of the best way to do this is to ask interesting questions. Don’t just ask the generic questions everyone asks like “What kinds of projects do you work on?” Actually, you should ask these questions, because you’re probably interested in the answers, but ask some more specific questions about the job too. Then, it’ll be easier for them to remember you later if you bring up the conversation. After you talk to them, be sure to get their contact information, and email them later that day. It may seem like you’re being annoying, but you come off as way more interested, and it’s better to stand out for being a little annoying than to not stand out at all. How should students approach negotiations or contracts? So, you got an offer. Congratulations! Many students are just happy to get to this point, as they should be, and immediately accept the offer. However, especially for full-time offers, it is important to evaluate all parts of the offer before making a decision. Don’t just think about the pay, too; consider healthcare, stock options, and other benefits. If you have another offer on the table, compare all aspects of both offers and determine which you prefer. Though it’s not the only thing, the pay rate is very important, which brings us to negotiation. Regarding this, it’s important to remember: you can always ask for more money. You might not get it, but the worst thing that could happen is that the hiring company says no, and you could work your way into a better package. Negotiation can be difficult, because you don’t want to come off as arrogant or selfish. So it’s important to ask in the right way and use polite language. Make sure to state clearly your reasons for wanting more money, whether they are because you think you’re qualified, because you have a comparative offer for more money, or because you believe the offer is lower than comparative offers in the same city. If you do have an outstanding offer from someone else, it may be good to mention that. It gives you some negotiation leverage, and if the company wants you badly enough, they’ll make you a better offer. One tip I’ve been told is to never start off by naming an exact number for the pay you want. It is better to just ask if it is possible for more money, and have the company throw out the first number. Sometimes, their number may be higher than what you wanted anyway, and you got yourself more money for doing essentially nothing. Some companies won’t allow you to negotiate your offer. That’s okay, don’t get discouraged by this. If you still want to work for the company anyway, you can accept your offer, or if you have a better one elsewhere (or think you can get one), you can decline it. |