Tag: careers

  • Analyzing SRE Job Postings

    Analyzing SRE Job Postings

    You can find plenty of high-level definitions out on the internet about what site reliability engineering means and what site reliability engineers do.

    But if you want to understand what it’s actually like to work as a site reliability engineer, there is perhaps no better source than job descriptions. SRE job ads explain what real companies are looking for and what they expect on a day-to-day basis.

    To provide insight on what SRE looks like in practice, we’ll look at some job ads from several leading companies. As we’ll see, each company has a slightly different take on what the site reliability engineer role entails, but it’s possible to identify some core themes that underline what businesses expect.

    To understand the content of SRE job descriptions, let’s examine examples from four leading companies.

    GitLab’s Job Ad

    GitLab’s SRE job description contains most of what you would expect from a typical site reliability engineer job ad. It highlights the importance of having a mix of technical skills and collaboration skills. It also emphasizes expertise in areas like Unix/Linux, infrastructure-as-code and Kubernetes.

    What may be slightly surprising, however, is the emphasis that GitLab’s job description places on programming skills. GitLab expects SREs to know how to code in specific languages, like Ruby and Go. The takeaway is that SREs need to know more than just how to use code to solve IT operations problems. They must also be able to develop applications or contribute code to application platforms (the job description mentions “contributing to code in GitLab” as a required SRE technical skill).

    Also interesting is the fact that GitLab expects site reliability engineers to be able to write blog posts. Blogging may not be one of the first skills that come to mind when you think of a site reliability engineer’s responsibilities, but at GitLab, at least, it’s part of the job.

    LinkedIn’s Job Ad Template

    LinkedIn provides an SRE job ad template that businesses can use when posting their own SRE jobs on the site.

    LinkedIn’s ad is pretty high-level (which is unsurprising, given that it’s a template rather than an ad for a particular job). For the most part, it doesn’t mention specific tools—although the main exception is programming languages, where it says SREs should know how to code in languages like C, Python, JavaScript and Ruby. Like GitLab, then, LinkedIn clearly sees development as a core SRE job responsibility.

    The LinkedIn job description also places a heavy emphasis on the ability to “gather and analyze metrics.” It doesn’t use the word “observability,” but that seems to be what LinkedIn is getting at.

    An SRE Job at Microsoft

    Continuing the theme of development-centric SRE work, a recent job ad for a specific SRE opening at Microsoft reads a lot like a DevOps engineer job description. The ability to “design, write and deliver software” is the top responsibility listed in the ad, which also mentions familiarity with CI/CD tools.

    The Microsoft job description also mentions the importance of written and verbal communication skills. Unlike GitLab’s ad, this one doesn’t say SREs will need to write blog posts; still, it’s clear that companies expect people in this role to be creative communicators in addition to technical experts.

    It’s worth noting, too, that Microsoft wants site reliability engineers who know both Windows and Unix. If you need further proof that Unix skills are absolutely central to SRE work, look no further than this job ad from the company that created Windows.

    Amazon’s Site Reliability Engineer Ad

    Even Amazon—a company that is more of a platform provider than a software vendor—places major emphasis on the ability of SREs to code in one of its recent SRE job ads.

    Interestingly, the Amazon job also highlights networking skills as a major qualification. That’s understandable given the complexity of networking in the AWS cloud. But it’s a bit surprising because most other site reliability engineer job ads don’t call out networking expertise as a key skill—despite the fact that network engineering is critical to SRE work.

    The Amazon job description mentions the importance of an applicant’s willingness to be on-call, too. We suspect that’s critical in virtually any SRE job, but at least Amazon is upfront about the fact that, at time, you’ll be woken up at 4 a.m. to manage incidents.

    Conclusion: Takeaways

    There are a few key takeaways from these various SRE job descriptions.

    • Development skills are absolutely critical in order to be an SRE. Scripting for administration or IT Ops purposes is not enough on its own.
    • The ability to communicate clearly—including both verbally and in writing—is more important to SRE work than you may realize.
    • Network engineering skills, too, are a crucial part of SRE jobs, at least at some companies.
    • In practice, SRE job descriptions sound more similar to DevOps job ads than you might expect.

    This is not to say that all SRE roles are identical or that all companies expect the same things from their SREs, of course. But the jobs ads or templates we’ve surveyed do highlight how the high-level understanding of SRE translates to on-the-ground reality at actual companies.

  • Majority of Software Engineers Want Remote Work Options

    Majority of Software Engineers Want Remote Work Options

    The pandemic brought unprecedented change to the digital ecosystem, impacting users, companies and software engineers alike. COVID-19 accelerated ongoing digital transformation and forced many organizations to innovate rapidly. Newfound reliance on digital experiences increased demand for software programmers, exacerbating demand in a market already short on talent. In this era, work-from-home (WFH) became commonplace and most engineers moved toward full-time remote work positions.

    Having had a taste of freedom from corporate settings, most developers now want remote work options in a post-pandemic future. A significant amount also desires to work 100% remotely. As a result, many companies have instituted permanent work-from-home policies. Yet, they are still grappling with the repercussions of a fully remote workforce. For example, there are differences of opinion about whether to adopt location-based salary adjustments and whether or not those remote workers should be granted unique employee benefits.

    The 2021 State of Remote Engineering Report, conducted by Terminal, surveyed 1,100 software engineers in North America and explores how the pandemic has affected the remote developer workforce; showcasing both the positive and negative effects of remote work on engineers. Interestingly, the report exposes international talent’s declining interest in physically moving to the U.S. as domestic conditions worsen and remote work becomes more globally accessible. Below, we’ll explore the key takeaways from the study to posit how this new normal is influencing the productivity, morale and recruitment of software engineers in North America.

    The New Normal: Remote Work

    The new normal has dramatically shifted the status quo. Impressively, findings show that 86% of engineers are currently working 100% remotely. This is in stark contrast to the pre-pandemic numbers, which showed 19% working remotely 100% of the time. Many of these employees prefer to keep these new working arrangements and standards in place going forward. The study found that 80% of engineers surveyed want options for working from both home and the office, and one out of three want to work remotely 100% of the time.

    There are many reasons why engineers prefer the flexibility of remote work to the traditional workplace. For one, there is no need to commute, thus saving time and energy. Engineers also cite an improved work-life balance and appreciate the increased autonomy. It also appears that many organizations handled the shift to remote work effectively—74% of engineers say their companies adapted well to remote work. Due to these positive results, 76% of engineers would be happy working fully remote 60% of the time or more.

    Remote work not only benefits software engineers but could also bring productivity enhancements to help achieve business goals. Without workplace distractions, 70% of engineers surveyed reported they are more productive when working from home. Yet, this new normal isn’t without its drawbacks. As the traditional corporate firewall diminishes, CISOs struggle with a dilemma: striking an ideal balance between granting new IT freedom and locking down systems and restricting access to adopt a zero-trust mindset.

    Issues With the Pandemic and Remote Work

    Of course, there are some other drawbacks associated with full-time remote work. A lack of day-to-day interaction with coworkers is a challenge cited by 58% of participants in this study. For 39% of engineers, it’s harder to collaborate or feel part of a team in this new dynamic. Burnout or lack of motivation and home-based distractions can also be barriers for remote-working engineers. The loneliness of at-home work can take its toll; 38% say their mental health has gotten worse amid the pandemic.

    Companies also face challenges recruiting within this new paradigm. The talent shortage remains a big issue for many companies trying to rapidly deliver new software; 64% of engineers say there is a software engineer shortage and 65% say this gap holds back technical development. Though there is a clear skills gap, most companies are not offering adequate benefits coverage to entice full-time workers. Of these benefits, 23% of engineers would like a home office stipend for utilities, internet and other expenses; 22% also want more flexible work hours and 11% desire new technology and productivity tools. And 26% of engineers also ranked support for mental health as one of their top three sought-after benefits.

    The report also addresses some inefficiencies associated with hiring engineers for remote positions. For 59% of engineers surveyed, recruitment involves far too many interviews. Many of us working in IT can likely attest to being approached by LinkedIn scouts with irrelevant offers. As such, 40% of engineers say they are often interviewed by people who don’t understand the technology. Other recruitment issues include generic interviews and long delays, both of which could frustrate candidates. It appears companies must fix their hiring practices or risk losing potential talent.

    The Era of Employee Choice

    If anything, the State of Remote Engineering report drives home the imperative to consider full-time remote work as a viable option for prospective hirees. To fill engineering labor shortages, some U.S.-based companies have historically flown in international talent. Yet, the desire to move to work in the U.S. is declining. In fact, 39% of engineers have no interest in moving to the U.S. for a job. Engineers cite crazy politics (56%), gun violence and safety concerns (55%), racism (47%) and mishandling of the coronavirus (51%) as reasons not to move to the U.S. The idea that employees must remain in physical proximity with a company’s headquarters is changing; thus, companies will have to go where the existing talent already lives.

    In addition, today, engineers have more bargaining rights than they did in the past. “The era of employee choice is here,” said Clay Kellogg, CEO, Terminal. If we’re in a seller’s market, engineers are the ones to profit. Increased bargaining rights could mean remote engineers may demand equal pay, no matter their location. The study found that, on the whole, engineers are not in favor of location-based salaries; 49% say they would only accept a location-based salary if their cost of living dropped by 20%.

    In addition to offering competitive wages, teams are finding creative ways to maintain culture and avoid burnout. For example, 55% of engineers think virtual get-togethers like happy hours and social activities help stave off burnout. With all these findings in mind, companies should consider instituting a work-from-anywhere policy wherever possible and provide additional benefits and support for remote workers to attract more engineering talent.

    The State of Remote Engineering surveyed over one thousand software engineers across the U.S., Canada and Latin America. For more granular details, consider viewing the full report here.

  • Should You Hire a Clojure Engineer?

    Should You Hire a Clojure Engineer?

    Quite often, when developing applications, it becomes necessary to execute long-running code at the same time as performing other tasks. More recently, to run a program on the Java virtual machine (JVM) it was necessary to write the program in Java. Those days are long gone due to the wide variety of programming languages ​​for the JVM. Clojure is a general-purpose dynamic language developed by Rich Hickey for the JVM. One of the main goals of an engineer who speaks this language is to simplify the process of writing a program with multiple threads that are accessing data simultaneously. What, exactly, is the role of a Clojure software engineer and how can they improve the functionality of its products?

    What Problems can a Clojure Software Engineer Fix?

    A good programming language should help us write transparent and straightforward programs. The software systems that humans create are inherently changeable. In development, it is impossible to foresee all situations in advance, especially when the system’s complexity only grows over time. Even the slightest code change can potentially lead to significant changes in overall system behavior. As a developer, it’s necessary to study carefully, analyze the code and predict each shift’s side effects. Over time, and with greater complexity, it becomes close to impossible to thoroughly analyze all the possible consequences of our changes.

    The Clojure language was created to overcome these challenges. Clojure has a more convenient and modern syntax that orients the user to the functional paradigm as much as possible. Despite the dynamic typing of the language, Clojure programs are compiled into JVM bytecode and integrate seamlessly with existing Java programs. Clojure has now been implemented for several platforms, the most notable of which are the JVM, .Net, and JavaScript. Because it runs on the JVM, Clojure code is portable, stable, reliable and secure. Each operation in Clojure is implemented in three forms: function, macro or special form.

    Typically, complexities in computer programs cause side effects. This language helps to localize those and makes writing functions cleaner. This makes testing easier for the developer, too, since they don’t have to try different queues and find the correct state of the inputs.

    What to Look for When Hiring

    Large companies in particular value senior full-stack Clojure software engineers who can work across a number of tasks from analytics to coding, testing and DevOps.

    Among the problems that a Clojure software engineer can solve for an enterprise are:

    • Development of front end and back end systems
    • Creation of algorithms for load distribution by competencies/user workload
    • Design of modules for forecasting the load users create on systems
    • Machine learning in Clojure.

    Here is the example of a Clojure engineer’s résumé:

    Clojure is also an expression of a developer’s ideas about how simple a programmer’s tool should be. Clojure typically uses only four data structures: list, vector, display and set. The main API is built around these four structures. The main abstraction in Clojure is a pure function that has no side effects and is therefore much more reusable.

    To date, many libraries have been written for Clojure, including those for developing simple and modular web applications. A Clojure program is an open architecture constructor, which means developers can choose for themselves which libraries to use regardless of which others they may have chosen previously.

    Clojure Engineer Salary

    Salaries for Clojure software engineers in the U.S. average $129,887, while a Clojure software engineer’s salary in the UK is $69,910. In Canada, the typical Clojure engineer’s salary is $61,780 and in Germany, $69,089. Clojure software engineers in Ukraine earn an average salary of $38,000.

    Value to the Enterprise

    Enterprise software performance requirements dictate the need to use parallel computing to interact with each other and work at the same time. Existing languages ​​are poorly suited for parallelizing tasks. They contain many object and state dependencies, which translate to systems with unpredictable behavior in parallel interactions. Solutions based on locks and traffic lights do not greatly simplify the implementation of these tasks; the fundamental problem of the system’s state’s dependency on the sequences of object interaction remains.

    By using Clojure in web development, a programmer can develop using other minor, task-focused languages. ClojureScript, for example, compiles quickly to JavaScript and runs in the browser. All of this provides an entirely new approach to building client applications.

    Since Clojure seamlessly integrates with any Java code and can be deployed on standard Java application servers, it is well-suited to web application development, too. The flexibility of the language and its incredible expressiveness allows developers to create fully functional web applications very quickly.

    All a developer needs to work with Clojure is the JDK and the Clojure library which are contained in a single JAR file. There are two standard ways to develop and run Clojure programs: The most common way is to use a simple interactive REPL, a read-compute-print loop.

    Since Clojure is a general-purpose language, it is not difficult for a programmer to find a use for it. Since it is based on the JVM, there is already a massive selection of libraries available, which significantly lowers the entry threshold for developers skilled in other languages and removes the need for developers to write code from scratch.

    Clojure can be used wherever modern, efficient, stable data structures are needed. Of course, there is no one-size-fits-all tool that can handle all types of development tasks. However, the fact that a Clojure developer can use the language for client-server communication is yet another advantage.

  • How To Address DevSecOps Skills Shortages

    How To Address DevSecOps Skills Shortages

    “If it’s scarce, it drives the price up,” said McAfee director of systems engineering Sahba Idelkhani. And DevSecOps talent is scarce, and expensive.

    Restrictions on international travel are having an effect on immigration in some countries, notably Australia. But there’s practically nothing employers can do about that.

    But some aspects of the supposed skills shortage are, in part, self-imposed. One example is recruitment ads that specify “5+ years’ experience required” (or something similar) when that level of experience is only a desirable characteristic.

    Such practices don’t just restrict the field of candidates for that particular vacancy, they also make it hard to find entry-level positions. If candidates can’t get a foot in the door, how can they gain the experience that employers say they want?

    DevSecOps Change is Needed

    Idelkhani suggests that organizations need to change their hiring practices and put more effort into reskilling existing employees.

    In particular, if you’re looking for DevSecOps people, he suggests it’s better to teach developers about security than it is to bring security specialists (who are also in short supply) up to speed about development. The result is less rework, reduced risk and shorter development timelines.

    However, there is a risk that security specialists will tell developers what they did wrong. Proactively educating developers about security is a more productive approach.

    Cloud Academy is one of many sources for online security training courses and includes hands-on labs, sometimes involving the same tools that criminals use to breach security. Other tips Idelkhani offered include adopting a “build secure” mindset to reduce the security effort needed after systems have been created.

    A similar perspective can be applied to entry-level positions.

    Idelkhani has hired new graduates, even though it requires effort to guide and train them to the point of being productive.

    He has even adopted this approach with experienced people that have no background in security, including a former CTO and mobile developers and a pre-sales engineer.

    Revamp job descriptions so more people can apply, urges Idelkhani, as aptitude and skill are more important than specific experience, which can be taught.

    For example, instead of a large financial services organization recruiting someone with experience in incident response for cloud systems, it would probably be better to hire an incident responder and then sponsor their cloud training, he suggests.

    Furthermore, a diversity program increases the supply of candidates, quite apart from the other benefits it may bring.

    DevSecOps Training

    Employers sometimes suggest training is a waste of time and money because people simply take their new skills elsewhere in search of higher pay.

    But Idelkhani reports that his staff turnover has, in fact, fallen over the last three years, and no one has left after being trained.

    He puts this down to establishing an “emotional connection” between employee and employer, at least in part.

    However, organizations do have to accept the need to pay people what they are worth as they master new skills. But standard HR practices don’t suit skills development situations, he warns.

    People usually won’t move from their current role or company for a 10% to 20% pay raise, Idelkhani said, but would be more willing to do so for the 200% to 300% increase that comes from being considered an accomplished worker rather than a mere trainee.

    At McAfee, he is able to argue for ‘pay for value’ raises for his team; that task is generally harder at larger organizations, he said.

    “It needs a rethink [of] HR practices,” he added.

    Planning

    Substantial raises tend to require approval from higher up in the hierarchy, and that requires a clear justification for the increase. He suggests this should be done in terms of the capabilities that are being built, not based on the numbers alone.

    Managers should look at the skills they are going to need in order to deliver on the business’s strategic goals and plans, and decide how best they can be obtained. An expected DevSecOps vacancy might best be addressed by hiring a cloud developer and training them in the necessary security skills, or by retraining a person with potential who is already on the payroll.

    “It’s a long-term process,” though, that requires a lot of management effort, Idelkhani said. Using this method means identifying people’s interests and skills, aligning them with company goals, identifying the skills gaps and then developing those needed skills. This requires a training budget and getting one approved means having clear plans.

    But once you have shown the value of this approach, senior management is less likely to question it in the future.

  • RecruitOps, A Better Way To Fill Technical Roles

    RecruitOps, A Better Way To Fill Technical Roles

    Today at MediaOps, we are really excited to announce the launch of RecruitOps, a new and exciting way for companies to find the right candidates for hard-to-fill technical positions. It’s also a great place to find your next career stop.

    Sitting at the nexus of a worldwide audience of the biggest DevOps, cloud-native and cyber talent pool in the world—and a destination where organizations ranging from startups to enterprises come to stay relevant—devopsy.kinsta.cloud and other MediaOps destinations provide the perfect partner for this mission.

    The Usual Suspects Don’t Work

    For the last three or four years, I’ve been receiving multiple calls every week asking if we can help organizations find talent to fill their open reqs. Finding and hiring good DevOps, cloud-native and cyber talent is difficult and expensive and can be frustrating. Many companies have discovered that job boards and LinkedIn-type solutions create lots of noise, yielding slim pickings of viable candidates. Most candidates are misfits, either skills-wise or geographically.

    Also, traditional recruiters are not only expensive but they also operate in factory mode, often flooding your inbox with resumes of candidates they haven’t actually vetted first. There is a better way to do this—we think we have cracked the formula.

    By the same token, I receive messages on LinkedIn every day from people I don’t even know asking to help them find a DevOps or cyber job. The process of applying and being one of many résumés in a pile is not something they excel at navigating.

    Over the years we have tried job boards and relationships with large job fulfillment organizations. None of them were very successful. They were just not an effective way of matching our large audience of DevOps professionals with the many companies and organizations looking to find the right talent to fill their technical roles.

    RecruitOps: A Better Way

    My co-founder at MediaOps, Martin Logan, has lived this dilemma for years now. His full-time roles have been in building large engineering, product and DevOps teams in the online travel, retail, mortgage and gaming industries. He has tried every method you can think of.

    What Martin discovered was that the most effective method was to work with a small group of recruiters. These recruiters had to be very familiar with the technology and technical requirements of a requested position. They had to be able to talk the technical talk and understand it. More than that, though, they had to understand the culture and environment in which the candidate would work and what it would take to be successful there. This kind of information is best gained by developing a strong personal relationship with the hiring manager and the manager of the prospective technical position.

    That is the model we have built RecruitOps around. Our founding recruiters are people Martin has personally invested months and years in training. They know how to find the perfect fit for your technical roles. They know how to work with your organization and what it takes to be successful. They will not throw résumés at the wall to see what sticks.

    This is not a high-volume, résumé factory. At RecruitOps our recruiters are very familiar with the technical requirements that candidates must possess. They spend a lot of time with the hiring manager and position manager to understand what the perfect candidate must have skills-, temperament- and team fit-wise.

    Our RecruitOps recruiters then spend a lot of time getting to know the candidates before they send them to you. Combining devopsy.kinsta.cloud, Security Boulevard, Container Journal and even the DevOps Institute, our pool of talent for these technical jobs is deeper than just about anyone. We will find you the perfect fit guaranteed, or you don’t owe anything.

    No Risk to You

    Yes, that is another feature of RecruitOps: There is no risk on your end. If our candidate does not work out, you don’t owe anything. There is no money upfront—it’s a risk-free proposition all around. You literally have nothing to lose and great technical team members to gain.

    Does this sound like a better way for you? If so, head over to RecruitOps.com and get started today.

    Likewise, if you are looking for your next career move, head over to RecuitOps and put yourself on our radar. It is the first step in working with us to find you the perfect fit as well.

    In the Middle of a Pandemic?

    I know what some of you are saying: Wow, we are in the middle of a COVID-induced economic catastrophe. Isn’t this an odd time to start a recruiting business? You may be right. But we think this is the perfect time to start RecruitOps. Companies are realizing that there is actually some great talent available. Still hard to find, but more available than six months ago, perhaps.

    Also, organizations that are digitally transforming need help from technical people to make these transformation happen in a secure manner. We are betting smart organizations are adding great talent if they can get it because great talent is always in demand.

    Are you a smart organization looking to add great talent? Head on over to RecruitOps.com.

  • How to Become a DevSecOps Engineer

    How to Become a DevSecOps Engineer

    The popularity and success of DevOps means it’s now an increasingly common feature in IT job descriptions.

    One of the most important roles within DevOps, however, is the Security Engineer or DevSecOps Engineer. This deeply rewarding career requires a specific technical skill set, current knowledge of cybersecurity trends and a decent amount of experience.

    Perhaps the best thing about this role is that demand is rising. You’ll find the need for such engineers is sky-high right now and will continue to rise as cyberattacks grow in frequency and sophistication.

    What Does Being a DevSecOps Engineer Involve?

    The work of a DevSecOps Engineer is like many other IT security professional roles. Both use a variety of best practice tools and methods such as cybersecurity software, threat modelling and risk assessments to detect and analyze threats.

    However, in keeping with DevOps practices, there are some key differences when compared to a typical IT security role.

    On DevOps projects, security isn’t an afterthought but is built into the software while it is being created, by using secure coding. During development, the software is attacked to find vulnerabilities, as opposed to running scans once it has been created.

    Collaboration is a core practice of DevOps, and therefore DevSecOps roles work alongside DevOps Engineers to ensure that security vulnerabilities are assessed and fixed during development. Automation tools to detect vulnerabilities play a key role, so DevSecOps need a good understanding of such toolsets.

    Knowledge of threats is shared with the whole team, instead of keeping it within the Ops silo team. Therefore, DevSecOps Engineers require great communication skills.

    What Skills Are Required?

    DevSecOps Engineers require a broad set of skills. They need the technical skill set of an IT security professional, as well as knowledge of the DevOps approach. They’ll also need a passion for cybersecurity, with sound awareness of the latest threats and trends. These are the main skills required:

    • Knowledge of the DevOps culture and principles.
    • An understanding of programming languages such as Ruby, Perl, Java, Python and PHP.
    • Strong teamwork and communication skills.
    • Knowledge of threat modelling and risk assessment techniques.
    • Up-to-date knowledge of cybersecurity threats, current best practices and latest software.
    • An understanding of programs such as Puppet, Chef, ThreatModeler, Checkmarx, Immunio and Aqua. They may also need to know Kubernetes, Docker or AWS.

    Such skills can be acquired on the job, either in formal employment or through an internship or work placement. You can also take courses to learn DevOps principles, programming languages or automation tools. Of course, you can also teach yourself such languages and tools, as many IT engineers tend to do.

    What About Experience and Qualifications?

    Many DevSecOps Engineers have experience in a non-DevOps IT security role. If you have no experience as an IT security professional, it is recommended you start there first before getting into DevSecOps.

    Starting a career in IT security generally requires a degree in computer science, cybersecurity, math, engineering or science. It is then recommended you gain experience on an internship or graduate placement. You can also enter the field without a degree by gaining practical industry standard certification, such as that offered by Microsoft, CompTIA, Cisco or Certified Ethical Hacker (CEH).

    Making the move into DevOps requires IT security experience, and you’ll need to gain knowledge of the languages and automation software commonly used on DevOps projects. It is also advised that you gain accredited DevOps qualifications from the DevOps Institute, specifically the DevOps Foundation and DevSecOps Engineering (DSOE) qualifications. These will equip you with a solid understanding of DevOps principles and DevSecOps methods.

    Summary

    You might think DevOps or DevSecOps are just trendy words for developers, operations and security teams who work closely together. But this is wrong. There is so much more to DevOps than that. Ask Netflix, Amazon or Sony—all hugely successful companies that use DevOps culture to get things done.

    DevSecOps is a crucial part of DevOps, especially given the current cyberattack climate. As the need for such individuals grows, so will the job openings. If you have security experience and want to boost your career or are thinking about which degree and career path to take, keep DevSecOps in mind.

    — Stephanie Rowe

  • 4 Questions to Ask a Web Developer During an Interview

    4 Questions to Ask a Web Developer During an Interview

    Web development is a fragile process. You need talented web developers to make truly beautiful sites with seamless user experiences and fast loading speeds. Without experienced web developers, creating a website that has both form and function is exceedingly difficult.

    Web developers have a great deal of responsibility. They understand design and they understand how to implement that design using programming languages, tools and frameworks. How do they piece all of these skills together? How do you assess whether they have these skills?

    There’s no formula for the interview process that guarantees great hiring decisions. There are a few questions you should consider appending to yours, however, as they can help you get to know the web developer a little better.

    Here are four questions to include in your interview with a qualified web developer:

    1. What programming languages, tools and frameworks are you most familiar with?

    Web developers are usually proficient in a number of programming languages and are adept at wielding frameworks. They must have an in-depth knowledge of HTML, CSS and web scripting languages such as JavaScript. If the role you’re hiring for includes back-end programming, they also will need to know how to program databases by using PHP or even Python.

    Content management systems such as WordPress can also be extremely helpful for web developers. Bootstrap and frameworks also may be helpful when building web pages.

    You’ll want to ask more about the technologies, programming languages and frameworks they like using. Don’t limit your questions to strictly the technical requirements of the role. Assess the developer’s passion and knowledge.

    1. How do you stay relevant as a web developer?

    Technology is constantly evolving. Web developers have to have strategies to stay up to date on the latest updates, frameworks and trends. There’s no wrong way to keep up self-education. A potential web developer candidate might cite online courses as a way to stay skilled and knowledgeable.

    Web developer meetups, professional web development classes and sites such as StackOverflow and GitHub can help developers stay informed and in conversation with other developers.

    1. What are some mistakes you’ve made in the past as a web developer? How did you react to those mistakes?

    Web development is a complex process. There are lots of little things that can go wrong during development. It’s not uncommon to make mistakes even as an experienced web developer. However, it’s still important to assess how a candidate responds to tricky situations.

    Do they show themselves compassion when they make a simple mistake? Do they create actionable plans to remedy mistakes when they appear? Are they resilient or easily defeated? Are they prone to blaming others or do they take responsibility for their actions?

    It’s important to know how a candidate will respond to stress especially if you expect your projects to be lengthy or complicated.

    1. What would you like your role to be?

    It’s easier to get to know a candidate if you know the activities they like to perform. Are they interested in leading a team? Do they enjoy helping design wireframes with the design team? Do they take great pleasure in optimizing back-end processes?

    Ask the web developer candidate about their own likes and how they can best fulfill their duties as a member of your company’s team. You’ll find out a great deal about their personality, preference, and work style with questions that probe into their own likes, dislikes, and dreams.

    Conclusion

    Great web developers are rare. Even though it’s hard to attract the top web developers on the market, it’s not impossible. By asking the right questions, you’ll capture the imagination of the best web developers and, hopefully, gain some insight into their own creative and technical processes.

    Delve into a few technical aspects of the job, gauging their familiarity with popular programming languages and tools. Make it a point to ask web developers about past projects and performances. See how they self-assess and gauge their capacity for compassion, collaboration and resiliency. Continuing education is also important for web developers as trends often change.

    Be sure to also delve into their personal preferences and opinions as this will help you better understand how they work and if they are the right fit for your organization.

    — Greg Robinson

  • How Cloud-Native Computing Is Changing IT Job Roles

    How Cloud-Native Computing Is Changing IT Job Roles

    The cloud native age is upon us. This means not only that infrastructure, application deployment and security strategies look very different than they did just a few years ago, but also that the way companies design and fill IT jobs has changed—or should change, at least, for those seeking to stay relevant in our fast-changing, cloud-centric world.

    Which types of new roles are emerging in the cloud-native age? What should employers and employees be doing to make sure that the roles they design and fill meet today’s needs? Keep reading for insight into these questions.

    Traditional IT Job Roles

    Traditionally, IT job roles have been pretty consistently and clearly defined. They broke down into two main groups.

    First, there were developers—who may also have been called software architects, application programmers or software engineers. Whatever the exact job title was, the role centered on designing and writing code.

    Second, there were support people. They might have been called sysadmins, tech support, problem analysts or IT Ops. Their roles could include end user support, backend system management or both. In any case, their task list was limited primarily to deploying and managing software that was written by other people.

    There are a variety of traditional IT job roles as well, such as business analysts, network engineers and security analysts. But programmers and sysadmins were the two main types of IT positions that virtually every organization filled; the other roles addressed specialist needs that may or may not have been a requirement at a given organization.

    The Rise of the DevOps Engineer

    The DevOps movement has changed IT job roles a bit over the past decade. Inspired by the DevOps mindset, companies have moved to create roles that blend development and IT Ops together.

    This is where the SRE and DevOps engineer roles (for both of which there are hundreds of available positions on Monster.com at the time of this writing) came from.

    Yet, although the DevOps movement has spawned the creation of these new roles, it hasn’t killed off traditional IT job titles. People who specialize in just development or IT Ops can still find plenty of jobs.

    Cloud-Native Computing and the Future of IT Job Roles

    That may not remain the case in the future. As the trend toward cloud-native computing redefines everything about the way applications are designed, deployed and managed, the viability of traditional IT job roles is somewhat in doubt.

    To be clear, when I mention cloud native computing, I am referring to the present era in which virtually everything is designed to run by default in the cloud. I’m not suggesting that everything runs in the cloud; that is obviously not the case. What I mean is that we are living in a time when the norm is to deploy in the cloud (often using next-generation infrastructure technologies such as containers or serverless) and conventional on-premises infrastructure has become the exception.

    In an age when sophisticated cloud-based deployment environments have emerged as the default, IT job roles need to change. The landscape as it currently exists (where most professionals fall into either the developer or IT Ops camp, and a handful of DevOps engineers or SRE positions help to unite them) no longer works well.

    Why? Because in the cloud-native age, it is becoming increasingly difficult to fulfill a job role competently without a meaningful understanding of both application development and IT Ops. And having a few SREs on staff is no longer enough to bridge the gap.

    For example, if you want to deploy an application in a container, you’re going to need to know something about scripting and possibly infrastructure-as-code. At the same time, if you are writing application code that will run inside a container, you’ll need an understanding of how containerized infrastructure works, how to break down stateless from stateful components, how to implement communication between microservices and how to handle the unique security challenges associated with containers and microservices.

    In other words, it would be pretty hard to write or deploy a secure, well-designed, efficient containerized application without having some mastery of both software development and software administration.

    On top of this, cloud-native deployments also often require expertise in areas including software-defined networking or scale-out storage. Unless your company hires engineers who specialize in those specific areas (which is often not realistic or efficient, because the company may not need full-time positions in those niche roles) the rest of your IT staff will need to be able to address this need.

    To make things even more challenging, your IT team needs to be able to achieve all of the above while keeping pace with the rapid demands of continuous delivery. Typically there is little time to step back and make a plan for addressing unexpected skills gaps if you don’t have the right roles from the get-go.

    Conclusion

    Ultimately, what all this means is that we are moving toward a future where IT job roles will increasingly involve a broad mix of diverse skills, and specific specializations will become less common.

    That’s not to say that specialist IT job titles will entirely disappear. Some companies will always have a need for people who only do programming, only do system administration or only do software testing, for example. But creating, deploying and managing a cloud-native workload often requires each team member to possess a mix of specific skills that don’t align cleanly with traditional IT job roles.

    That’s why companies need to start hiring for this type of role (call it Cloud-Native Engineer, if you like), and IT professionals should begin preparing to fill it.

    — Ben Bernstein

  • Automation’s Impact on a Structured Life

    Automation’s Impact on a Structured Life

    A few years back my sister’s husband died after an unexpected illness. My sister, who was in her early 50s, experienced a devastating loss at a relatively early age. To her good fortune, my brother-in-law left behind an adequate pension and their mortgage had been paid off, so she didn’t have to bear the burden of having to work to make ends meet. And she didn’t—for a while, anyway.

    After a period of mourning and adjustment, however, my sister decided to return to work. I asked her why, and this was her response: “There were only so many movies I could go to, only so many TV shows to watch, only so many trips to take. I just needed something to do.”

    Now you may ask, what does my sister’s loss have to do with the impact of automation on human employment? Consider this: As automation replaces more human labor, fewer people will be required to make the economy function. Many of those whose labor is no longer needed will be left unemployed, sitting at home deprived of the thing that gave their lives meaning and structure: a job. And without a job, many will be left adrift—not just economically, but also psychologically, living a life without meaning or purpose. That which made their lives worth living will be gone. The implications of a population put aside by automation and living a life without structure or meaning are significant.

    Allow me to elaborate.

    The Need for Structure in Day-to-Day Living

    Human beings are not born with the instinct to organize their waking hours. Anybody who has a 2-year-old can tell you, a child will run around all day until he or she drops. It’s up to mom or dad to say, “It’s time for breakfast, “It’s time for lunch,” “It’s time for a nap,” “Bedtime’s coming; put on your pajamas and let me read you a story. Good night.”

    Children need structure imposed on them from an external source. That’s how it is. This role is filled by a parent, and later in life the school in the form of structured activities performed at usual times. By the time a youngster enters high school, most will have a firm sense of how a day is organized.

    This sense of organization transfers well to the workplace: A good employee respects the structure of the day. She arrives on time, does the tasks for which she is responsible, communicates the status of her tasks, respects the time of others and meets the time demands made upon her. Whether you work in a factory or a law office, being able to operate effectively within the structure of the workday is essential to one’s economic and psychological well-being. There is a certain comfort that comes from knowing where one is going to be on Tuesday and knowing what one will be doing.

    So, what happens when the job goes away? How does one organize himself or herself without something explicit to do? As my sister said, “There are only so many TV shows to watch.”

    Let’s take a look at the extreme.

    Providing Structure Where None Exists

    When I was a young man, before I got into programming, I was a counselor at a secure detention facility for adolescent boys. This a nice way of saying I was a guard in a kiddie jail. Most of my day was spent supervising the movement of teenagers who had committed very serious crimes. When I say supervising their movement, I mean that in the most literal sense. The job of my squad was to make sure the residents woke up on time, dressed in their rooms and were ready to go to school. Then, we called for lineup. The boys lined up and were counted. After count, our squad moved the line to breakfast and then onto the facility’s school. Once in school, we stood at the back of the classrooms to supervise the residents. If a student acted out, we removed him from class. At the end of the school day, we did the lineup again and went back upstairs. The residents went to their rooms. Then they lined up for the exercise yard. At 6 p.m. we lined them up again and went to dinner. After dinner, we moved the line upstairs. At shower time, we moved the line to the shower room. The day was very structured, to say the least. Day in and day out, everyday was predictably the same.

    And you know what? It worked.

    The residents responded to the structure. Most grew to accept the routine. They went to school and got a little smarter. Three square meals a day made them a little healthier. These were boys who had been left to their own devices since early on, mostly because of neglect. They had little sense of how to organize a day. They just did whatever popped into their heads. And sometime what popped into their heads was an armed robbery or felonious assault. In terms of the ability to organize themselves, most were at the level of a 2-year-old—a scared 2-year-old. Not surprisingly, the predictability of events and presence of supervision made them feel safe. Once, I asked one of the residents why he was there. He said with surprising candor, “Because I want to be.”

    When a Job Goes Away

    Granted, adolescent incarceration is an extreme example of imposing structure on someone’s life where no structure exists. But, what happens to a person when a job—the basic agent for organizing one’s daily life—goes away?

    Here’s what happens.

    Some people die prematurely. A study of Shell employees found that those who retire at 55 are 89 percent are more likely to die in the 10 years after retirement than those who retire at 65.

    Others have increased rates of substance abuse. A study conducted by the Substance Abuse and Mental Health Services Administration indicates that 17 percent of unemployed worker suffer from substance abuse—twice that of those who are employed.

    Or, they spend more time sleeping and watching TV, as reported by the Wall Street Journal.

    Clearly, having a job is better than not having a job. Financial considerations aside, it’s the way by which most people organize their day. As more people become displaced from the workforce because of automated labor and are living without the demands of daily work to structure a day, more of the population will feel adrift. If the trends described above stay true, there will be an increase in substance abuse, TV watching and death rates. They also may look to other external forces for structure, such as political movements that promote order, rank and predictability.

    So, what are we to do? In earlier versions of this article, I included a call to action to revamp, maybe even revert, the educational system to focus more on the arts and humanities rather than the baseline skills required to get a job. I planned to point out that artists, athletes, scientists and entrepreneurs don’t need to a job to structure themselves. They always have something to do. They have an internal ability to organize themselves in the pursuit of short- and long-term goals that are their own. As we move toward full automation, these folks are going to do just fine.

    Anyway, that’s what I planned to propose in the earlier versions. Now I just don’t know. I am not sure we have the social or political will to address the problems that are on the horizon. The highly educated people who have good analytics skills and a creative outlook will find paying employment. But, as trends indicate, those who are paid to follow instructions and perform redundant tasks will be replaced by robotic automation. They will go home. They will watch unlimited amounts of movies and TV on Netflix, Amazon and YouTube. They will play games on the internet, for a while anyway. Then, one day they will come to realize that there are only so many movies to watch and so many games to play. The appeal of an unstructured life will wane. They will want something to do and have no idea about how to make that something happen.

    So the questions at hand are these: Will we fortunate ones—particularly those of us in IT, the people who are implementing the automation—watch from the sidelines? Or, will we come to understand the consequences of automation on human employment—and in doing so, will we be become part of the large-scale solution, devising ways that help those that are going to be displaced think different and be different?

    I hope so.

     


    This article is the last of the series, The Impact of Automation on Human Employment. Here is a list of the previous articles:

    What Do We Do When Everything is Automated

    Rethinking Unemployment in the Age of Automation

    The Impact of Automation: Considering 3 Facts

     

    — Bob Reselman