10 books every web developer should read to increase their software IQ

When wannabe developers ask what books they should read, I usually respond “First off, just read.” A large part of the software development process is reading other people’s’ code. That said, the best thing you can do to improve as a developer is to read anything that will sharpen your speed and comprehension skills.  The more effective you become at reading, the more efficient you will become in your day-to-day work building software.  The following however, are books that if you have not yet read them, will have the most significant impact on your software IQ.

Moonwalking with Einstein by Joshua Foer and Mike Chamberlain – Google is great, but for all the convenience it offers, it really has deteriorated true learning. Why memorize what you can look up, right? And, if you don’t have a solid understanding of how to improve your memory, you really have no other option. Most developers are not taught memorization techniques and never even make an attempt to get better. As a result, mobile devices have become a crutch, and it shows. Today’s developers struggle to produce more than a few lines of code without referencing Google and then StackOverflow. Looking up language nuances or a specification when you are coding is a time sink. Guessing the signature of a function a few times and then looking it up is an even bigger time sink. But there is another way. This book teaches specific tactics to get the most out of focus, chunking, and repetition so that when you have to recall shortcut keystrokes, status codes, or the arguments to a function, you can do so easily. The author reveals tips about how humans with the best trained memories compete in memorization competitions and how he learned techniques over a very short period of time.

You Don’t Know JS by Kyle Simpson – This is a series of books that collectively should be treated as the bible for JavaScript. Every JS developer should read it and maintain a copy in the closest night stand drawer. The author has even provided the full copy of each book online if you would like to read it for free on GitHub. It’s a tough read, and slow going for most. The volumes are each little booklets that usually require a couple of passes to absorb it all, but each of the 7 volumes will deepen your knowledge of some of the trickier parts of JavaScript.

Clean Code by Robert C. Martin – The author of this book is referred to with reverence in the software community as “Uncle Bob” and is well known for his numerous conference talks about writing well organized and maintainable code. After reading this book developers will likely spend more time thinking about why we write code in a particular way and what that our styles and habits say about the seriousness of our approach to the craft. Uncle Bob’s principles will allow you to identify code smells (the difference between good code and bad), and better yet, a process you can use to clean up and refactor your code to make it more readable and maintainable.

Software Craftsmanship: The New Imperative by Pete McBreen – The principles in this book align well with Clean Code. It differs in that it talks more about the art, than the science of software. Reading it will help developers figure out how to deliver value to customers via software. It addresses collaboration with stakeholders, project management, and more of the soft skills that are needed to really be a master at the craft. There is even a chapter on managing software craftsmen that will help developers better understand the relationship between those that code and those that lead.

7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce Tate – The ability to learn fast and pick up new languages gives developers a real edge in today’s market. This book will help developers become decent at reading the code of these new languages, and understand the role they play, even if you’re not planning to become a polyglot (one who has mastered many languages). The point to learning a bit of 7 languages in 7 weeks is to gain a generalist’s knowledge. This allows a developer to better compare and contrast languages, and should strengthen the mastery of those used more regularly. If you’re curious about the 7 languages that are covered in the book, it examines Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Using this 7 week approach you will learn, or be reminded of, programing paradigms that have evolved over time. Many have strengths that make the languages best suited to solve particular types of challenges. Others demonstrate the fad-like nature of how engineers work for a few decades, and then collectively decide the old way is boring, and the new way is “the only way” to code well. JavaScript programming, for example, can be done in a functional, object oriented, or procedural style. This book will inspire you to take a look at languages that are more focused on one or two of those methods and take a deeper dive into how each language implements common design patterns.

7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond and Jim Wilson – By gaining exposure to 7 different databases, developers can broaden their ability to pick the right database solution for each new problem they encounter, versus feeling stuck with using the one or two solutions that are most familiar to them. This book will give developers the confidence to conquer building applications using any database. Even those databases that first appear to be unique will suddenly seem very similar to those used quite commonly by today’s developer community.

JavaScript the Good Parts by Douglas Crockford – JavaScript is moving really fast these days. So fast, that some people skip learning the basics and focus on mastering frameworks and libraries before they have a deep understanding of “vanilla” or pure JavaScript. In this book you will go back to basics and learn many of JavaScript’s nuances and what pitfalls to avoid. Since there are so many libraries and frameworks, software developers need to be able to evaluate libraries and frameworks quickly. This book serves as a guide for best practices. Even if you decide not to follow them, understanding Douglas’ decision making process and rational will help you get better at evaluating other people’s code. It will help you refine your ability to not just say what you don’t like, but articulate why. Understanding why some areas of JavaScript should be avoided will also help you craft better software, and think more about design patterns that will stand the test of time.

Think and Grow Rich by Napoleon Hill – Success in software development parallels success in life. The principles that you can learn and see practical application of in this book will make you more productive and mentally successful. Personal and professional achievement requires a productive thought process and success oriented mentality. This book was published almost a century ago, but its stories are just as applicable to the life of a success-minded individual today.

How to Win Friends and Influence People by Dale Carnegie – From an outsider’s perspective writing code is thought to be one of the most important skills of a software engineer. However, being able to listen and communicate effectively is far more important. Simply having a great idea or design for how to build something is wonderful, but being able to effectively communicate that idea, get buy-in and the “green light” to build is another. This book will provide anyone – even developers – with the tools to negotiate and be empathetic to stakeholders. Use this book to get better at setting and managing expectations. After reading and practicing the techniques you will be well-equipped to understand others and motivate them to embrace your solutions, so you can spend more time building things you love.

HTML & CSS: Design and Build Web Sites by Jon Duckett – This is the book you will set on your office coffee table, and every time you pick it up you will learn something new. It is not a book you will read cover to cover, but it is one that you will return to frequently and digest it in small chunks. It is beautifully illustrated and the examples of code make HTML come alive. As much as we like to think we know the fundamentals, this book is packed with implementations of HTML and CSS specifications that developers can come back to over-and-over and still learn each time. Use it like a dictionary to look something up (when Google is not handy), or when you just want to refine your knowledge of designing websites.  On your coffee table it will make you look like the hipster coder we all aspire to be.

Postman announces new API development platform for the enterprise

Postman has announced the release of Postman Enterprise, a new solution designed to expand on the features of its API development solution Postman Pro. Postman Enterprise was created to provide enterprise users with new and improved security and enterprise-only features.

“Enterprises want the option for their developers to use Postman, but within a safe, secure and enterprise-controlled environment,” said Abhinav Asthana, CEO and co-founder of Postman. “These organizations now have the option to make all of their API development faster, easier and better with Postman Enterprise.”

The new release features Single Sign-On (SSO), allowing organizations to more easily and securely manage team members’ access to API development work within a Postman instance. Postman Enterprise already supports multiple SSO providers such as Okta, OneLogin, Duo, Ping Identity, AD FS, and GSuite. Going forward, the company plans to add new providers based on customer need. Postman will also be providing SAML 2.0-compliant identity provider support.

Postman Enterprise will also provide audit logs, allowing customers to track activities within teams, especially when they are collaborating on code, the company explained. With this feature, users will be able to review every change and see who made the change and when.

In addition, the solution will offer extended support and billing such s additional self-server options designed for larger organizations with more structured policies on procurement, provisioning, and customer success.

Microsoft releases its Azure Service Fabric to open source

Microsoft’s Service Fabric Team announced the open-source release of Azure Service Fabric under the MIT license yesterday. The team behind the distributed systems platform, designed to easily package, deploy and manage scalable and reliable microservices and containers, will be transitioning to a completely open development process on GitHub over the coming months.

While the Service Fabric repo available on the project’s GitHub contains build and test tools for Linux, allowing users to clone and build Service Fabric on Linux systems, run basic tests, open issues and submit pull requests, the team says it is “working hard” on migrating the Windows build environment to GitHub with a complete continuous integration environment.

“We’ve been developing Service Fabric internally for Windows for close to a decade, and most of that time it was a Microsoft-internal platform, which means we have close to a decade’s worth of internal Microsoft tools to migrate and processes to refine before we can put something usable out on GitHub,” the team wrote in a development blog. “When we started working on Linux support a couple years ago, we were a public product and already planning to go open source, so we made sure to use common, publicly available tools as much as possible.”

Microsoft releases Azure Bot Service and Cognitive Services Language Understanding


The team began the transition in March of last year with the open-sourcing of elements of Service Fabric, including Reliable Services, Reliable Actors and the ASP.NET Core integration libraries, and have been moving other “small parts” of Service Fabric to GitHub, such as Explorer and the CLI over the course of the past year.

“We’ve heard from many of you about the importance of being able to participate in the development and direction of the platform that you depend on to run your mission-critical applications,” the team wrote. “We stay active on GitHub and Stack Overflow for that reason, and open sourcing the platform is the natural evolution to make that collaboration even better. That’s why we’re committed to making Service Fabric a successful open source project by moving our entire development and planning process onto GitHub, where we can openly collaborate with the community to make Service Fabric better for everyone.”


Visual Studio Code will now ship with Anaconda

Microsoft has announced that Visual Studio Code will ship as part of the popular Python data science platform Anaconda. Microsoft first announced plans to bring Python to Azure Machine Learning, Visual Studio and SQL Server in September of last year.

According to Microsoft, “Visual Studio Code can easily be installed at the same time as Anaconda, providing a great editing and debugging experience for Python users, with special features tailor-made for Anaconda users.”

Microsoft has previously made investments in the Python community. It has already released a Python extension for VS Code and provides support for Python in Azure Machine Learning, SQL Server, and Azure Notebooks. According to Microsoft, the Microsoft Python Extension for Visual Studio Code is the most downloaded extension in the VS Code marketplace.

In addition, Microsoft created a team to support its Python extension, and will be extending that support for Anaconda environments as well.

According to the Anaconda team, VS Code is a good IDE choice for its users on Windows, macOS and Linux because of its debugging, code completion, and Git integration features. It also offers a number of extensions that developers can tailor to their specific needs.

“Anaconda, Inc. is excited to be able to make installation of Microsoft Visual Studio Code and the Python Extension for Visual Studio Code a more seamless experience for our Anaconda users,” Crystal Soja, product manager for the Anaconda Distribution and Anaconda Cloud, wrote in a post.

Google announces Android KTX for Kotlin development

The Android team has announced a preview of Android KTX. Android KTX is a set of extensions designed to improve the process of writing Kotlin code for Android. It does this by providing an API layer on top of the Android framework and Support Library.

Android KTX will enable developers to convert strings to URIs more naturally, according to the team. It will also be easier to edit SharedPreferences using Android KTX than it is with Kotlin. Android KTX will be more efficient at translating path differences and simplifies the process of triggering an action with View onPreDraw by several lines of code.

Currently, the part of Android KTX that supports the Android framework is available. The part that supports the Support Library will be available in an upcoming Support Library release. The team has indicated that it is waiting for the API to stabilize before this happens.

To start using Android KTX, developers will have to add a snippet of code to the app’s build.gradle file. Once the project has been synced, the extensions will automatically appear in the IDE’s auto-complete list.

A full list of features can be found on the Android KTX GitHub page.


CollabNet announces new Agile and DevOps features in Winter 2018 release

CollabNet has announced the VersionOne Lifecycle and Continuum Winter 2018 Release with a number of new features and capabilities. VersionOne Lifecycle for Agile ALM is the company’s agile lifecycle management solution while VersionOne Continuum for DevOps is a continuous delivery solution that allows teams to speed up software deployments while reducing risk and ensuring quality.

“Our winter release continues to help organizations achieve end-to-end visibility so they can deliver software faster with reduced risk and confidence,” said Flint Brenton, president and CEO at CollabNet.  “CollabNet is committed to bringing enterprise software teams together unifying Agile, DevOps, and Source Control lifecycle management.”

As part of the VersionOne Lifecycle, the company has added a new Milestones feature. Milestones are designed provide more visibility into a team’s planning process by capturing and communicating key dates such as industry events. According to CollabNet, this will help teams keep track of targets, sync times and important events. Uses can also create and view milestones within their roadmaps.

Also included in the VersionOne Lifecycle for Agile ALM release are saved views for grid, and team transitions.

VersionOne Continuum now features enhanced integrations for TeamForge SCM. According to the company, this will provide a more streamlined interaction from Continuum to code repositories. The solution also features a new insights dashboard for collecting development data, an environments dashboard for viewing package revisions, and an encrypted plugin data for more security.

“We are excited to announce the 2018 Winter VersionOne Product Release. With this release, VersionOne launches new capabilities that provide teams with greater flexibility for planning and managing software delivery with confidence,” the company wrote in a post.

Apache Trafodion becomes Top-Level Project

The Apache Software Foundation announced today that Apache Trafodion has graduated from the Apache Incubator and is now a Top-Level Project. This shows that the project’s community and products were well-governed under the Apache Software Foundation’s process.

Apache Trafodion is an open source project that provides OLTP/OLAP for Apache Hadoop. Features of the project include fully functional ANSI SQL support, distributed ACID data protection, Compile-Time and Run-Time Optimizers, Apache Spark integration, interoperability with existing Apache Hadoop solutions, and Apache Hadoop and Linux distribution neutrality.

“We are very excited to have been established as an Apache Top-Level Project,” said Pierre Smits, vice president of Apache Trafodion. “Graduation is a terrific milestone that culminates 2.5 years of contributions from around the globe to establishing a growing community committed to delivering a high-grade OLTP solution on top of the Apache Hadoop ecosystem.”

Apache Trafodion was created in 2013 and became part of the Apache Incubator in May 2015, according to the company. It has had four official releases during its time in the Apache Incubator. It is used by companies such as China Mobile, China Unicorn, Dell EMC, Esgyn Corporation, and Millersoft Limited.

“Becoming an Apache Top-Level Project is only the beginning,” said Smits. “We are looking forward to growing the Trafodion community, reaching new adopters and contributors, and fostering a strong ecosystem around the project.”


Node.js reached new milestones in 2017

The Node.js company NodeSource is releasing a Node by Numbers 2017 analysis to look at the growth and adoption of the JavaScript project. Node.js is a JavaScript runtime that features an event-driven, non-block I/O model.

“By all measures, 2016 was a fantastic year for Node.js – and 2017 was even better. Metrics across the board show growth and expansion of the platform,” according to the report.

2017 saw three supported long-term support releases: Node.js 4.x (“Argon”), Node.js 6.x (“Boron”), and Node.js 8.x (“Carbon”), making it the first time in history the project has had three supported LTS release lines. “From this point on, unless something changes in the way Node.js LTS releases are managed, we will always have three actively supported LTS release lines when Node by Numbers rolls around,” the NodeSource team wrote in a post. “This means that 2017 is the first time we’ll be seeing the dynamics of adoption and movement from one Node.js LTS release to another—giving the project, maintainers, and end-users better insight into which versions are most supported and most relied upon.”

The most popular download was and continues to be Node.js 6 despite Node.js 8’s upward trend. Node.js LTS usage saw a downward trend last year.

Additionally, the project reached a new milestone in its amount of downloads. For the first time, the project saw one million downloads in a single day last year. Another key finding included a 63 percent increase in the total number of new contributors.

Some anomalies the company saw in Node last year included: a jump in Russian downloads, an uptick in Node.js 9 downloads, and a spike in Node.js 7 downloads from April to May.

“Year over year, Node.js continues to succeed and grow. Credit for this growth is deserved across the board: to the countless hours that individuals contribute to the project to help build it, to the hundreds of thousands of modules that JavaScript developers have published, and to the developers who use it on a daily basis for everything from Enterprise-grade IoT to rapidly building out basic MVPs,” the team wrote.

DevOps remains a competitive advantage

DevOps continued to dominate development teams and businesses throughout the year with organizations trying to reap the benefits. A Logz.io study found that despite DevOps being a well-known phenomenon, 50 percent of respondents are still in the process of implementing DevOps or have just implemented it within the past year.

In the past year, many software companies teamed with or acquired others to broaden their DevOps solutions. CA acquired Veracode in the beginning of the year to help add security to its DevOps portfolio. JFrog acquired DevOps intelligence platform CloudMunch in June. CollabNet and VersionOne announced a merger in August to bring agile and DevOps together. Perforce made a push into DevOps with the acquisition of agile planning tool provider Hansoft in September.

In addition to acquisitions, companies developed and released their own DevOps solutions from scratch throughout the year. Dynatrace started the year off with the release of UFOs, a status alert system designed to help DevOps teams get a better look into their deployment pipelines. Microsoft announced the release of Visual Studio 2017 in March with DevOps as one of its core pillars. VS 2017 included code editing, continuous integration, continuous delivery, and Redgate database integration. Microsoft continued its DevOps commitment throughout the year, ending with the preview release of Azure DevOps projects in November.

GitLab took a new approach to DevOps with the release of AutoDevOps in July, and shared its vision for Complete DevOps in October. AutoDevOps provides the ability to automatically detect programming languages and build an app in that language, and then automatically deploy it.The Complete DevOps vision combines development and operations into one user experience.

CloudBees released a DevOptics solution to provide metrics and insights between teams in August. Electric Cloud released ElectricFlow 8.0 with new DevOps insight analytics. Atlassian unveiled the Atlassian Stack and DevOps Marketplace to break down silos and accelerate DevOps adoptions, and brought DevOps workflows to scale with the release of Bitbucket Server 5.4 and Bamboo 6.2 in October

Companies also worked throughout the year to bring DevOps together with other software development approaches and tools. In January, CA released a report that revealed agile and DevOps worked better together than alone. Later in the year, CA released another study that found if businesses really wanted to boost their software delivery performance, they should combine DevOps with cloud-based tools. Scrum.org and the DevOps Institute teamed up on ScrumOps, a new approach to software delivery that brings Scrum and DevOps together.

One of the biggest new approaches to come out of 2017 was the idea of DevSecOps. DevSecOps is a new notion that bakes security into the DevOps lifecycle in order to find and fix security vulnerabilities earlier and all throughout the life cycle for faster, higher quality code.

Veracode started the year off with its release of Greenlight, an embedded DevSecOps solution that enables developers to identify and fix security vulnerabilities, and rescan the code to double-check issues are fixed. DBmaestro released the Policy Control Manager, a DevSecOps feature designed to eliminate risks, and reduce downtime and loss of data. In July, WhiteHat Security took a look at the success of a DevSecOps approach in its Application Security Statistics report. The report found critical vulnerabilities in apps were resolved in a fraction of the time it takes without a DevSecOps approach.

Other reports throughout the year looked at the challenges blocking DevOps: Redgate found databases were one of the most common bottlenecks for DevOps teams. Quali discovered infrastructure and fragmented toolsets were among the top barriers for DevOps adoption. And in a combined report, Atlassian and xMatters found successful DevOps implementations make the most out of culture, monitoring and incident management. The State of DevOps report conducted by Puppet along with DORA (DevOps Research and Assessment) found in order to achieve DevOps success, automation, leadership and loosely coupled architectures and teams are key.

According to Forrester’s software development predictions for 2018, DevOps tools will continue to proliferate and consolidate, and DevOps will drive the use of APIs and microservices.

NodeSource announces $17.5 million round of funding

The Node.js company NodeSource is celebrating the holidays with a new round of funding announced today. In a series B funding, the company raised $17.5 million. The money will be used towards the company’s engineering, support and global go-to-market teams.

This brings NodeSource’s total amount raised to $33.4 million since 2014. “Our Node.js solutions are powerful tools for enterprises that need to run mission-critical applications on JavaScript,” commented NodeSource founder and CEO Joe McCann. “The market potential is significant, and this Series B investment from our partners at Crosslink Capital, Industry Ventures, Silicon Valley Bank and RRE Ventures further validates the strategy behind N|Solid and NodeSource Certified Modules (NCM), which is all about empowering organizations to successfully adopt, operationalize and scale Node.js to drive digital transformation initiatives.”

NodeSource is known for its enterprise Node.js solutions. Node.js is a open-source, cross-platform JavaScript runtime environment. The company’s flagship product N|Solid provides security, performance and extensibility for Node.js.

“NodeSource remains dedicated to delivering enterprise-grade solutions in support of a sustainable ecosystem for the open source Node.js project; and will continue to focus on enabling adoption of Node.js at scale through best-in-class solutions. I look forward to the growth and innovation this Series B funding will make possible in the coming years,” McCann wrote in a post.

The round of investment was provided by Silicon Valley Bank, Industry Ventures and existing investors Crosslink Capital and RRE Ventures.