Tag: education

  • Fostering ‘The Third Way’ via Learning

    Fostering ‘The Third Way’ via Learning

    Learning is an integral part of the DevOps process. Dojos can be critical in transforming the process.

    With so many new and evolving technologies, practices and approaches to product delivery, how can organizations possibly keep up? From infrastructure as code to cloud-native and microservices through product thinking (and don’t forget testing!) as well as chaos engineering, how can teams possibly adopt and benefit?

    Courses and training are fine but rarely result in the impact that today’s enterprise organizations had hoped for. Sometimes what is practiced and learned in courses doesn’t quite work in our organizations. Other times, people come back from courses with great ideas that are not shared and spread across their various teams. And in most cases, the learning is a special event, and when the people come back to work, there is no time or space to try and apply those learnings.

    Traditional approaches to training are weak and never transformational.

    So what is an enterprise organization to do?  The answer is simple: Embrace learning. Make it part of what we do every day. Gene Kim, one of the authors of “The DevOps Handbook,” mentions embracing “The Third Way”—the path of continual learning and improvement. In this book, Kim explains how The Third Way is about creating a culture that fosters two things: continual experimentation, which involves taking risks, and learning from failure. Being able to recognize that and practice are prerequisites to mastering DevOps practices.

    It all sounds great, but are any companies actually doing this? And if so, how?

    This is where an approach like the Dojo, an immersive environment where whole teams come to learn a variety of skills all while delivering their real work, can play a critical role. In this dojo environment, teams “learn by doing” and are guided by dojo coaches. These coaches aren’t the typical drive-by, tell-you-something-and-leave-materials type; these coaches sit with each individual, teach when needed and help teams learn by doing. These coaches need to be from within the organization.

    Teams leave this type of learning environment with not just new skills and better code, but also with an approach to move their learning forward. They can also share this knowledge with others as well as a way to continue learning as a team. This dojo-type of environment doesn’t have a standard curriculum—it is pragmatic by nature and meets teams where they are. For example, one team may learn TDD and product thinking along with a pipeline to production while another may learn how to migrate batch work to the cloud. Another team might learn DDD and microservices. But the teams all learn in the context of their work.

    Learning isn’t only for the team, though. Organizations learn by having their teams in the dojo. All of the friction that team members are experiencing becomes very visible. The dojo works with leadership to help resolve organizational friction that is frustrating teams and impeding their delivery flow.

    Today’s digital markets are moving so quickly that traditional course-based training does not scale both in terms of time and cost. Certification programs do not always provide enough information and can be very costly. Additionally, these types of programs are not always attuned to your company’s specific product development needs. To increase the effectiveness of your digital development teams, today’s enterprise organizations need to deliver high-quality, hands-on learning that takes place within the context of your own company. Further, this environment must be able to focus on your products, geared to your processes and driven by your market imperatives. The payoff includes shorter cycle times, reduction of production incidents, better overall products and a happier, more engaged team. It’s great to see more and more companies continuing to invest in continual learning through dojos as a way to achieve these outcomes.

    — Joel Tosi

  • DevOps Institute Brandjacking: When Imitation is Not the Sincerest Form of Flattery

    DevOps Institute Brandjacking: When Imitation is Not the Sincerest Form of Flattery

    “There can be only one”    ~ Duncan McCloud, Highlander

    They say that imitation is the sincerest form of flattery. Often it is absolutely true. But stealing, ripping off and/or trying to trade on the name of others crosses the line between right and wrong, legal and illegal. As a co-founder of the true, one and only DevOps Institute, I was appalled to see the efforts of another company, whose name I won’t even dignify in this article, trying to launch “the DevOps Institute.”

    If you told me that this company perhaps did not know that there was already a DevOps Institute (it’s not like we hide it), I would say OK, maybe it was an honest mistake. But no. In this case, the company in question actually reached out to DevOps Institute—us—and had several conversations/interactions regarding becoming a registered education partner of the DOI. What the company reps were actually doing was fishing for information as they sought to launch their own version of DevOps Institute. So this is certainly not a case of an innocent mistake; rather, it’s a deliberate attempt to misappropriate the name, assets and hard work of another. Where I come from, the streets of NYC, we call it stealing.

    You have to ask yourself: Knowing what we know of the situation, why would these people commit such an unethical, illegal act? I can only come up with a few reasons:

    1. They are seeking to deceive and confuse the public by literally trading on DevOps Institute’s—our—good name to make a quick buck.
    2. They are part of those in the world who do not respect intellectual property, seeking to sell out the back door anything they get their hands on from the front door.
    3. They are unscrupulous thieves who are incapable of building a business by themselves.

    No matter whether one or all of the above, none of the reasons are very good.

    In generally acceptable business practices worldwide, there are more than several acceptable ways for companies to imitate the business strategy and models of others. More power to them—after all, competition makes us all up our game.

    In the DevOps education training and education space, there is certainly no shortage of competitors. Just do a Google search of DevOps Institute and look at the companies buying that ad word or otherwise using SEO to get listed. Lots of competitors, for sure. Remember, this isn’t even a generic “DevOps training” search, but actually searching for DevOps Institute.

    Taking another’s name crosses the acceptable boundary. So now we have to lawyer up to protect our rights and property. No one likes to throw good money at lawyers to go after bad actors. But protecting one’s brand, reputation and IP is that important.

    For those of you familiar with the DevOps Institute, you know that the team has worked hard for more than four years now to lead the way in curating content for bringing DevOps training, education and certification to the market. It hasn’t always been smooth sailing. When DevOps Institute launched, we faced strong headwinds from those who thought a training/certification program around DevOps was wrong. We listened, we learned, we set up the feedback loops and we iterated (like good DevOps should). We have won over many of our critics; they saw the good work we were doing.

    More than that, they saw DevOps Institute try to be stewards of and active participants in the DevOps community. We are not in this for the fast buck or the quick hustle. The executive team has plowed our revenue back into the company and community, expanding the association’s offerings and reaching out to DevOps communities throughout the world. Today, DevOps Institute has ambassadors in Europe, South America, AsiaPac and of course here in North America. We go wherever DevOps goes.

    Recently DevOps Institute has tried to build a greater DevOps community based on the Humans of DevOps and our SKILS framework (Skills, Knowledge Ideas and Learning). We have worked with the leading names in the DevOps industry to do research and help bring greater understanding of DevOps. We have sponsored and spoken at many of the DevOps events you have attended. In fact, I am satisfied to rest on our laurels.

    If you are not familiar with the real DevOps Institute (and that is at https://devopsinstitute.com, btw) check it out for yourself. We have nearly 200 partners around the world who deliver training for our certifications. We have a healthy global community and active engagement with industry thought leaders. We obviously are doing something right.

    Finally, I wanted to speak to my entrepreneur friends in the audience: Those of you know who know me, know that this isn’t my first rodeo. I have founded and helped several venture-backed startups through IPO and exit. I have had my share of wins and my share of losses. I am not one to whine or back down from some good competition, but this kind of shadiness has no place in the business world.

    We put a good chunk of our own blood, sweat and tears into our businesses, and for someone to swoop in and steal the fruits of our labor is just plain wrong. Brandjacking is stealing. I started this article off with the quote from “Highlander.” So if you see me walking around with a severed head or sword in my hand, remember: There can be only one.

    — Alan Shimel

  • New to DevOps? Resources to Help You ‘Get With the Program’

    New to DevOps? Resources to Help You ‘Get With the Program’

    Resources to help put you on the right DevOps career path

    The demand for DevOps solutions is set to achieve an annual compound growth rate of 16.5 percent in North America for the 2017-2023 period, according to KBV Research. Globally, the DevOps market size is expected to reach nearly $9 billion in five years. That we’re facing a tsunami of skills shortages goes without saying.

    Yesterday’s view of IT operations tended toward the “Dev” side being the “makers” and the “Ops” side being the people that deal with the creation after its birth. The realization of the sheer amount of inefficiencies that occur when these siloed concerns work at cross purposes became a main core driver behind DevOps.

    So What is DevOps, Really?

    Jez Humble, co-author of “The DevOps Handbook,” defines DevOps elegantly as “a cross-disciplinary community of practice dedicated to the study of building, evolving and operating rapidly changing resilient systems at scale.”

    DevOps can be described in many ways. The Agile Admin blog claims it simply as:

    “… the practice of operations and development engineers participating together in the entire service life cycle, from design through the development process to production support. DevOps can be interpreted as an outgrowth of Agile – agile software development prescribes close collaboration of customers, product management, developers, and (sometimes) QA to fill in the gaps and rapidly iterate towards a better product.”

    Education and Training  

    There are plenty of resources available for wannabe practitioners to cut their teeth, starting with Lynda.com courses on the LinkedIn Learning channel.

    It is even possible to earn professional certification. For example, certification for a DevOps engineer from Cloud Academy comprises more than 32 hours of interactive content (including 16 video courses and 11 hands-on labs) to help you learn the DevOps ropes. Courses include content on networking, security and deployment.

    The DevOps Institute is another great resource, offering a range of courses to help DevOps practitioners of all competencies gain education and experience. The organization curates its members and the DevOps community in general to track and trend the latest and most innovative approaches to DevOps, and offers certification and “digital badging” to its members.

    But what if you don’t want to, or can’t take the steps needed to earn certification?

    Kaushal Amin, CTO at Atlanta-based KMS Technology, an outsourcing services provider with 500 developers in Vietnam, said it takes some studying, networking and, above all, people skills. Talk with IT professionals outside of your organization who are already established in DevOps, as experience can be one of the most valuable resources available. Amin proposes three helpful steps for IT professionals looking to learn about DevOps:

    • Gain a highly focused understanding of DevOps via low-cost online courses offered by Udemy such as Modern DevOps and Mastering DevOps.
    • Talk with friends and colleagues in different roles from your own. Devs should reach out to systems administrators to discuss job responsibilities and tools used. Attend conferences and training sessions to meet people in different DevOps roles.
    • Talk with QA test engineers. They’re the people at the end of the DevOps process responsible for executing quality assurance.

    Amin suggests that after you’ve gained familiarity with DevOps, try out popular cloud-based app development platforms such as Heroku. These providers often offer free versions that can help foster an easy learning path while showcasing cloud services that can help DevOp teams create business process apps and avoid headaches typically associated with assembling or managing platforms and IT infrastructures.

    Suggested Reads

    Tracking the entire software development life cycle is fraught with complexity. Rookies can take comfort in scanning through a glossary of commonly used DevOps terms and concepts.

    No collection of resources is complete without a reading list. At the top of most DevOps-related booklists is, “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win,” by stalwart veterans Gene Kim, Kevin Behr and George Spafford. Other notable reads include:

    • “Building a DevOps Culture,” by Mandi Walls
    • O’Reilly Media’s “Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale,” by Jennifer Davis and Ryn Daniels
    • “The IT Manager’s Guide to Continuous Delivery: Delivering Software in Days,” by Andrew Phillips, Michiel Sens and Adriaan de Jonge

    And beyond this website, which offers a plethora of DevOps-related content ranging from articles to videos, podcasts to webinars, another helpful resource is DevOpsLinks.com, a learning community of professionals looking to share tips and best practices. As its founder Aymen El Amri, puts it, “For evangelists, DevOps is a culture and a transformation. For some engineers, DevOps is a set of agile tools and techniques. For managers, DevOps is probably a methodology. For other people it is just a buzzword and for recruiters, DevOps is a job.”

    — Victor Cruz

  • Fast Pass: Your Ultimate Guide to the Best of Jenkins World

    Fast Pass: Your Ultimate Guide to the Best of Jenkins World

    At the end of the month, Jenkins users and DevOps professionals from around the world will head to San Francisco for the annual Jenkins World conference, taking place Aug. 28-31. The conference lasts four days, but time flies when you’re attending trainings, keynotes, sessions and networking events. To make sure you get the best of everything at Jenkins World, we’ve put together a guide that will ensure you have the most productive and enjoyable experience.

    NOTE: devopsy.kinsta.cloud readers can get 20 percent off registration with the code JWDEVOPSCUST.

    Take the Time to Develop Your Skills

    The first two days of the conference will be full of workshops and training sessions. Regardless of skill level, there are trainings for everyone. Those just getting familiar with Jenkins can attend an “Introduction to Jenkins” training for free and learn how to easily create pipelines while putting in place best practices for continuous integration (CI) and continuous delivery (CD).

    Those a bit farther along their Jenkins journey can attend workshops such as “The Final Mile: Jenkins Pipeline and Patterns for Operations,” where attendees will review patterns of common problems and solutions specific to operations teams in a CD environment , as well as how to create Jenkins pipelines that address the needs of operations.

    Don’t Miss These Essential Sessions

    All attendees should make sure they make it to each of the keynotes, of course! Keynote speakers include Sacha Labourey, CEO of CloudBees; Kohsuke Kawaguchi, founder of the Jenkins project; and Jez Humble, CTO at DevOps Research and Assessment LLC.

    In addition to top-notch keynote speakers, there are a number of DevOps professionals you’ll want to hear from while at the show. Try to attend at least one of these sessions:

    Keep an Eye Out For …

    Make sure you listen in to find out who the winners are of the first annual Jenkins World Awards Program. There are two awards tracks: Jenkins Community Awards and CloudBees Innovation Awards. Each track has several categories including Jenkins Contributor Award, DevOps Automation Excellence Award and more. Winners will be announced Thursday, Aug. 31, at the show.

    You’ll also want to stop by the sponsor expo hall to check out dozens of great vendors. As with any good conference, there will be plenty of swag passed out. Exhibitors will include GitHub, BlazeMeter, Docker, JFrog, Fugue, Sonatype and others. Don’t miss out on taking a photo with the famous Jenkins butler at the CloudBees booth!

    Can’t Forget to Network

    With so many great sessions to attend, don’t forget to make time for networking events. It would be a waste to not take advantage of dedicated networking time to speak with experts and peers who have likely dealt with some of the challenges your organization may be facing. There will be several networking opportunities, including a reception Aug. 30 sponsored by CA BlazeMeter. Or if you’re looking for ways to stay active, attend a scheduled walk or yoga class.

    If you can check off all of the above activities, you’re bound to leave Jenkins World a better professional! Make a checklist at the start of the conference to ensure you hit all the events and sessions you’re most excited for.

    If you haven’t registered yet, there’s still time! Use the promotional code JWDEVOPSCUST for 20 percent off.

    About the Author / André Pino

    André brings more than 20 years of experience in high technology marketing and communications to his role as vice president of marketing at CloudBees. He has experience in several enterprise software markets including application development tools, middleware, manufacturing and supply chain, enterprise search and software quality and testing tools. André has particular expertise in working with the executive teams of enterprise software companies to create unique competitive positioning, build pipeline and establish sustainable market leadership. Prior to joining CloudBees, he served as principal analyst serving technology marketers at Forrester Research. He has also held a number of senior management positions in marketing and communications with companies such as Segue Software, Hewlett-Packard, Unisys Corp. and Bluestone Software. André holds a BS from Eastern University.

  • Finding, and Landing, the Right Job for You

    Finding, and Landing, the Right Job for You

    Following my article discussing the “7 Steps to DevOps Hiring Success,” it seemed fitting that I continue and discuss the seven steps to DevOps job-search success, with the focus on candidates rather than hiring managers.

    Whether you’re a hands-on DevOps practitioner or a lead, VP, director or any other title, in this space you’re in hot demand. However, some of you are reading this and thinking, “What is this guy talking about!? I’ve been searching for a new job for two months and haven’t even got past the recruiter interview to speak with the hiring manager.” Well, this article may be for you—or it may be for someone you know.

    Are You Selling Yourself Correctly?

    Your resume, LinkedIn profile, URL to your personal website and any other methods you may be using, make sure you’re making those first impressions count. Your LinkedIn profile should be up to date with relevant content. Do hiring managers need to know that you worked in a part-time job in the local grocery store 10 years ago? No. They do, however, want to see what you have achieved in your current and previous roles.

    Many who come from systems administration or infrastructure backgrounds aren’t selling themselves correctly. If you have been using configuration management tools such as Chef, Puppet, Ansible or Saltstack, you should include this in your resume. The same goes for container orchestration tools, such as Docker and Kubernetes, continuous integration tools and so on. Don’t create an exhaustive list, but note which you have used and how they allowed you to achieve the goals of the project.

    Market Yourself on the Right Platform

    Don’t bother uploading your resume onto every single job board; this just wastes yours and other people’s time. Definitely upload your resume to the right locations, though. Dice.com, Indeed.com, Ladders.com, Hired.com and Monster.com are some of the go-to job boards. (There are others, of course, and I’d be happy for others to comment with opinions on other job boards through which they have found success.) There aren’t many specialist DevOps recruitment companies out there, but I can drop a shameless plug and mention that my team at Salt are always worth speaking to, whether it’s for consultation on the current market trends or to actively search for your next move.

    Drop Your Ego, Too!

    In my last blog I told hiring managers to drop their ego when it comes to hiring. Sometimes candidates need to drop theirs, too.

    “I won’t consider working at any company that won’t let me wear a batman outfit every day of the year, barefoot and with an automated snack machine that unwraps protein bars before passing them directly into my mouth.” Stop being so entitled.

    Don’t get me wrong: I love freedom of expression and the idea of wearing whatever you want. I’d also love an automated protein-bar snack machine that feeds me! But be open-minded and don’t put roadblocks in your own way—it’s no good for anyone. It’s all about opening as many doors as possible at the start and focusing your options once you truly know what you’re looking at. That one company you may have declined to even consider might have given you the opportunity to work with the best people you’ve ever met, on the coolest and most innovative products you’ve ever imagined. And who knows, maybe they would have been the next Netflix, Twitter or Snapchat. Stay open-minded.

    Is the Recruiter You’re Speaking With Reputable?

    Some recruiters are generalists. That’s not a bad thing all the time, but when we are talking about a niche area with a plethora of technical skills to understand, it helps to speak with people who know what they are talking about and can easily decode your likes, dislikes and overall background. Check out the recruiter’s LinkedIn profile: Do they have recommendations from other clients and candidates in the same tech space, or have they only been referred by other recruiters? If you’re going to trust them with finding your next career move or contract, it’s worth ensuring that you’re speaking to the right person to support your needs. Speak to other folks in the space—who did they use to find their dream job? That could be a good start.

    Rapport Isn’t Just for Salespeople

    Do you have amazing technical skills but no knowledge of the company? You’re starting off on the wrong foot. It doesn’t take five minutes to research the company prior to your interview. Go to the company’s website and click on the “About Us” section. To show you actually care, think about your own passions and values and demonstrate how they align with those of the company. Hiring managers love this, so try to make it genuine.

    Now to really make a good impression, why don’t you check out the interviewer on LinkedIn? Look up their background: What are their hobbies? Where did they work previously? Do you have any mutual connections? You’d be surprised: Asking them about their triathlon last month or mentioning that you both worked with Rita Smith on X project five years ago often can go as far as passing the technical test with flying colors. Remember, this doesn’t need to be time-consuming; just take a quick look and find something you have in common to build some rapport.

    Stay Relevant

    Searching for a new job doesn’t just mean sitting behind your laptop or making calls. Be sure to attend events and conferences to continue learning and networking. You’ll often bump into hiring managers or other team members who could end up being future colleagues. Also, promote yourself at events via social networks; for example, take some pictures, tweet about the event and/or share some content from the event on sites such as LinkedIn. This reinforces that you are part of this DevOps community and someone worth connecting with. Meetups for New Yorkers, for example, include DockerNYC, AWS NYC, ServerlessNYC, Continuous Delivery NYC and many more. There are also conferences such as DevOpsDays, Container Days and CloudExpo, among others. There are plenty of options in other cities and countries, too.

    Making the Right Decision for You

    Figure out what drives you, be it interesting projects, money, great working environments, awesome teams, job titles, making an impact or a mix of all the above. Now it’s rare to have two perfectly identical opportunities on the table, but if you’re lucky enough, you will have two, three or more job offers to choose from prior to signing on the dotted line. Deciding can be tough, and this is something I have to support people with on a daily basis from a non-biased perspective. I’ve seen people walk away from $250,000 to $300,000-level salaries to take a job paying $180,000. Why? Because they looked internally and realized that the other role suited their lifestyle, allowed them to continue playing an important role in their family life and the work was way more stimulating. In a different scenario, another individual might have been way more suited to taking the other position.

    Once you’ve decided what really matters to you, there are a few simple things you can do to help with making these tough decisions. Start with getting a pen and paper to list out the pros and cons of each job. You’d be surprised how effective such a simple process can be for visualization and helping to clear your mind. Once you’ve had this internal discussion and opportunity to visualize, you should engage with some trusted resources. Speak to your partner, family members and former colleagues who know how it is to work with you. Finally, consult with your recruiter if you’ve been using one; a good recruiter should provide non-biased advice with the goal of helping your career.

    As a final point, I know the job-searching process can be arduous for many people, but for those who have many options to choose from, enjoy it! Realize how lucky you are; don’t take these times for granted and be proud that you have such in-demand skills.

    About the Author / Conor Delanbanque

    conordelanbanque

    Conor Delanbanque has been recruiting and leading recruitment teams in the DevOps space for the past few years. As well as being exclusively responsible for growing some of the most innovative DevOps & SRE teams in the US and Europe as an external consultant and recruiting partner, Conor also founded the Future of DevOps Thought Leaders Debate, sponsors DockerNYC Meetup on a regular basis and co-hosts ServerlessNYC. You can tweet him at @ConorDevOps, find him on LinkedIn or at events, expos and writing articles on devopsy.kinsta.cloud.

  • SauceCon Speaker Profile: Jeremy Stone, Code.org

    SauceCon Speaker Profile: Jeremy Stone, Code.org

    “Moving Fast and Changing the World”— Jeremy Stone and Code.org’s mission to transform CS education and America’s STEM workforce

     As quickly as the world is changing, how can we use this momentum and proactively contribute to this change? We need to start with the basics and focus on education. Jeremy Stone, CTO of Code.org, is doing just that by teaching children how to code.

    Jeremy leads the engineering team at Code.org. His team is responsible for Code.org’s software products, including Code Studio and Hour of Code, which are focused on bringing computer science education to all schools for all kids.

    Jeremy has worked in numerous fields including edtech, cleantech, video games, high-scale online services and operating systems. He was previously VP of Engineering at Clean Power Research, where he built enterprise software products for the renewable energy industry, and prior to that he worked at Valve building games and the Steam online service. He also was a founding member of the Internet Explorer team at Microsoft.

    Computer science has never been more important, and it is never too early to start coding. The mission of the non-profit organization Code.org is exactly that—to bring computer science to all kids and increasing the participation of women and underrepresented minorities.

    Jeremy’s talk, “Moving Fast and Changing the World,” focuses on Code.org’s mission to transform computer science education and America’s STEM workforce. It will also explain why it’s important for Code.org to move fast, and why deep and sophisticated automated test investments are critical to its success. Critical for Code.org is to be able to perform automated testing on a large browser matrix, as many schools tend to run older browsers. Smarter, better and deeper automated testing is one of the key stories in the industry right now and Code.org is pushing further every year.

    “I am excited to share our stories and experiences, learn great ideas from the other talks, and then go put those ideas into practice—looking forward to us all working as a community to advance the state of the art this year,” Jeremy says.

    When Jeremy is not trying to change the world, he is helping his 9-year-old son chase his dreams by proofreading his son’s literary pieces, including the recently published novel, “I Lost My Heart in the War of 1875: A Love Story.”

    SauceCon, the first-ever Sauce Labs user conference, is a three-day event filled with training, workshops, best practices and visionary content from the leading minds in automated testing. For more on upcoming SauceCon presentations or to register, visit the SauceCon website.

    About the Author / Elizabeth Hechtel

    Elizabeth is a passionate tech writer at Sauce Labs. As a Marketing Specialist she is focusing on delivering the best quality content on mobile testing. Personally, she loves learning new languages and reading up on recent advancement of modern technology.

  • Training & Certification Implications

    Training & Certification Implications

    Changing culture does not happen by osmosis, it happens through incessant education. The DevOps continuum of services your organization originally intends to create and implement is a journey more than a concrete destination. It will evolve over time no matter what your original plans were, no matter what your vendor of choice tells you, and no matter what resistance you meet along the way. If anything, resistance within your organization will push your journey left or right from its originally intended path. The lack of features in your tooling, or the introduction of those same features over time, will impact the journey of DevOps your organization will embrace. Culture is fluid. DevOps is fluid. So managing the impact they will have on each other should warrant dedicated concentration, and resources, in the form of training and education.

    Audience Educational Considerations

    It is not just your practitioner base that will need perpetual education to use your DevOps services to maximum effect. It is also the business community that relies on DevOps information and the executive community that may have sponsored the journey into DevOps in the first place. Education for the non-practitioner is more than just a matter of managing expectations, although that is a big part of it; it is a matter of helping this community learn to watch “change” or innovation as it moves from idea to production. DevOps will make an extraordinary impact on the speed of innovation delivery, as well as the quality or reliability of delivery. Engaging your business community and training them so they see this, comprehends what it means to them, and keeps them informed of the improvements will be critical to the long-term success of your efforts.

    Consider how managing expectations will impact adoption of DevOps services from a business point of view. When you first start on your DevOps journey, usually only the build and deployment services are launched as the “core” of the service. As you do this, you will need a way to keep your business community (i.e., the audience of what you do), informed as to your progress, and what key features or functions remain on the drawing board. How you communicate this information will be key to managing the expectations of your audience.

    For example, your initial efforts at build and deploy may only include the application code as its target. But over time you may begin to deepen what can be automated down the stack—say databases or middleware—as your next target. Eventually you are automating server O/S or even network definitions. If this is the services plan your organization takes on, you need to outline the timeline for expansion to the business community—not just in bullet points on a chart or timeline graphic, but specific benefits they should expect to receive at each milestone (i.e., why they should care).

    As your actual journey of DevOps begins, you may find, as an example, that you never get to network definitions in your automation efforts for one reason or another. Why you’re not reaching this goal needs to be explained, as well as the impacts of this. What drives this conclusion should also be explained; it might be for a very good or legitimate reason. But altering the DevOps journey needs to be ingrained in the business culture. Taking small steps, minimizing risk, learning from mistakes, and moving on—all are key lean concepts, agile methods, and ultimately they ensure the success of your DevOps efforts. The need to communicate changes in your plans to the business community helps manage expectations, but beyond that, it teaches the business community that information will be flowing constantly—and will be important constantly, even if it is brief in each segment.

    Whether your organization plans to expand DevOps services by moving down the stack, or perhaps by adding more capabilities laterally, you will need the ability communicate direction as well as “how” to take advantage of the expansion of DevOps you offer. So for example, if you are expanding your DevOps service by moving down the stack from app to operating system (OS), you will need to show the business community how to watch changes at each level (app, middleware, OS) or, if you are expanding your services laterally, adding automated testing, then release orchestration, then monitoring integration, and finally production provisioning automation. You need a plan for communicating each success, as well as “how” the business community can take advantage of what is accomplished.

    This communication plan should manage expectations, inform of changes in strategy or direction, inform of success/failure/alteration, and teach the business user how to use what you have done. Your communications plan may be looking at new data that was not previously available, or tracking innovation change differently. But educating your business community base will not be a “one-time” event; it will be a perpetual activity. Therefore, how you create this process should be built for perpetual delivery, not just a one-and-done delivery.

    The frequency of offering it will depend on the specifics of your organization’s needs. But the frequency should always keep pace with the changes and successes of your DevOps services delivery. If that is weekly, then weekly, if that is monthly then monthly. What you do to communicate, and how, will depend partly on that frequency and the size of your audience. Keep in mind your tooling vendor is also constantly enhancing its toolset with new features. The frequency of delivery may also need to incorporate those impacts as well.

    Practitioner Educational Considerations

    Educating your practitioner community generally is focused on tooling proficiency. But that may be a limited view. The architecture of your DevOps services is arguably more important than the specifics of how you use the build tool. Consider how your DevOps practitioners intend to accomplish the ability to scale build automation, as an example. I could just train the practitioners on how to use the build tool and then turn them loose, automating builds armed with little more than a cursory understanding of my preferred build tool. And over time using this training method, I will have as many methods to construct build automation as I have engineers who touch my tools, namely “n” methods. Having that much diversity in “how” I construct build automation creates variability that, with a large portfolio of apps, does not scale and is difficult to sustain without constantly throwing labor at it.

    Conversely, my architectural approach to build automation established by the DevOps team instead might be that each kind of technology uses a master template, or framework, as its approach. This information has little to do with a specific build tool and everything to do with the  organization’s “strategy” for build construction. That information becomes much more important than specific tool usage, because it affects “how” engineers use the tool according to company standards and practices. Training and creating a communications plan for reaching every member of your practitioner community on these items becomes critical to longer term success. This includes hiring new talent, departmental transfers and contractor augmentation.

    The additional consideration here is how you want to manage your intellectual property. “How” your company constructs build automation may be a proprietary advantage for your firm. This is particularly true if your architecture team is top-notch and able to create structures in your tooling that less experienced practitioners would not have even considered. If you train outside contractors on your methods, you are in effect giving away some of the farm. Non-disclosure agreements may keep a contractor from purposely sharing your methods with a competitor, but it will not prevent the engineer from learning how to make a better mouse trap while working with you. The contractor leaves your employ, a much more well-educated engineer than when he or she started.

    Once overall strategy education has been planned for and imparted to your practitioner community (another perpetual delivery method required), most companies focus on tooling proficiency. DevOps is still a relatively new phenomenon. And as such, certifications that are common in the networking world, for example, do not exist in the DevOps world. Gaining proficiency from vendor tools should be provided by those vendors as part of the licensing purchase agreement. If the vendor is unable to provide it in a formal delivery method, beware: The toolset is probably a new acquisition or too new in the market. If you are using open source tooling, a fully in-house model for training must be created and managed on an ongoing basis.

    Impacts to the Bottom Line

    Changing culture on a wide scale will require a focus of resources for training and education across your company. Engineers typically do not make the best communicators—that might be a DNA thing—so you may want to pair training and communication resource employees with the DevOps team to deliver what will be needed in an ongoing basis. The main consideration here is to realize that because DevOps services constantly will be evolving, communication plans need to keep pace with their evolution. And yes, I realize, this is additional overhead costs that almost no DevOps delivery person believes he or she needs when the services are first launched.

    But like all things, an initial publication or announcement is not sufficient to keep track with something that changes on a highly frequent basis. Adoption either can be facilitated by a good communications plan or thwarted by the lack of one. If it takes your company 15 months longer to get fully onboarded to DevOps because of delays in the rate of adoption (based on poor or non-existent communication), you must consider the costs of that delay in contrast. If after onboarding to DevOps, your business audience is ill-informed about how to use the services to maximum effect, what will that inefficiency cost the company? If your practitioners are only exposed to tooling proficiency once and without architectural oversight, what will the cost of the variability they produce in their automation be to the company?

    Investing in training and constant communication may not raise revenue, but it will certainly avoid costs. The measure of how much cost it avoids is difficult to track. Most companies who make the investment understand intrinsically what the alternative would be, and choose not to go down that road. The only admonition I would offer is that I have seen clients make this decision late in the cycle, and every one of them did so because the pain motivated it. Your strategies for DevOps should be comprehensive in perspective, if you need help crafting or improving yours, contact me—I am looking at the moment.

    To continue the conversation, feel free to contact me.

     

  • Building DevOps Careers: One Man’s Journey, Part 2

    Building DevOps Careers: One Man’s Journey, Part 2

    In Part One of this two-part series, we introduced former SlideShare and LinkedIn software engineer Sylvain Kalache, who shared his career growth within the two companies. In this second part, we’ll look at San Francisco-based The Holberton School of Software Engineering, which Kalache co-founded to better prepare students to work in a DevOps world.

    School Founder, Still a Coder

    Kalache still uses much the same coding skills in his new role as he did as an engineer. “I still manage machines, the ones that host our website and intranet and the iMacs that students use,” he says.

    The Holberton School of Software Engineering founders removed every manual step possible, using software to automate the admissions process and any process that they could. Even in the classroom, automation rules: Computers automatically review student work on projects.

    “Computers test that students’ code works as expected by simulating user interaction, checking syntax and assessing how fast the code executes. For infrastructure in code, computers check for stability, response times and security breaches. By using multiple ratings parameters that are linked to specific skills, the computers collect detailed data about the strengths and weaknesses of each student,” says Kalache.

    “We have a lot of our own secret sauce in software automation running the school for us,” he adds. “This requires all the technical skills I used in my coding days including designing, building, configuring, testing, deploying and maintaining software and systems.”

    Teaching Methods

    The Holberton School of Software Engineering engages students in building each skill they will need for careers in software engineering through use of industry-standard teaching methods. “Methods include deep learning in building features into software products and classical teaching in clear, documented code,” Kalache says. “We have a team of 150-plus mentors who make sure our curriculum is up to date and in sync with what the industry actually does and who coach and share their knowledge with students.”

    The Holberton School of Software Engineering uses fully practical methods with no formal teachers or lectures, only mentors. “Mentors are like managers in a workplace. I mentor, coaching students in their learning journey and giving advice when there are issues,” he says.

    Students engage in peer learning, working collaboratively on software projects, which encompass the skills they will need to demonstrate in their careers. Successful completion of projects, including solo projects, is proof of attaining the required skills. “Students must defend their projects before mentors with mentors ensuring that every student can present and explain the technical aspects of the project; if even one student can’t explain it, then the group fails on that project,” says Kalache.

    “We teach problem-solving and how to learn new skills because there will constantly be new technologies and concepts for our students to understand and master in their careers in the tech world,” he adds. “Professionals who cannot adapt and retrain themselves will quickly fall out of date with technology.”

    Readying Students for Careers from Day One

    The Holberton School of Software Engineering prepares students to be ready to work when they start their careers. “Graduates of other programs whom I have spoken with have no idea what it is to ship code to production and run a production environment. They are used to academic projects that teachers correct for them,” Kalache says. “That is not how it works in the industry.

    “Even boot camps and universities provide minimal practical experience that will make job hunting difficult,” he continues. Smaller organizations don’t have the money to pay someone to learn before starting them working in production. Thus, he says, startups need to execute fast using professionals with mature skills. “Though our students will fail and struggle, they will do it at the school, which will have a much smaller impact than doing it on the job,” says Kalache. Students are exposed to creating, shipping and working with code in production for two years before graduation.

    What’s more, real, workday DevOps requires effective communications skills. “Whether it is to introduce the last tool you built, explain what happened during an outage or convince your managers that your solution to a problem is the right one, you need to have oral and written communications skills,” says Kalache. As such, the school runs students through a series of exercises in public speaking, technical writing and documentation, as well as post-mortem communications when dissecting an outage, prepping them even further for their careers and the world beyond the classroom.

  • Building DevOps Careers: One Man’s Journey, Part 1

    Building DevOps Careers: One Man’s Journey, Part 1

    In 2011, Sylvain Kalache was a software engineer at SlideShare, which LinkedIn acquired in 2012. Kalache was a senior systems reliability engineer (SRE) at LinkedIn, doing project management and planning, documenting and sharing knowledge tools, and adapting himself and his work to the LinkedIn organization and its technology.

    Today, Kalache is helping build DevOps careers as co-founder of Holberton School of Software Engineering in San Francisco, where students learn to code through “project-based and peer learning,” according to information from the Holberton School website.

    This is Kalache’s DevOps career story, how he worked in and then transitioned from a career in DevOps to a personal and professional investment in helping students to build their DevOps talents toward a lifetime of coding and contribution in software engineering and, hopefully, successful careers.

    Software Engineering at SlideShare

    “SlideShare was a very small company when I joined. The San Francisco office had only 10 people; I was only the second engineer at that location,” says Kalache. But the DevOps mindset was strong there, he says, and the company had bet everything on DevOps methodologies. In fact, it was the commitment to DevOps by SlideShare and its CTO at the time, Jon Boutelle, from which Kalache learned of the development approach and took to it so quickly.

    “Boutelle was looking for full-stack or aspiring full-stack engineers and I was a junior programmer and eager to learn. In a small company like that where you are encouraged to work on every aspect of the product life cycle, it became very clear that I was in charge of taking care of my mistakes,” says Kalache, adding SlideShare expected him to take ownership of his code from design to production.

    “Because I was eventually in charge of a lot that was going on with the infrastructure at SlideShare, I had to build and maintain a lot of systems that were serving billions of slide views per month at what was one of the top 100 most visited websites in the world,” says Kalache.

    People from the Dev and Ops teams there did not only their own work, but also the work of their companion team. In essence, Dev was both Dev and Ops and, likewise, Ops was both Ops and Dev.

    “The SlideShare people were writing their own configuration management code, setting up monitoring of new services and features as they built them, deploying their own code, and troubleshooting code in the production environment,” says Kalache. Ops people helped developers design sound code for acceleration while also giving their code a second look to ensure fitness for operations.

    Project Skynet

    “The most exciting project I built for SlideShare was Skynet, an automated tool to monitor, scale and auto-heal a system in the cloud,” says Kalache. Skynet was developed to meet several challenges in the day-to-day work of simply being SlideShare and doing what SlideShare does. SlideShare acted on, renamed and translated countless files from one type to another to share them on the site. As with other slide technologies, the tool was a fit for teaching and presentations.

    There was no way to know exactly how much users would upload, access or view any slide content at a given time. “There were peaks and valleys in upload traffic with mornings seeing high traffic and low volumes in the evening and on weekends. The SlideShare infrastructure had to scale quickly to encompass and convert common document files at speed. This required adding many hundreds of machines to the infrastructure,” says Kalache, which were virtual  machines that spun up in minutes in the AWS EC2.

    One purpose of Skynet was to enable precise analysis of log files for transparency into everything from individual file conversions to changes in the entire machine cluster as the environment scaled up or down. The other purpose of Skynet was to use the analyses to auto-heal; in other words, to restore the cluster back to its initial size once the peaks were over.

    With many thousands more employees at LinkedIn than at SlideShare, Kalache left many of his duties at SlideShare to others while he dove much more acutely into specific aspects of his work.

    Co-Founding a School That Builds Careers

    In speaking with his colleagues and representatives from various enterprises, Kalache continually confirmed that organizations using DevOps are in need of lots of engineers but they can’t find candidates who are knowledgeable and experienced. “I was actually recruiting for SlideShare and for LinkedIn. What saddened me was to see a graduate who had just spent half a decade and a lot of money on a master’s degree only to be far from employable,” he says.

    Kalache found it hard to find people who knew basic software engineering, DevOps, and how to be an SRE for LinkedIn. “We instead had to hire early graduates who had coding skills and an interest in operations and train them on being an SRE,” he says.

    Kalache decided to combine an awareness of alternative teaching methods with his passion for the coding and ops communities to find a solution to how to better prepare software engineers for careers. “After mulling it over for two years, I decided to quit my job at LinkedIn and create the Holberton School,” says Kalache.

    In Part Two, we dive headlong into the teaching and learning experiences at the Holberton School of Software Engineering to help students learn and understand the DevOps methodologies and increase their chances for success in their respective careers.

  • COBOL: Completely Obsolete But Omnipresent Language

    COBOL: Completely Obsolete But Omnipresent Language

    The programming language COBOL is a nuisance, something everyone wants to get rid of; however, I’m about to advise you to learn it. It might be a gold mine.

    The IT world is a fast paced one where obsolescence is the rule and where things evolve so fast that any person who wants to understand it has to continuously learn and train. Languages, methodologies and technologies keep on changing, evolving to make programming easier, safer more robust and above all, faster. As to every rule, there is one exception.

    In 1959, convinced that the English language would be more suitable for programming than machine code or the assembly language, Grace Hopper creates the first ever human-readable programming language that would survive for over fifty years: COBOL

    COBOL, 55 years old and still in its youth, not ever thinking about retirement, has become a nuisance, something everyone wants to get rid of but no one has the courage to try.

    Are we ready to replace COBOL?

    Nowadays, 80% of financial transactions are made through COBOL programs and most of those programs have been written decades ago and have proven to be reliable, effective and efficient. To top it all most companies which are still using it have invested a lot of money in those systems and if it is not broken, why fix it?

    So why would one want to change them? Well, it’s not Java. COBOL was created in an era where IT didn’t have the meaning it has today. A program was mainly designed to replace simple repetitive tasks such as retrieving data from a database, performing a couple of operations and generating a report or updating some other data. Today’s programs have to present a front-end to thousands of users, go through different layers of security, logic and quick data retrieving before accessing the back-end to ultimately alter data and send some information back to the user. Alternatively, a program can be a tool to design objects and buildings, communicate with your friends, frag your opponents, enhance your reality, you name it… The whole philosophy behind the conception of programs has changed so much in the last two decades that having such an outdated technology that almost no one knows anymore represents a potential danger. Only few people learn COBOL these days and even though those systems are not supposed to evolve much, there is always maintenance to be performed. But are we ready to replace it just yet?

    Fast, robust and future-proof language

    COBOL has been on the brink of death for years but its presence overall hasn’t changed. Not only are the cost to migrate from one technology to another huge but the choice of the replacing technology itself is a million dollars question. What better than COBOL to perform typical COBOL operations? While not designed to be an Object Oriented Language such as Java or C#, COBOL has slowly adopted some of their aspects, extending itself and its functionalities to a point where almost everything is possible. Everything with the exception maybe of creating user friendly or good looking Human-Machine Interface. In that matter, nothing has changed much since Hopper’s time. Many of us still remember the frustration of spending hours to get a simple screen with a couple modifiable fields and those who still use them must be dreaming every day to replace F5 and F6 by simple buttons…

    But that was never the point; the point was to have a fast, robust and future-proof language.

    COBOLs main contenders

    The discussion is still opened as to which language could replace COBOL but here are some pros and cons to the main contenders:

    –       Java is easy to learn, well spread and has a huge community of developers already but is rather slow compared to other languages despite the existence of some specialized compilers and massive improvements in the last few versions. It is also arguably still in its youth and the yearly evolutions and changes to the language don’t play in its favor. Not to mention the recent security issues.

    –       C++ is fast, flexible and robust but it takes time to learn and understand and has what is maybe its biggest flow, potential memory leaks. Something COBOL and Java programmers have, almost, never heard of. By conception, it offers a lot of freedom to developers but that also implies few ready-to-use components and thus it’s less cost-worthy.

    Let’s say that one day we manage to find a clear winner, another major problem will suddenly emerge. COBOL was made to perform all kind of operations in one block but we have learned throughout the years that modularity is the key to success. So if we replace COBOL itself by another language, we will also need to have databases and SQL, a front end and HTML, most likely a Business Process Management Software to externalize workflows… Basically, replacing COBOL programs means creating whole new ones.

    The ultimate piece of advice

    While it is possible to replace this aging language, this comes at such an extremely high cost that we can anticipate its presence in at least the next twenty years which brings us to the ultimate piece of advice of this paper: if you have the opportunity to learn it and enough motivation to write white on black interfaces, go for it. The pool of competent COBOL programmers is getting smaller by the day and the demand doesn’t change, meaning that this personal investment might reveal itself a gold mine.