Preparing for job in software industry

Christopher is a manager at Amazon. He often come to CMU to recruit students so I ask him to explain what his company is looking for and what students need to prepare for the job in software industry. Following is what he says:

“People know that Amazon is the largest on-line store in the world but few people know that we are also one of the largest cloud computing companies too. Amazon Simple Storage Service (S3) allows company to put their information system in the cloud and Amazon Elastic Compute Cloud (EC2) is a web service that provides compute capacity in the cloud. It is designed to make web-scale computing easier for developers. Amazon EC2's simple web service interface allows customer to obtain and configure capacity with minimal effort. It allows customers to control of their computing resources that run on Amazon's computing environment. Amazon EC2 reduces the time required to obtain new server and allowing them to quickly scale capacity as their computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use.”

“Today cloud computing is becoming a popular choice among companies. Since they do not have to buy software, servers, database licenses, or have rooms for their computing systems, they can focus on the business instead of dealing with information technology or storage. With cloud computing, companies do not have to worry about updating software because cloud service companies will do all upgraded much cheaper and faster. As more companies are moving to the cloud, more career opportunities are opening up for software graduates who have knowledge and skills in dealing with cloud computing or Software as a Services (SaaS).”

“Our company is hiring college graduates in computer science, software engineering, and information system management to fill positions such as software developer, software tester, network specialist, system security specialist, service manager, and database administrator. Beside technical skills, students need to take few courses in business and have soft-skills as some of them will have to work with customers, help them to solve problems and be able to communicate well to keep customer satisfied. What we are looking for in college graduates is the motivation and drive. What is that person most interested and passionate about? Does the candidate want to build a career or just want a job?”

“We are hiring computer science graduates and place them into software development positions, since cloud computing service requires on-demand software applications that must be update rapidly. Some experiences with agile development such as Scrum are preferred since we are doing releases every week and every month. Candidates must have good programming skills, understand software development lifecycle well, and be able to work well with others and willing to learn new things as technology changes fast. Amazon has a fast-paced environment where we “Work Hard, Have Fun, Make History.” On a “typical” day, software developers might design and code prototype to prove or disprove an idea, implement code to report a new metric, talk with customers, code up a feature, or draft a proposal for a radical new idea.”

“We are hiring software engineering graduates and place them into system security specialist, network specialist and system architect position. We are looking for graduates that can demonstrate ability to write clear, portable, well organize code in Java or C++ including building systems, application code with good comments and documentation. As customer's system may not be compatible with our systems, some platforms modifications and re-architecture must be done and this is where software engineers fit very well since they are trained in system architect and integration. At Amazon Web Services, we like to “work backwards”: by understanding what customers need and using that to guide our software engineering. We're looking for software engineers passionate and experienced in listening to customers, synthesizing their needs, and rapidly iterating our services to quickly put features into customers' hands. Our best ideas become even better when we get feedback from real customer use. The sooner we can get that feedback, the more quickly we can grow. Customers using AWS Direct Connect establish high connections between their existing IT infrastructure and the AWS cloud, enabling seamless integration and inter-operation of the two infrastructures. We listen closely to what customers tell us and translate those ideas into well designed web-services and web-based user interfaces that exceed our customers’ high expectations.”

“We are hiring Information system management graduates into service management positions. They are the ones who are working closely with customers, understand their problems, help them to solve problems and manage the transition from their in house information technology to the cloud computing environment. In this position, soft-skills and business knowledge are critical. As software is becoming more of a service than a product, more information system managers will be needed.”

“Getting experience as a summer intern has always been important to get a job at Amazon. Many students believe that if they are good academically, they can easily get a job but that is NOT correct. Having good grades in class is NOT enough; students need to focus on the professional side too. Summer internship is a valuable way for our company to make a judgment on students whether they are “good fit” or not. It is like before hiring we go through a trial period and we often make hiring decision at the end of the internship. Many students often wait until the end of the third year to go into internship, which is too late. Students must consider summer internship as early as the second year in college. The more working experience students have, the better position they get and of course their salaries are adjusted accordingly. Sometime students are asking why they come from the same school with the same degree and graduate at the same time but some receive better offers than others. Because some students have two years of internship when others only have one. Working experience can add 5% to 10% more in salary and sometime they receive better positions. We think students should have one to two internships before they graduate.”

I asked: “How are students supposed to get experience if no one wants to hire them as interns because they do not have experience?”

He said: “Good students should not allow certain obstacles get in their way. I know of many students who start looking in their first year for internship positions. Although they do not have good technical skills yet, they apply anyway because what they want is just working experience so by the time they go into second or third year; they already have some work experience. Internships provide companies with the opportunity to test the skills of students as well as know the students as persons. When positions open up and we have interns that are doing a good job, we would put them in those positions.”

“Another way of getting experience is working on capstone project. Capstone is where students apply what they have learned in the past three years into a real project where they assume different roles and responsibilities. Capstone requires students to learn quickly on a specific issue area; improve their skills such as project management and teamwork; and develop competency in gathering, analyzing, and reporting out on data. For some software students, capstone is a requirements rather than a learning opportunity so they do not pay much attention to it but just do enough to pass the course. It is a mistake because we will ask a lot of questions on their capstone experience. We want to know what their roles are. What they do? And what the problems that they solved are? How do they solve them? What are other issues that they are experienced during the project? Students that do not actively involved or just follow others will not be able to explain it clearly. Students must understand that capstone is an opportunity to apply all of their learning to solve a problem in a real environment, in an unpredictable, complex environment and that is why we count it as working experience.”

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University