About the Author:

Newsflash: Big Data, AI, and Machine Learning Aren’t The Same Thing

November 15th, 2018

One of our long-standing pet peeves is the confusion around artificial intelligence. Non-tech folk seem to use certain concepts interchangeably, leaving the impression that artificial intelligence, big data, and machine learning are all the same thing.

They aren’t.

When we’re feeling nice and patient, we can certainly understand this confusion. But we want to clear it up because this confusion, annoying at best, can actually be destructive at its worst. Some companies are correctly touting AI and machine learning, such as self-driving cars from TeslaUber, and Google’s Waymo, or software that understands and interacts with human speech. But other companies seem to use the terms in a half-hearted marketing ploy, just to show how cutting edge they are.

Here’s what we want to scream at the tops of our lungs: big data, AI, and machine learning aren’t the same thing! Sure, they’re related and there’s plenty of overlap, but only in the way that sugar, cake, and dessert are all the “same thing”. You may like dessert as a concept, understand how sugar plays an important role, but maybe you prefer ice cream or cookies over cake.

We all love a sweet treat, but we sure aren’t the biggest bakers. But we are tech experts and enthusiasts, so here’s how we clear the confusion on these major concepts:

Artificial intelligence is the concept. Machine learning is one method attempting to achieve

Let’s break this down.

Artificial intelligence is a theory that dates back to at least the advent of computing. As scientists and engineers began to scratch the surface of what’s possible for computing technology, AI became a catch-all phrase for the wonders (and perils) of what a fully computed world could do. Historically seen as the point when machines can simulate the precision and subtlety of human intelligence, this ideal has played out in countless sci-fi movies, like Blade Runner, The Matrix, Ex Machina, and more. But how we actually get there is a matter of debate and necessity – we haven’t reached AI yet. And at this current moment we seem to be getting closer, but mistakes and drawbacks are evident at every turn. The path that will get us there isn’t yet clear.

Machine learning, then, is just one way the world is getting closer to artificial intelligence. Machine learning is a practical application of AI that uses mathematics and statistics. At its most basic, ML is simply computers progressively training on massive sets of data to achieve an

outcomelike finding an underlying pattern or deciding to act based on input. A programmer sets up the machine with some initial algorithm, and the computer trains on this set of rules in either a supervised learning or unsupervised learning environment. (Some industry leaders say that the goal of machine learning is for computers to act without being explicitly programmed, but at least for now, most machine learning set-ups require at least some initial human-led programming.)

Your email’s spam filter is a great example of machine learning. Back in the day, filters may have followed a simple rule or two to filter out spam, such as removing any emails that refer to large sums of money in donation, African princes, or online pharmacies with weight loss miracle pills. Today, though, spam is faster and smarter, so spam filters have to continuously learn what’s spam by looking at built-in metadata, like the email address, where it’s sent from, and the wordsinside to determine if the language matches other types of emails you receive. This machine learning also takes in userinput – when you identify some coupon or newsletter as spam, which your neighbor or friend may wholeheartedlywelcome into his mailbox.

Big data is the material fueling AI at large and machine learning specifically. Consider big data the tangible information that allows machine learning to work. As recently as a decade ago, companies didn’t have the ways to collect and store enough data to even begin using machines to find unseeable patterns and relationships. Today, though, data is the product. Companies offer services for free in exchange for real data about their users, and the more relationships that have a computerized component, like using a debit card or Apple Pay, texting someone, clicking specific links on a news article – all this data can be collected and fed into machines to find some pattern.

But this data is only as useful as the methods of extraction used. If you’re sitting on heaps of data but your computing and data mining processes aren’t in place, the data is essentially worthless. Used as an ingredient in a machine learning algorithm, however, you may start to gather intelligence you didn’t already have.

So why all the buzz about AI these days? Thanks to the explosion of cloud computing, gathering and storing big data is a breeze, and machine learning can take advantage of infinite computers, learning much quicker speeds than ever beforeNow that you understand big data, AI, and machine learning separately, you can get other stakeholders on board to start understanding and using the concepts correctly.

About the Author:

All Bootcamps Are Not Created Equal

November 15th, 2018

Coding bootcamps don’t always have the best reputations. Why? Some training companies make promises they simply can’t keep using a cookie cutter approach to training. Organizations that send their employees to bootcamps may come in with impossibly high expectations about what skills their employees will acquire, only to be disappointed later when they’re unable to show and tell on the job.

Dave Wade-Stein, Senior Instructor, for DevelopIntelligence, said that off-the-shelf offerings are unlikely to generate the performance an organization expects in exchange for the hefty price tags that often accompany bootcamp learning experiences. Unless, perhaps, the purpose is to train a more experienced technical team on a new technology they’re unfamiliar with. “An off-the-shelf bootcamp can serve that purpose because you’re casting a wide net, trying to help people learn something new they don’t know much about, therefore almost anything is helpful,” he explained. “It doesn’t work when the bootcamp is designed around particular aspects of technology that don’t align with the needs of the team who are attending it.”

Cookie Cutters Are Only Good in Kitchens

Jonah Bailey, managing partner for software development and design company Atomic Object, echoed Wade-Stein in his 2017 article “Coding Bootcamps Have a Fundamental Problem.” Bootcamps, he said, teach a narrow group of development tools and practices that technical talent could use to build something — if everything goes right. But how often does everything go right? “Problems present themselves at different, unexpected points in the technology stack used in a complex software project,” he wrote. “A developer needs experience to solve those complex, emergent problems.”

To make a dicey situation even worse, Wade-Stein said that organizations may choose bootcamps solely based on buzzwords, without considering whether the content has the potential to serve their needs, or whether the course will be a beneficial experience for their employees. The most effective way to meet an organization’s goals is to use a customized training approach. “The CLOs or learning liaisons who are organizing the training, the more familiar they are with the needs of the company and their employees, the more likely they are to turn it into an opportunity for customization.”

Wade-Stein said the most effective bootcamps don’t simply cover the desired technologies or programming languages. Instead they are specifically organized around the client’s needs, they’re highly interactive, and they must include a significant amount of hands-on work to reflect the kinds of work the students will be doing in the real world.

In addition, Wade-Stein advocates for what he calls “stepping stone” bootcamps. As each new topic is introduced, students should be given an exercise that lets them try it out. “A bootcamp has to mirror real life, actually working on projects,” Wade-Stein explained. “It has to be the same kind of process: Here’s something new, let’s try it out. Here’s the next idea, let’s try it out. Now let’s combine these ideas to make create something bigger. At the end of the bootcamp the students should feel like they’re building something of value and understand how all the pieces fit together. A well-designed bootcamp will build out the learning in a stepping stone fashion so that at each stage there’s additional material they can draw from and build upon.”

The industry seems to be catching up to that idea. According to an August 2018 Course Report, the number of corporate training partners working with 24 reporting bootcamps to teach programming this year grew from 440 in 2017 (producing 7,858 graduates) to 634 in 2018 (producing 16,593 graduates). The report states that “coding bootcamps iterate quickly and know how to teach the newest programming languages, making them a perfect match for companies looking to upskill their employees.”

Clients and Training Companies Should Collaborate to Build a Better Bootcamp

Ideally, organizational learning leaders should interact with the technical trainers who will teach the bootcamp, and contribute their input to create a solid course outline. That will also help determine the appropriate length for the bootcamp, which can range from days to weeks to months or even an entire fiscal year. The appropriate training time is all about what’s being taught, and there are a lot of variables: participants’ skill level and current knowledge base, what they need to know, how quickly they need to put that information or those skills into production on the job, and whether or not training is customized to do a particular technology justice.

“There are times when off the shelf would do just fine, but to be truly successful most bootcamps need to be customized,” Wade-Stein said. “Sometimes learning leaders don’t actually know what is needed. A conversation or two with instructors and subject matter excerpts can really tease out the details so the bootcamp can be built to custom specifications. It’s incumbent upon the client and the training company to communicate in order to ensure they’re hitting the target.”

There are many bootcamps out there, especially now that online training is gaining popularity. When learning leaders evaluating the options, they’ll find that the better ones deliver highly customized learning and work directly with subject matter experts at the client organizations. In addition, better bootcamps will assess students as needed throughout the learning experience, build custom content and labs, and deliver programs that look and feel as though they were developed by in-house engineering and learning and development teams. If that’s not what the bootcamp is offering, let the buyer beware.

About the Author:

How To Choose The Right Tech Stack

November 15th, 2018

When you’re building a new app or software solution, before you can begin the actual development, you have to decide just what language, framework, and technology will power your development and your product. Choosing the right technology stack for your project, team, or entire company can feel daunting, especially if you’re not exactly an expert on all this.

Luckily, we’ve got you covered with some strategies and approaches on choosing the technology stack for your new product.

What is a stack?

A stack refers to any combination of software products and programming languages. Technically, there are two types of stacks: a technology stack and an application stack. A technology stack is a more generic term of any software that serves as the infrastructure for a computer, depending whether it supports a server or a client computer.

Today, though, we are usually talking about application stacks, the programming languages and frameworks that developers rely on when building an application.

Two sides of application development

From a developer’s perspective, applications are divided into two sides: the server-facing side and the client-facing side. The server-facing side is often known as the back-end, as in back-end development, because it’s not something the client or user will see or engage. The client-facing side, on the other hand, is known as the front-end.

Back-end stack

Software that supports the server side and drives the functionality of the app includes the web framework, chosen programming language(s), database, web server, and OS that builds on the server.

Choosing a program language can be tricky, but each language has an associated framework, which provides tried-and-true application program interfaces(APIs) of common apps and functions, such as data access and authentication, so your developers can tweak the wheel instead of reinventing it. Common examples of languages and their frameworks include:

  • Ruby uses Ruby on Rails
  • Python uses Django
  • JS uses Node.js
  • PHP uses Laravel
  • C# uses .NET

Front-end stack

The client side relies on software like user-facing languages, such as JavaScript, CSS, and HTML, that run the web browser or the native application, if the application is a native software for the phone, tablet, laptop, etc.

Frameworks on front-end are optional but can help build rich interactive experiences or provide a standardized format for clean, responsive web pages.

Tips for choosing/determining your technology stack

Choosing a technology stack is overwhelming, especially when non-techies are involved or in charge of it. There are a lot of theories behind how to choose your technology stack, but no clear-cut answers. Instead, let’s explore some common approaches:

  • The path of least resistance. If you’re just getting started with developing an app, keep it simple. Industry experts know that a new product is more likely to fail than to succeed, so testing potential interest before spending pouring tons of cash and countless hours into developing something. For this, stay agile: create a basic product landing page, build a single feature using a common language and – voila – you’ve begun development!
  • Size matters. Similar to keeping it simple, the size of your software solution matters too. If you’re building a small project or want to test the waters, start with a simple solution like a content management solution (CMS) or WordPress, which support multiple programming languages and already have a lot of out-of-the-box APIs so you don’t have to reinvent the wheel. This won’t work for large or complicated projects, but you’d be surprised how quickly you can reduce your time to market with these options.
  • Tried-and-true stacks. Skip the rigmarole of decision making and opt for a tried-and-true stack. One of the most common stacks is LAMP, which means you’re using Linux, Apache, MySQL, and PHP. Or, if you’re inclined to Ruby oy Python, you can use these in place of PHP. Other common stacks include:
    • .Net
    • Ruby on Rails (ROR)
    • MEAN, comprised of MongoDB, Express.js, AngularJS, and Node.js.
  • Open-source options. A lot of developers favor open-source languages and frameworks because they have built-in options and tend to be more secure – because so many people are using them and updating them, you don’t have to build everything from scratch. A big bonus is that you can refocus your energy and resources on the business side, not the technical side, of your project.
  • Get technical. If you’ve got enough knowledge and know-how to choose a custom stack, you already know that it’s not only about professional, functioning software. Instead, consider these criteria, too:
    • Users. Know who your users are, who are they and how will they work, what browsers do they use. This helps you determine whether you should design for mobile first/later/only, or perhaps your web design is more relevant.
    • Processing size. The more processing and data your app handles, the more it needs a language and framework that supports speed and high performance.
    • Low latency.
    • Scalability and maintainability. As customers buy and use your product, is your app ready to be scaled up for size and performance? If not, you may lose customers who aren’t willing to wait around for updates.
    • Security. This component becomes more important by the day. Is the stack you’re choosing the most secure it can be? Does it update its security protocols often?
    • The ecosystem. You may want to choose a brand-new language and framework that seems perfect for your goal – but if there’s no ecosystem (experts, online tutorials, conferences, community), you may struggle to find the support and answers you need to use it effectively.
    • Long-term support. All technology has a lifecycle – as it grows, there are more resources for support and the vendor is likely in business, offering customer service and updates. But if you’re going with a newer company, their technical support may not be reliable or, worse, around for long.
    • Cost. Last but not least, the cost of your stack is vital – if it’s too pricey and you spend too much time on developing and testing, you won’t make your launch date, adding significantly to your overall cost.

Ultimately, the best guidance may be this: Consider your product, consider your myriad options, and then just get started. You could spend months determining the best technology stack, and in that time, you’ve lost any competitive edge. Or, you may think you’ve built the best stack for your needs, only to actually get to work and none of it feels or goes quite right.

About the Author:

Where to Study Web Development (Solo) in 2017

July 28th, 2017

appendTo offers web development training courses for teams of developers. That said, we realize many people are learning web development and JavaScript on their own. Thankfully, there’s more resources than ever for solo learners.

Here’s some of our favorite spots to learn web development in 2017:

Front-end Developer Handbook 2017

This free online book gives a comprehensive ‘lay of the land’ on how the various frontend technologies tie together and where to learn more about them.

Free Code Camp

Free Code Camp is a growing community of solo code learners with pathways and challenges to learn the essential parts of programming and web development. Their blog has some of the most original and helpful content on the web development learning space.

LearnCode.Academy

LearnCode.Academy is a set of free, friendly videos that teaches technologies like React, Redux, and Mobx.

Scotch.io

Scotch offers hundreds of free tutorials on the latest web development libraries and frameworks.

CSS Tricks

CSS tricks also features hundreds of high quality tutorials on most front-end topics.

Udacity

Udacity offers dozens of high-quality up-to-date video tutorials on numerous programming topics.

Pluralsight (paid)

Pluralsight offers hundreds of video courses on many major programming languages, frameworks, and libraries.

EggHead

EggHead offers video courses on React, JavaScript, Angular, Node, D3, Vue, and others. EggHead’s videos are usually much shorter and to the point which can make them more digestible.

You Don’t Know JS

You Don’t Know JS is a free book series by Kyle Simpson that explains confusing parts of JavaScript in richer detail that other resources.

Mozilla Developer Network

MDN is the defacto reference guide to JavaScript/HTML/CSS and offers examples of most syntax and language rules. Go here before w3schools.

r/learnjavascript r/learnprogramming

These subreddits are generally a good community space to get help from another human if you’re stuck on a bug or decision.

About the Author:

Training Outlook for 2017; Q&A

December 20th, 2016

The modern methods of communication and the rise of computer technology have changed how organizations train their employees. In particular, technology has a major role since younger generations of workers have used the internet from the time of its birth. Bob Clary, Strategic Partnerships Manager here at DevelopIntelligence, discusses the impact of technology and social media on modern day employee training tactics and the future of employee training programs in 2017. (more…)

About the Author:

DevelopIntelligence Named a Colorado Company to Watch

June 8th, 2015

Boulder, CO – DevelopIntelligence announced today that it has been named a Colorado Company to Watch, acknowledging the drive, excellence, and influence…READ MORE.

About the Author:

DevelopIntelligence Included on Mercury 100 List of Fastest-Growing for Fourth Consecutive Year

May 28th, 2015

Boulder, CO – DevelopIntelligence has earned a spot on BizWest’s Mercury 100 list of fastest-growing private companies in Boulder Valley for a fourth consecutive year. With a revenue growth of…READ MORE.

About the Author:

DevelopIntelligence Researches Challenges Facing Learning and Development Managers

January 13th, 2015

Boulder, CO – DevelopIntelligence is conducting research to learn more about learning and development (L&D) industry trends and the challenges…READ MORE.

 

About the Author:

DevelopIntelligence To Offer One-Day Node.js hack-a-thon In Boulder, Colorado

September 11th, 2014

Boulder, CO – Boulder-based DevelopIntelligence is offering a one-day Introduction to Node.js hack-a-thon. The hack-a-thon is open to the public…READ MORE.

 

About the Author:

DevelopIntelligence Releases 2014 Developer Survey Report

September 2nd, 2014

Boulder, CO – DevelopIntelligence has released its 2014 Developer Survey Report. The purpose of the report is to apprise those in developer learning solutions management roles of current developer learning trends….READ MORE.