ACM CareerNews for Tuesday, March 26, 2019
ACM CareerNews is intended as an objective career news digest for busy IT professionals. Views expressed are not necessarily those of ACM. To send comments, please write to email@example.com
Volume 15, Issue 6, March 26, 2019
There has been a 56 percent increase in data science job openings in the U.S. over the past year, according to LinkedIn. As a result, there are many new opportunities to give your tech career a boost. The key element that will get you into data science is experience. For employers, the hands-on component is critical when looking at candidates. Recruiters advise people keen on entering the field to work on projects, whether that is on your own, studying, or as part of a business environment. If you can really solve problems involving data, that fact can really differentiate you from the field.
As a first step in becoming a data scientist, take a look at free online courses in data science. Any interested IT or business professionals should dabble in some of the free education platforms online, from providers such as Coursera or Udemy. A decade ago, you would have had to go through a training course with a big corporation, and you would have been upskilled that way. Now, the courses are all free. All kinds of people are keen to develop data science skills. These individuals are not just recent graduates. Professionals in existing jobs from a traditional business background also want to upskill. People know this area is very exciting, and view data scientist as one of the most attractive jobs of the twenty-first century.
In general, there are 10 questions software developer job candidates should be prepared to answer on a job interview. With so many companies actively seeking software developers to hire, those in the field must know how to prepare for an interview to land the right job with the highest salary. In general, when preparing for an interview as a software developer, candidates should try and get an understanding of the languages and technical stack of the company where they are interviewing. Read over the job description thoroughly for any clues into the technical skills you need to know. If a candidate is working with a recruiter, they can also ask them for any insight into the technical stack of the organization.
In a job interview, employers are looking for a candidate who can clearly outline the set of applications and technology stack they have worked with in the past. Moreover, they want a potential employee to understand and be able to explain the business reasoning behind those applications. Candidates should showcase their understanding for how their role fits into the bigger picture and helps the company grow. For example, if a candidate works at an e-commerce organization, they should understand how the application they work on allows orders to be processed and helps track customer information. When asked to talk about a tough software development problem, this can become a good opportunity for a developer candidate to dig deep into a software development problem they have faced in the past and describe how they solved it. Show how your collaboration helped make the project successful, because all of software development involves teamwork.
Going to a coding bootcamp can increase your chances of landing a software engineering job. That is according to the latest survey from jobs site Hired, which reports that of the 13 percent of respondents who said they had attended a coding bootcamp, 76 percent said the experience helped them land a software engineering job. Meanwhile, 57 percent of employers surveyed said they would consider hiring a bootcamp graduate for an open role, while just 7 percent said of employers said they would not. It is no secret that there is a shortage of software engineers in the workforce today. Because of this, companies are becoming more flexible in terms of non-traditional credentials from potential employees.
As a way of keeping up with this increased corporate demand for software engineers, Silicon Valley bootcamps have become increasingly popular in recent years. These nine- to 18-week accelerated programs arm students with the skills needed to compete in the job marketplace as engineers and computer scientists, with no previous coding experience required. That, coupled with pent-up demand for software engineers, is why program applicants come from different backgrounds. Getting into a coding bootcamp, however, can be a challenge. For instance, the average acceptance rate averages below 20 percent and can go as low as 5 percent.
Machine Learning Engineer: Best Job in the United States?
Dice Insights, March 18
According to a new study by Indeed, the best job in the United States is machine learning engineer. The job-posting website reached that conclusion after analyzing two factors: fastest job-posting growth between 2015 and 2018, and highest average salaries. In other words, people are hiring lots of machine learning engineers, and they are willing to pay top dollar for them. Indeed estimated the average machine learning engineer salary at $146,085, and its growth between 2015 and 2018 at 344 percent. That outpaced other technology jobs on the list, including full-stack developer, which came in third with a $114,316 average salary and 206 percent growth.
In big tech hubs such as New York and San Francisco, the salaries for tech pros skilled in machine learning and artificial intelligence are at record levels. According to an analysis that Dice ran late last year, machine learning experts could pull down an average of $165,760 in New York City, and $154,096 in San Francisco. That is before you throw in perks and benefits such as flexible hours, stock options, and healthcare. If you want to become an ML engineer (or any kind of expert in the AI field), it is going to take quite a bit of education. Fortunately, there are a variety of online materials to help with that, much of it produced by companies that are looking to support a particular approach or platform.
How To Find DevOps Staff Who Are Good at Both Technology and People
InfoWorld, March 15
When it comes to IT recruitment, employers are equally balanced in looking for soft skills and in looking for technical skills. As a new DevOps Institute study points out, this desired balance is for both promoting people from within and finding skilled people outside the company. For C-level executives and IT management, business skills were considered particularly important. The study found a distinct correlation between must-have and nice-to-have skill sets. Automation, cited by 57 percent of respondents as must-have, beat out process (55 percent) and soft skills (53 percent). The takeaway lesson is clear: DevOps is more about people and culture than it is about tools and technology.
For recruiters, the difficulty is hiring for both tech skills and soft skills. You can find the deep technology people who do not have the best soft skills, and you can find the people with the best soft skills who do not have the best technology skills. But how can you find the right combination? The best strategy is to hire people who are somewhere in the middle of the spectrum for both technology and soft skills. They might need help in adjusting their skills for the side of the spectrum where they are weaker, but at least they are already part way there. To help them make the adjustment, you use positive reinforcements such as bonuses around desired outcomes. Or, you can use mentors who have the desired skills and are cultural leaders.
6 Tips to Update Your Resume in a Hurry
The Enterprisers Project, March 14
One of the biggest career mistakes an IT leader can make is not being ready when recruiters call. Even people who are happy in their current jobs can miss out on great roles or networking opportunities because they are not prepared. The last thing most busy IT leaders are thinking about is updating their resume. However, being able to act quickly is important: when executive recruiters call, they are expecting that candidates can send over an updated resume very quickly. Using six different tips, IT leaders can quickly refresh their resumes when an unexpected call comes.
First, start with the easiest information to update on your resume. Make sure your contact information is updated, including current mobile number, email and LinkedIn profile vanity URL. Also, be sure to address the top three goals the prospective employer has in mind for its next hire. Once you know what the employer is looking for, be sure you have measurable achievements listed that demonstrate how you either have done these things already or can show how you are positioned to do these wins as next steps in your career. You can also freshen up your font to give your resume a new look. For example, some fonts, like Courier or Times New Roman, feel dated. If you have 20-plus years of experience, it can contribute to the overall vibe of your candidacy as looking outdated.
How To Recruit and Retain Developers
Tech Republic, March 20
Employers can effectively use professional development opportunities to attract and retain top engineering talent. As revealed in a Stack Overflow report, one of the most important requirements developers have for their employers is professional development. They want to learn and need the opportunity to expand and refine their skill set. Whether at a big or a small company, developer curiosity and the passion for learning persists as the top motivator. Companies that want to attract and retain their engineering talent need to take note. Money is a poor motivator, but 45 of respondents mentioned the desire to learn skills and to engage their curiosity.
In order to recruit and retain developers, you first need to understand developer demographics. According to survey data from Evans Data, the median age of developers is 35, with most (65%) developers having at least six years of development experience. While the self-taught hacker is a popular concept in the media, the reality is that developers tend to be highly educated, with 89 percent of the developer population earning at least an undergraduate degree, and 49 percent earning an advanced graduate degree. According to the Evans Data survey, 80% of developers believe a Computer Science degree is at least somewhat important in their field. Perhaps counter-intuitively, the younger the developer, the more he or she believes formal CS education is critical to future work.
How To Bounce Back After Being Let Go From a Job
Silicon Republic, March 20
Being dismissed from your job does not have to mean any loss of your career momentum. Understandably, you may be feeling lost, demoralized and a bit confused. That is perfectly normal, say recruiters, and in fact, they advise candidates to take time to get over the initial shock or anger. Confide in the people you trust and do not be ashamed to talk honestly about what has happened. Once you open up to people, you might be surprised at how many of them admit to having been through the same experience.
After you have been let go from a position, you need to assess why it happened, and how you can learn from the situation in order to become a stronger job candidate in the future. Ask yourself where things went wrong, but do not beat yourself up as you answer this. Once you have all of the feedback in front of you, it is time to take a step back and ask yourself some uncomfortable questions. For example, what was the root cause of the problem that led to your firing? For instance, perhaps you missed your sales targets because you did not understand the products that you were tasked to sell.
Owning the Environmental Impact of Computing
Communications of the ACM, March 2019
Practitioners within the computer science field should be taking a closer look at the environmental impact of computing. It is time for the computing community to face up to its growing environmental impact and take responsibility for it. Members of the CS community should be undertaking research projects to help reduce this growing impact. The reality is that computing technologies and systems must be designed and shaped for lower carbon and environmental impact. One approach is to adopt goals equally ambitious to those of the climate community in terms of the manufacture, construction, and operation of computing technologies.
Once CS leaders adopt an environmental mindset, the ultimate goal becomes a 100 percent carbon-free environmental impact. The consolidation of enterprise computing into efficient cloud datacenters has for a decade blunted the impact of growing computing use. However, computing is the fastest-growing use of electric power in the developed world, and is driving the build-out of power generation and transmission in much of the developing world. If the world is to meet ambitious goals for greenhouse gas emissions, computing must reduce its direct emissions. Equally daunting is the rapid growth of waste from computing electronics, notably consumer products, smartphones, and the growing number of smart devices collectively known as the Internet of Things. In 2016, e-waste reached 44.7 million metric tons per year, an 8 percent increase from only two years earlier. Of this massive quantity, only a fraction is collected and recycled, with the largest fraction simply dumped into landfills or incinerated.
Computer Science Was Invented To Teach Everyone About Everything
Blog @ CACM, March 17
The current discussion about the importance of computational thinking ignores the fact that computer science was originally invented as a tool to enable STEM thinking. From a historical perspective, one of the earliest goals of computer science was to provide computing to teachers and students at all levels, especially within the STEM disciplines. For early pioneers in the field, computers were the third leg of literacy for STEM students. The most valuable acquisitions in a scientific or technical education are the general-purpose mental tools that remain serviceable for a lifetime, and for that reason, computer science was just as important as mathematics.
Back in 1961, Alan Perlis, the first ACM Turing Award laureate, suggested that all university students take a course in computers, and that they should all learn programming. He argued that programming gave students a new way to see the world and solve problems, both within their own discipline and all other scholarly activities. Other CS pioneers were interested in the computer as a support for learning activities, especially for children. They made the claim that children can learn to program and learning to program can affect the way that they learn everything else. The point is not to teach computer science for its own sake, or as vocational training, but as a support for learning in any discipline.
Copyright 2019, ACM, Inc.