ACM CareerNews for Tuesday, August 10, 2021
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 firstname.lastname@example.org
Volume 17, Issue 15, August 10, 2021
In the wake of the COVID-19 pandemic, the U.S. could be on the brink of a major economic boom over the next 12 to 18 months, which means this year could be the optimal time to start making a career change. This is especially true for technologists with highly sought-after STEM skills and experiences. Based on extensive industry analysis, the highest-paid and most in-demand STEM jobs in 2021 include network architect, software developer, data scientist and software engineer.
Network architect ranks as one of the highest-paid and most in-demand STEM jobs. Network architects are responsible for designing and building data communication networks including LANs, WANs, and intranets. They usually work closely alongside the CIO and computer system engineers to identify where new networks are needed, and how they will benefit the organization. In order to land this position, you will need an undergraduate degree in a relevant field such as computer science or computer engineering. Network architects often begin their careers as computer systems analysts. Software and web developers are also experiencing a sharp spike in demand. The sudden shift to remote working and the acceleration of digitization means demand for software and web developers will grow exponentially in the coming years. These professionals will be tasked with building and maintaining remote digital services as well as developing user-friendly online tools and platforms for e-commerce customers. Organizations typically prefer to hire professionals with an undergraduate degree in a relevant field such as programming or computer science. However, there are plenty of entry-level coding courses that will equip you with the knowledge and skills you need to start a career in this field.
The new 2020 State of Software Engineers report from Hired shows which software engineering jobs have the highest demand, how salaries have grown, which coding codes are in greatest demand, and where software engineers are more likely to find good remote work opportunities. In preparing this report, Hired analyzed its database of interview requests and salaries from January through November 2020 to identify hiring trends for software engineering jobs. The database included information from 72,000 candidates and 148,000 interview requests. With more organizations investing heavily in work from home and study from home technologies, software engineers are now in a great position when it comes to demand for their skills.
When measured by the absolute volume of interview requests, 2020 was a very good year for software engineers looking for new positions. According to data from Hired based on interview requests via the Hired marketplace, back-end, full-stack, and front-end software engineers all landed well over 50 percent of all interview requests for software engineers in 2020. Overall, though, interview demands for software engineers as a whole were down slightly in 2020 compared 2019. Disruptions from the COVID-19 coronavirus pandemic paused hiring for one or more months. Back-end software engineers landed more than 50 percent of all interview requests for software engineering roles. In addition, data engineers landed 9 percent of all interview requests, mobile engineers landed 8 percent, machine learning software engineers 6 percent and search software engineers 3 percent.
According to a new analysis from TechShielder, Washington, D.C., Singapore and Berlin are the best places for cybersecurity professionals to find a well-paid job. The analysis measures job availability, the average salary and the cost of living and combines the three factors to generate an overall score. Singapore has the most open positions but also the highest cost of living and an average salary of $77,491. Cybersecurity jobs in D.C. pay well at $117,998 per year and there are lots of positions available, but the cost of living is high, second only to Singapore.
The list of Top 10 cities for cybersecurity roles includes Washington, D.C., Singapore, Berlin, Brussels, Ottawa, Vienna, London, and Tokyo. Generally speaking, the cities on the list represent the best career opportunities for cybersecurity professionals. Due to the current talent shortage worldwide, companies are getting creative in the competition to hire people with cybersecurity skills. This includes flexible work arrangements, signing bonuses and other perks. Overall, recruiting security talent from nontraditional backgrounds is a significant trend in the industry. This includes looking for internal candidates who are interested in cybersecurity as well. Going forward, companies need to get better at finding people with the right fundamentals and then investing in these employees. Well-supported employees are more likely to stay as long as they are seeing value in your organization.
These 12 Cities Pay Software Engineers the Most
Business Insider, August 7
A recent analysis of the 30 most future-proof jobs showcases software developers and software quality assurance analysts as top selections, with over 300,000 software-related jobs to be added by 2029. With the popularization of remote work, there is now more attention than ever to how software engineers are paid in different locations. It is no longer the case that software engineers need to head to locations like Silicon Valley or New York City for highly-paid jobs. With that in mind, Business Insider used its salary comparison tool to find the twelve cities where software engineers are paid the most.
Eleven of the twelve highest-paying cities are in the San Francisco Bay and Silicon Valley area. High-profile cities such as Los Gatos, Menlo Park, Cupertino and East Palo Alto all made the Top 5. The fifth-highest city, and the only one outside of California, is New York City. As part of its analysis, Business Insider selected all job titles in the database that included both the terms software and engineer. The salary database also included recently accepted visa applications for immigrant tech workers.
5 Tips to Move Past the Ideal Candidate Trap
The Enterprisers Project, July 28
The traditional hiring process relies too much on a lengthy list of skills or certifications to find the ideal candidate. The result, quite simply, is that many companies lose out on the opportunity to hire gifted individuals who do not fit the traditional mold. Instead, organizations should be jumping through hoops to ensure that more candidates, particularly those with uncommon backgrounds, can complete the application process and accurately describe their unique skill sets. This requires a major shift in the focus of hiring. While skills assessment plays an important role in hiring, an early overemphasis on skill-matching can focus on pedigree at the expense of promise and potential.
Thoughtful and holistic evaluation of candidates should become the driving force of the hiring process, rather than merely an afterthought during interviews. There are a few guidelines that can help make that happen. For example, organizations can start with values and potential. Early in the traditional hiring process, companies typically narrow their search around qualifications or work experience to find the right candidates. By concentrating on what someone has done in the past, companies may overlook what that individual is capable of doing in the future. Only late in the interview stage do hiring managers dig into intangible qualities like curiosity, creativity, and collaboration. To hire diverse and creative teams, organizations can flip this process on its head. For example, they can look at volunteer activities, extracurricular accomplishments, passion projects, and life experience to understand what gives candidates a sense of purpose.
How Not to Lose IT Employees During the Great Resignation
Information Week, July 29
With the pandemic forcing businesses to accelerate their digital transformations by three to four years, IT leaders are now in desperate need of talent to execute on aggressive strategies. What most IT executives fail to realize is that employee attrition is equally if not more detrimental to their businesses than the ongoing talent shortage. Nearly all workers are considering changing jobs, and the mass exodus is already underway. Many IT workers feel overwhelmed, unappreciated, and at their breaking point. Generally speaking, employees are re-evaluating their careers against the backdrop of shifting priorities, and organizations need to take steps now to keep them onboard.
As businesses continue to develop their go-forward plans for how and where employees will work in the new COVID era of work, IT talent is deciding whether those plans fit into theirs. If not, they have lots of other options. As a result, it is time to treat employees like candidates, and that means it is also time for the employee value proposition (EVP), a term understood largely only within HR circles, to make its way to IT. The EVP is essentially the value a company offers to its employees in exchange for their commitment. It goes beyond compensation, benefits, and perks to explain what makes the experience unique for employees. The EVP captures the essence of a corporate culture, the why of an organization. The biggest missed opportunity when it comes to an EVP is that is used only as a way to attract new employees instead of retaining existing ones. If IT leaders operate under the assumption that 95 percent of the workforce is considering leaving, then everyone should be treated as candidates. Operating under this new mindset means that all managers should care about the EVP, not just recruiters. Unless a company is a huge technology brand, attracting and retaining talent based on name alone will not work.
Advice for Software Developers Entering the Job Market
Built In, July 13
Recently graduated software developers often ask what companies are looking for in an entry-level hire. The answer to that question is one word: potential. It is much easier for companies to hire for senior or highly specialized roles because in these roles prior achievements paint a picture of candidate capabilities and what drives them. But entry-level tech workers are a blank slate with short resumes. Identifying entry-level developers who are likely to become an integral part of the team is an art and a science. With that in mind, it is important that hiring managers put into place a system for assessing potential and develop new metrics for ranking the suitability of non-traditional candidates for new open positions.
Many hiring managers assess potential by relying on commonly available achievements or attributes, such as which university a candidate attended, or which internship the candidate had at a major tech company. Putting aside the negative societal implications of that approach, it is a poor predictor of success and one which excludes some of the brightest engineers. There are characteristics that are more predictive of success than access to education, and you do not usually need a fleet of diagnostic tools to identify them. It comes down to an open-mindedness for learning and a passion to gain a deeper understanding about the internal workings of technology. It is easier to exhibit these traits today than in the past. Also, even though technology is changing rapidly, most of the time it is layers of abstraction on top of existing fundamentals. Networking protocols, networking layers, load balancing algorithms and solutions, security best practices, filesystems and CPU architectures are great places to start. A strong understanding of any of these fundamentals will enable a new team member to grow.
How AI Can Help Choose Your Next Career and Stay Ahead of Automation
The Next Web, July 30
As new technologies automate labor, artificial intelligence could help future workers deal with the problem of disappearing jobs and disrupted industries. The important point to keep in mind is that new technologies also create new jobs, but the skills they require do not always match the old jobs. Successfully moving between jobs requires making the most of your current skills and acquiring new ones, but these transitions can falter if the gap between old and new skills is too large. Future AI systems could recommend career transitions, using machine learning to analyze millions of online jobs to see what moves are likely to be successful as well as which skills you may need in order to make these transitions work.
Any AI system starts by measuring similarities between the skills required by each occupation. For example, an AI system might use a measure economists call revealed comparative advantage to identify how important an individual skill is to a job, using online job ads as a reference point. Any map of online job skills, then, could help to visualize the similarity of the top skills. Once we know how similar different skills are, we can estimate how similar different professions are based on the skills required. Visibly similar occupations would grouped closely together, with many highly skilled occupations facing the lowest automation risk.
The Future of Machine Learning: Declarative Machine Learning Systems
ACM Queue, August 2
In the past 20 years, machine learning has progressively moved from an academic endeavor to a pervasive technology adopted in almost every aspect of computing. Machine learning-powered products are now embedded in every aspect of our digital lives, from recommendations of what to watch, to figuring out our search intent, to powering virtual assistants in consumer and enterprise settings. However, these examples of ML adoption are only the tip of the iceberg. Right now, the people training and using ML models are typically experienced developers with years of study working within large organizations, but the next wave of ML systems should allow a substantially larger number of people, potentially without any coding skills, to perform the same tasks.
New ML systems will not require users to fully understand all the details of how models are trained and used for obtaining predictions (a substantial barrier to entry) but will provide them a more abstract interface that is less demanding and more familiar. Declarative interfaces are well-suited for this goal, by hiding complexity and favoring separation of interest, and ultimately leading to increased productivity. For example, two declarative ML systems (Overton and Ludwig) require users to declare only their data schema and tasks rather than having to write low-level ML code. The goal of any researcher, then, is to describe how ML systems are currently structured, to highlight which factors are important for ML project success and which ones will determine wider ML adoption, the issues current ML systems are facing, and how the systems developed address them.
Software Learning: The Art Of Design Regret
Blog @ CACM, August 2
Retrospectives have long been a part of software engineering practice, and it can be tempting to look at prior efforts and label every decision as a flaw or bug based on current insights and perspectives. However, this is not a constructive attitude as understanding the context of prior decisions is critical. Factors such as available budget, resources, technical options, and target schedule all interact to affect the decision-making process. Only by understanding design context can we differentiate between the preventable and the unavoidable, and similarly understand what we could reasonably beat ourselves up about or what we need to just let go.
Anachronistic regret is one type of regret experienced by software developers. This is the case when a framework or technology option did not exist at the time of a design decision, but regret is felt for not having those options anyway. While this can make for some interesting hypothetical discussions, such as the effects that personal computers could have had in the 1960s space race, it can also be taken too far. Actual mistake regret is what happens when real-world mistakes are made that could have been avoided. These mistakes usually involve flawed assumptions and human fallibilities that lead directly to coding mistakes and improper inputs.This type of regret is so common that many books have been written on this subject,
Copyright 2021, ACM, Inc.