As you may have read previously on the blog, the MongoDB team is adopting the Go language for a variety of projects. At last month’s New York MongoDB User Group, Sam Helman presented on how MongoDB is using Go for new and existing cloud tools. In Sam’s talk, you’ll learn how MongoDB is using Go for the backup capabilities in MongoDB Management Service and a new continuous integration tool.
Why go with Go? Between the lightweight syntax, the first-class concurrency and the well documented, idiomatic libraries such as mgo, Go is a great choice for writing anything from small scripts to large distributed applications.
Thanks to g33ktalk for recording Sam’s talk.
Open Source Software in Business
Open Source software (OSS) has made significant strides in enterprises. From the New York Stock Exchange to the smallest mom-and-pop store, the Linux operating system is powering today's business servers. Its growing popularity is due in no small part to the fact that thousands of IT professionals around the world recognize that producing and distributing this type of open standard software has tremendous benefits over traditional commercial products. Unlike off-the-shelf software, open source gives users access to the underlying source code of the application that programmers write and how they instruct a computer to perform certain tasks. Commercial software is considered proprietary to the company that produces it. “It works well, saves money, and is more secure. SMB or large enterprise, there's no down-side, says Steven Vaughn-Nichols, a long-time Linux and open source journalist. “OSS tends to be more secure -- its code is open so anyone can find, report and fix the bugs. You have no idea what may or may not be hiding in proprietary code.” OSS also tends to be cheaper than its proprietary brothers, he adds. “Better security and cheaper to boot? What's not to like?” Previously, security and licensing acted as traditional barriers to adoption. Now, OSS is driving change from the bottom up, according to the seventh annual “Future of Open Source Survey,” of more than 800 respondents, sponsored by North Bridge Venture Partners and Black Duck Software. Survey results indicate OSS is experiencing a growing influence in organizations. This is due to a cultural shift supported by executives' openness to work with active and strong communities to influence projects and spur innovation, the study found. Additionally, “open source has reached a depth and maturity where quality, access to code and costs are no longer barriers to adoption. “This trend is reinforced by thousands of developers working to reduce defects in code, improve its security and innovate with new features and enhancements that get closer to what users want - because those users can have a hand in making it so,” the study found. The biggest factor in OSS adoption, respondents said, is quality, a ranking that increased from third place in 2012. Freedom from vendor lock-in dropped to second place this year, from first place in 2012. Lower costs, big data, and systems integration are the top three business problems open source is solving. In terms of sector growth, the study found that government, as well as health care and media/entertainment are moving toward adoption of open source. Technical capabilities and features were cited by 45 percent of respondents as reasons for why they choose OSS over proprietary solutions. Only 12 percent chose commercial vendor support as being an important factor, according to the study. Linux has taken over some verticals, notes Vaughn-Nichols. “Most stock markets’ core servers, for example, now run Linux. It really has been moving everywhere in other businesses.” As for the types of applications, he says it started with edge servers, file and Web servers, and over the years Linux is now being used for a large variety of apps, including CRM. Sears, for example, used open source software to build a private cloud platform. According to published reports, the company opted for OSS because it helped reduce costs and boost flexibility. And Sears and Chevron are using Hadoop, an open source database to analyze large amounts of data. Because the code is reusable, OSS is also being used by MasterCard to build prototypes of mobile apps. This gives developers the ability to create apps quickly, the company said. While the energy industry typically hasn’t shown an interest in OSS and has generally only used Linux application servers, Chevron is using Hadoop to find oil in areas including the Gulf of Mexico. As for smaller businesses, Vaughn-Nichols says many are probably not aware that their Network-Attached Storage (NAS) device and Internet router “are almost certainly running Linux.” The OS is everywhere, he adds. “It's in your pocket with your Android smartphone and it's what powers your Google Web searches. The only place it really isn't is the conventional desktop.” Better quality was the number one factor for open source adoption in business cited by respondents in the Future of Open Source survey. Other factors in order of importance were: freedom from vendor lock-in; flexibility/access to libraries of software, extensions and add-ons; elasticity/ability to scale at little cost or penalty; superior security; pace of innovation; lower costs; and access to source code. Increasingly, open source software is being chosen over proprietary alternatives. Industry observers say it’s a viable choice for businesses because it provides: Control – Unlike commercial software, OSS lets you make decisions about how to run your business. Flexibility – OSS is licensed in a way that lets you modify it yourself or hire a third party to tailor the software to meet the needs of your business. Reliability – OSS typically has fewer bugs and is more reliable than software developed using a standard commercial development process. Cost – There are little to no upfront costs with OSS. Users only pay for the support they need and most importantly, when they need it. Longevity – If a commercial software company goes out of business, you lose all of your support, bug fixes, security patches and possibility of future upgrades. Contrast that to a mission-critical software application a business is using: all it has to do is find a consulting firm, programmer or another third-party provider. “Enterprises see [open source software] as leading innovation, delivering higher quality and driving growth rather than being just a free or low-cost alternative,’’ says Michael Skok, general partner at North Bridge Venture Partners. “Going forward, as broader adoption creates a virtuous cycle of innovation and investment, we can expect more disruption from open source, new business models and many more exciting new projects and companies." Vaughn-Nichols also sees OSS becoming more ubiquitous in business. “It's becoming invisible. People tend to think of software as what they see in front of them. For most people that means Windows or Macs. Behind all of them everything -- and I mean everything -- has been switching over to OSS.”
The Rise of the Strategic Developer
The work of developers is sometimes seen as tactical in nature. In other words, developers are not often asked to produce strategy. Rather, they are expected to execute against strategy, manifesting digital experiences that are defined by the “business.” But that is changing. With the automation of many time-consuming tasks -- from database administration to coding itself -- developers are now able to spend more time on higher value work, like understanding market needs or identifying strategic problems to solve. And just as the value of their work increases, so too does the value of their opinions. As a result, many developers are evolving, from coders with their heads-down in the corporate trenches to highly strategic visionaries of the digital experiences that define brands. “I think the very definition of ‘developer’ is expanding,” says Stephen “Stennie” Steneker, an engineering manager on the Developer Relations team at MongoDB. “It’s not just programmers anymore. It’s anyone who builds something.” Stennie notes that the learning curve needed to build something is flattening. Fast. He points to an emerging category of low code tools like Zapier, which allows people to stitch web apps together without having to write scripts or set up APIs. “People with no formal software engineering experience can build complex automated workflows to solve business problems. That’s a strategic developer.” Many other traditional developer tasks are being automated as well. At MongoDB, for example, we pride ourselves on removing the most time-consuming, low-value work of database administration. And of course, services like GitHub Copilot are automating the act of coding itself. So what does this all mean for developers? A few things: First, move to higher ground. In describing one of the potential outcomes of GitHub Copilot, Microsoft CTO Kevin Scott said, ““It may very well be one of those things that makes programming itself more approachable.” When the barriers to entry for a particular line of work start falling, standing still is not an option. It’s time to up your strategic game by offering insight and suggestions on new digital experiences that advance the objectives of the business. Second, accept more responsibility. A strategic developer is someone who can conceive, articulate, and execute an idea. That also means you are accountable for the success or failure of that idea. And as Stennie reminded me, “There are more ways than ever before to measure the success of a developer’s work.” And third, never stop skilling. Developers with narrow or limited skill sets will never add strategic value, and they will always be vulnerable to replacement. Like software itself, developers need to constantly evolve and improve, expanding both hard and soft skills. How do you see the role of the developer evolving? Any advice for those that aspire to more strategic roles within their organizations? Reach out and let me know what you think at @MarkLovesTech .