Articles

Every developer has been there before: You release a new feature expecting a smooth ride, only to have something go awry in the back end at the last minute. 

An event like this can derail a launch, letting down customers and leaving you scratching your head wondering what went wrong.

Source de l’article sur DZONE

The application development landscape has fundamentally changed in recent years. In a recent interview with Ambassador Labs, Mario Loria from CartaX said he believes this is still uncharted territory, particularly for developers in the cloud-native space. As he sees it, site reliability engineers (SREs) play a key role in guiding developers through the learning curve toward comprehensive self-service of the supporting platforms and ecosystem, and ultimately to service ownership. This requires a major shift in company and management culture, and developer (and SRE) mindset and tooling as well as insight to make the journey to full lifecycle ownership not just smoother and more transparent but also technically feasible.

Two Worlds Colliding: The Monolith and Service-Oriented Architecture

The traditional monolith continues to exist in parallel with cloud-native application development. The operations side of the equation, according to Mario, understands that this has caused a big shift in deploying, releasing, and operating applications, and now the role of SREs is to help developers understand and own this shift. Developers know how to code, but building in the necessary understanding (and ownership) of the “ship” and “run” aspects of the lifecycle introduces a steep learning curve. For developers, this means taking on new responsibilities with the support of SREs.

Source de l’article sur DZONE

Currently the most popular version control system is git and I’ll be writing this based on git and it’s functionalities and capabilities.

Git is often seen as a way to enable distributed programming i.e. multiple programmers can work on the same code repository quite easily without disturbing each others work (much). In addition to that just like other VCS’s it’s also a log of work but to my experience that part is often unfortunately neglected. What I will be focusing this time is the log part because I think it deserves more attention.

Why to create a meaningful log?

The git log should consist from small meaningful changesets where each commit addresses a single problem. By dividing the log to small commits it enables resilient way of working. Being resilient enables simple and fast procedures to rollbacks, reviews, tags, branching etc.

Lets say that a developer is implementing a REST API. The API needs a web layer that receives the HTTP requests, it probably has some sort of logic layer to do data transformations and validations and maybe some calculations and finally it has a data storage where the data is persisted. There are options how to record this work to the log. One option would be to implement the API and record a single commit or squash the commits before pushing the changes to remote so it would become a single commit. Another option would be to record commits every now and then while developing and finally push those commits as is to the remote repository. Yet another way would be to carefully pick what is recorded per commit in order to have a set of meaningful commits that each address a single issue.

Example of the first approach would be something like this:

Source de l’article sur DZONE

The world of web design is incredibly dynamic. Every year, new trends and opportunities emerge, primarily driven by the arrival of modern technology. 

In recent years, we’ve seen various updates to the web design landscape, such as the arrival of AR and VR solutions for making mixed media. Video content has increased in quality, while the demand for inclusivity and usability has transformed the way that we build everything from websites to apps. 

Yet, for the most part, web design trends have continued to focus on the visual. 

When we hear the word “interface,” we often think of the graphical user interface – the ultimate way to connect users with sites. However, now we have a new, more natural way for customers to interact with their digital tools… The era of voice is here. 

Designing for the Age of Voice

The technology sector has made incredible progress in the development of things like Automated Speech Recognition and Natural Language Understanding. 

Thanks to updates in the way that machines process and understand human language, voice recognition accuracy is now at 90% and above. More than ever before, users can speak to a smart assistant, speaker, or phone-based application, and get the results that they’re looking for without error. 

The simplicity of communicating with technology via voice means that users have adopted this technology at an incredible pace. Half of all searches will be made with voice by the end of this year.

We’re standing on the edge of a fundamental shift in the way that we interact with computers and critical tools. As designers and developers, we need to be ready to embrace this new medium. 

With that in mind, here’s what designers need to think about when designing for voice UI. 

1. Decide How to Experiment with Voice

There are various steps involved in making a website more “conversational.” One of the first steps for any designer or developer is to think about the kind of voice-based interactions they’re going to enable for an app or website. 

For instance, rather than embedding voice technology into a website, you might decide to create a separate Amazon Alexa “Skill” for devices like the Echo. Companies like Capital One have already invested in this technology so that users can ask their smart speaker about their balance, rather than opening a laptop and logging into the site. 

To determine what kind of voice experiences you should be creating for your client, work with them on a customer journey map. Using this map of interactions that the customer has with your client on a regular basis, you can highlight areas where voice interactions might fit into the user flow. 

For instance, if customers are constantly asking questions about a brand or its service, an FAQ page that’s equipped with a bot that can respond to voice queries could be an excellent choice. 

UI design should always solve problems. Examining the frictions and frustrations that your client’s end-users encounter during their journey will help you to decide which direction to take with your voice UI experience. 

2. Examine the Anatomy of Voice Commands

Before designers can create a dialog flow for their voice UI, they need to understand how voice commands work. The key to success in a successful design for voice is understanding the objective of the interaction. A voice consists of three crucial factors for designers to consider:

  • Intent: Intent represents the subject and context of the voice command. A high utility interaction involves a request for a specific task. For instance, your users might request that your app gives them a list of five-star hotels in a specific area. Designing for these requests is often straightforward because what the voice algorithm needs to do is clear. However, low-utility requests can be harder to decipher, such as “hotels near me,” because there’s less specificity for the bot to work with. 
  • Utterance: Utterance refers to how a user phrases a command. For instance, in the case of looking for five-star hotels in Amsterdam, the customer might say “show me hotels,” or they might ask for “places to stay”. Designers must consider every variation of an utterance for their voice command UI. 
  • Optional variables: This refers to the extra filters that your voice UI needs to be aware of. In the case of five-star hotels in Amsterdam, the descriptor “five stars” is optional. The optional input needs to overwrite default values and bring more detail to the search. 

SideChef, for instance, is a voice-activated recipe app that offers narrated guidance to users and allows customers to search for recipes based on their specific needs. The app comes with a wide range of variables built-in, allowing users to customize their searches according to descriptors like “vegetarian” or “quick” meals. 

3. Learn How to Prototype with Dialog Flows

Learning how to leverage a complex UI strategy like VUI takes time and practice. Prototyping designers will often have to think like scriptwriters, designing various dialog flows to suit the different needs of customers, and the numerous interactions they might face. 

Dialog flows will outline:

  • Keywords that lead to the interaction
  • Branches that represent where the conversation might lead
  • Example dialogs for the user and the voice assistant. 

Practicing your dialog flows with scripts that illustrate the back-and-forth between the voice assistant and user will help designers and developers to understand the various nuances that can appear in a customer to robot interaction. 

Remember, while a crucial part of good voice UI design is keeping the communication conversational and straightforward, you will need to ensure that there is a dialog flow in place for every discussion that may occur between end-users and their apps, website, or digital tools. Users don’t want to feel overloaded and overwhelmed, but they need to ensure that they can complete their tasks too.

Consider the voice-based game RuneScape: One Piercing Note, for instance. 

The developers behind this app allowed players to speak with other in-game characters and use commands like “pull the lever” or “open the chest.” In designing the playable components of the game, the designers needed to think about every possible interaction that a player might have with different parts of the story while ensuring that users didn’t stray off track. 

A Few Tips for Voice UI Design 

Voice UI design can be very complex, mainly if you’ve never created something using voice as your only input before. However, once you get used to creating dialog flows, the whole process starts to feel a lot easier. 

As you’re designing, remember to:

  • Always confirm when a task is complete: When designing a checkout flow for an eCommerce page, one of the most crucial screens for a designer is the confirmation page. It shows the customer that the transaction has successfully been completed and stops them from worrying whether they’ve done the right thing. The same concept applies to Voice UI design. If your client’s end-user asks a voice-activated app to book an appointment with their therapist, for instance, they want to know that the appointment has been successfully booked and added to their calendar. Determine how you’re going to deliver the peace of mind your customers need. 
  • Create a strong strategy for errors: Designers and developers are still in the very early stages of experimentation with voice UI. This means that there’s a good chance that something could go wrong with your applications and tools from time to time. Having a strong error strategy in place is crucial. Always design a dialog flow scenario that allows the assistant to respond if they don’t understand a request, or don’t hear anything at all. You can also implement analytics into these situations to identify misinterpretations and improve usability in the future.  
  • Add extra layers of security: Various Voice UI solutions like Google Assistant and Alexa can now recognize individual voices. This is a kind of biometric security that’s similar to face or touch ID. As voice recognition continues to improve, it’s essential to ensure that you’re adhering to the latest guidelines in security. Additional authentication may be required for some companies. For instance, passwords, face recognition, or fingerprints might be needed for things that require payments and transactions. For instance, the Duer voice assistant uses face recognition to both approve payments, and make meal recommendations based on previous purchases. 

Are You Ready for the Voice UI Revolution?

Voice-based user interfaces are here to stay.

In the years to come, the chances are that developers and designers will need to learn how to use voice more consistently as part of their interface strategies. 

The good news is that although voice takes some getting used to as a design tool, it’s easy enough to make sure that your projects are moving in the right direction. Just like any other kind of design, implementing voice means thinking about whether the interactions and experiences that you’re delivering to end-users are seamless, effective, and valuable. 

Succeeding in voice UI isn’t just about adding the capacity for voice into your designs. It’s a matter of learning how to make user’s lives easier with the power of voice.

 

Featured image via Unsplash.

Source

The post Designing UI for the Voice Era first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

We are continuing with our interview series ( previously we had interviewed Diego Ojeda – Android Lead at Apiumhub and Serhii Zabolennyi – the QA Automation engineer at Apiumhub )  and today we have a Backend interview with Javier Gomez – backend developer at Apiumhub.

In this interview, Javier gives advice for junior developers who are hoping to grow professionally as backend developers and shares his programming style, his favorite books, and how he deals with the unexpected as a backend developer.

Source de l’article sur DZONE

One of the most challenging stages of a design project is laboriously producing all those assets that bring it to life.

Whether you’re a web designer in need of icons, or a brand designer looking for mockups, it’s a smart move to fall back on stock assets to speed up your turnaround, reduce costs, and enliven your designs.

With so many stock sites to choose from, which should you opt for? Today we’re going to take a look at DesignBundles.net and ask if it’s the right choice for your project.

What is Design Bundles?

Design Bundles is exactly what it sounds like: sets of design assets that you can download for free or at huge reductions on RRP.

Launched five years ago, Design Bundles is brought to you by the same team that delivers Font Bundles.

Over two million customers are already enjoying the benefits of Design Bundles’ weekly updates.

What Can You Download From Design Bundles?

There are currently over 800,000 products listed on Design Bundles, and the collection is growing all the time.

The files have been produced by 6,500 of the world’s leading independent designs. Because the products are top-quality, you can really make them work: scale them, flip them, distort them, recolor them; just about anything is possible when you’re using high-quality raw ingredients.

What’s really impressive is the range of products that are in the collection. You’ll find backgrounds, logos, icons, textures, patterns, and clip art. For product designers, there are mockups and web elements. Print designers will love the huge range of cards, invites, flyers, posters, and brochures. And if you’re looking for standard stock images, you’ll find a gargantuan range under popular themes such as technology, architecture, travel, and business.

Because Design Bundles is relatively new, you won’t find its collection padded out with out-of-date Gifs. In fact, Design Bundles is one of our favorite places for free SVGs, the best format for graphics on the web.

All the products are royalty-free and licensed for personal and commercial use, so you can relax knowing that you’re fully covered.

What Makes Design Bundles Different?

There are a lot of design bundles services online, so what makes Design Bundles different? Well, firstly, the quality; Design Bundles has a consistently high level of designs. We love the freebies. They make a huge difference and are great for trying out ideas you might not be ready to invest in.

Design Bundles differs from other stock sites because it offers curated bundles of complementary assets — you don’t just download a vector file; you download a set of vector files. This innovative approach means you don’t have to go hunting for matching images; once you’ve found the right download for your project, you have a whole range to enjoy.

The whole process of using Design Bundles is simple, from browsing through the available assets to choosing a design and through to the fast, simple checkout process. It’s all designed to make including design assets into your projects as simple as possible.

The website is user-friendly, and in the unlikely event that you’ll need them, the support team is friendly, helpful, and prompt to handle queries.

Is Design Bundles Good Value?

We’d be lying if we said that cost wasn’t a big bonus of using Design Bundles. Design Bundles offer up to 96% discounts on regular prices, meaning that you can get the same incredible assets that top design agencies use at a fraction of the price.

In terms of time-saved, inspiration-delivered, and graphics-acquired, your Design Bundles subscription will more than pay for itself.

Alongside the daily and weekly deals, you’ll find products you can try for free. For example, design Bundles provide a whole heap of free SVGs. And not just sample files. There are thousands of files to download and use in projects. You can’t get better value than free!

There are new freebies every week, so it’s worth subscribing just to ensure you don’t miss anything.

For freelancers, the licensing model is particularly attractive. Because there’s no limit on the places you can download design resources once you’ve bought them, you can download files at home, in the office, or at a client’s workspace — whatever is convenient. Meaning you carry a huge library of resources with you wherever you go.

Oh, and if you want to make the most of your new Design Bundles assets, don’t forget to check out its YouTube channel, where you can learn tons about how to create effects, edit images, and complete creative projects.

Should Designers Use Design Bundles?

When you’re designing a project, whether you’re a digital artist, a web developer, or a crafter, the result relies on the quality of its component parts.

Design Bundles offers you the chance to work with high-quality assets from some of the web’s top designers at a fraction of the price of creating them yourself.

We’re confident that if you give Design Bundles a go, you’ll quickly see the benefits for yourself. But if you’re still not sure, why not sign up for its newsletter and check out some of the daily and weekly deals and the freebies that are available to you.

Design Bundles is a recipe for success that you’ll be happy you discovered.

 

[— This is a sponsored post on behalf of Design Bundles —]

Source

The post Review: Should Designers Use Design Bundles? first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

The best free online coding websites for beginners are hubs of education and insight, designed to take your knowledge and career to the next level.

For years, technical careers have been gaining more attention among innovative individuals. In a digital world, people capable of speaking computer language often have the widest selection of job opportunities. However, before you can start leveraging the blossoming job market, you need to hone your skills. That’s where free coding websites come in.

A free online coding website is an environment where you can develop your understanding of various kinds of code, update your programming prowess, and even earn certifications. Today, we’re going to be looking at some of the most impressive coding websites on the market.

Coding Careers: Opportunities in 2021 and Beyond

Before we leap into our overview of the best free coding websites, let’s examine why it’s so important to invest in your coding role. Looking at the US Bureau of Labor Statistics, we see that coders earn an average of $89,190 per year.

Elsewhere, CompTIA notes that technology hiring has accelerated since the end of 2020, with up to 391,000 new positions opening in the US during December.

Though coding careers have been popular for some time now, they have particularly high value following the pandemic, as companies worldwide adapt to the changes associated with remote workforces, digital customer service, and ecommerce. The pandemic has made us more reliant on technology than ever before, as a result:

  • Coding skills are in high demand: Coding skills are essential for the newly digital world. Studies find that the pandemic has accelerated digital transformation by around 7 years. Companies need coding professionals to stay ahead of the curve.
  • Coding knowledge is becoming more versatile: Companies are looking for coding skills in more than just programmers. They want their data analysts, IT workers, artists, designers, and other professionals to have these talents too.
  • People with coding talent can earn more: Jobs requiring coding skills tend to pay more than those that don’t. This reveals the growing need for coding knowledge in the digital ecosystem.

Coding skills provide an avenue to tech professionals for higher-income jobs, and these careers are growing faster on average than other job opportunities.

The Best Websites for Learning to Code

Learning to code or developing your existing coding skills can help you to unlock a host of new opportunities. Today, you can learn coding online for free, just by visiting the right websites.

Even a basic knowledge of coding can drive a range of results, such as helping to support the better management of websites, reducing reliance on outside developers, and opening the door to app development. So whether you want to start a new career or upgrade your existing knowledge, these sites will help:

BitDegree

BitDegree is a wonderful website for anyone interested in web development, coding, data science, and programming. There are various courses to choose from, depending on the career path you want to take. For instance, you can learn about the AWS cloud or start your journey into gaming development. For coding, BitDegree covers languages like:

  • CSS
  • HTML
  • PHP
  • SQL
  • JavaScript
  • jQuery

The best thing about BitDegree is how it makes learning so fun. There are gamified courses and sections where you can really dive into the essentials of coding. In addition, the online coding course collection often features hundreds of discounted options for people on a budget.

CodeAcademy

One of the most popular sites for learning how to code for free, CodeAcademy is home to over 24 million students who have built their skills. The interactive learning approach lets you apply what you’ve learned immediately. Over 300 million hours of free coding content are available to check out at your leisure. Like most coding platforms, you can learn languages such as:

  • CSS
  • JavaScript
  • HTML
  • PHP
  • jQuery
  • Python
  • PHP
  • Ruby

CodeAcademy is particularly effective for beginners because you get instant feedback after submitting your coding efforts. When you make mistakes, you’ll find out exactly where you went wrong, allowing you to avoid similar mistakes in the future.

Codewars

Codewars by Qualified is definitely one of the most versatile free platforms for learning how to code. There are dozens of languages you can learn – too many to list right here. Options range from C++ and C# to Ruby, Python, Lean, Java, PHP, Scala, and countless others.

Codewars teaches you your programming language in-depth by selecting challenges designed to put your mind to the test. The goal for each challenge is to help you sharpen your knowledge over time, with tasks that get progressively more difficult over time.

The cool thing about Codewars is it allows you to see how you respond to challenges compared to how other coders have tackled the same issues.

Code.Org

Designed for a younger community of would-be coders, Code.org is an engaging and highly accessible introduction to coding. With around 60 million students worldwide, the Code.org platform gives you access to a wide range of different learning opportunities intended to suit different needs and learning levels.

The Code.org environment is built on a desire to bring coding into the standard curriculum. You can dive into full one-hour tutorials, or you can experiment with a more structured approach to learning, which is ideal for people with different learning styles. There’s also a huge catalog of courses extending from basic coding for younger kids all the way to University-level education.

Free Code Camp

A diverse option in our free coding website list, Free Code Camp is all about developing your coding knowledge while simultaneously networking with other like-minded people in the industry. The solution allows you to learn coding by participating in challenges – which is ideal if you want to put your skills to the test as soon as possible.

To help you jump in, you’ll have access to a range of courses and tutorials designed to help you understand and overcome each challenge. You can even code for non-profits on the platform and build tradeable projects in languages like:

  • HTML5
  • Javascript
  • Node.JS
  • CSS3
  • React.JS
  • Databases
  • Git

If you’re a little nervous about the concept of coding alone, you’ll have a full community to work within the Free Code Camp. You might even meet someone you can work with in the years ahead.

Code Conquest

Code Conquest is less of a course website and more of a comprehensive guide for beginners diving into the world of code. This amazing platform will help you understand all of the basics of coding in no time – even if you’re brand-new to the landscape. You can find out what coding is all about, learn which languages are best to learn for your needs, and more.

The website is full of resources for all kinds of coders, including comprehensive tutorials, reviews, a knowledge center, training packs, and more. You can even choose from a range of languages like:

  • CSS
  • HTML
  • PHP
  • jQuery
  • Ruby
  • JavaScript
  • Python
  • MySQL

To help you figure out where you should get started, the Code Conquest website also gives you recommendations on which tutorials to take next.

W3Schools

One of the better-known free websites for coding on the market today, W3Schools is an environment packed full of example codes, resources, tutorials, exercises, and libraries to help you learn how to code. The site is one of the largest in the world for developers.

To begin coding with W3 Schools, you’ll need to choose the programming language that’s right for you, then either jump into the program immediately or select from a range of learning options. The site comes with a handy quiz to help you define your knowledge level.

Languages range from CSS to SQL, JavaScript, HTML, Python, Java, C++, and many more.

Code Avengers

Code Avengers offers a fun and interactive approach to learning how to program and code. There are various course options to teach you how to create everything from games and apps to entire websites. The good thing about the Code Avengers website is you don’t need a lot of spare time to start learning. Each course takes around 12 hours to complete.

You can choose from languages like HTML, CSS, Python, jQuery, JavaScript, and more, and connect with a wide selection of similar coding enthusiasts, just like you. The biggest downside is that the free trial only lasts for seven days before you’ll need to pay to use the full program.

The Code Player

A simple and effective website for learning how to code and building your existing skills. There are tons of videos and demos to walk you through the process of learning how to code from scratch. All you need to do is click on one of the things you want to learn how to do, like creating a simple web page, and the site will give you a video walkthrough.

Though a little simple compared to other coding resources, the Code Player still has a lot of great video guidance to help beginners jump into various languages. For example, you can learn about CSS and HTML or check out various tools to help you make a more effective website.

CodeGym

If you’re particularly interested in learning about Java, the CodeGym is probably the website for you. This online Java programming course teaches you the basics of Java by allowing you to dive into various tasks. You can get involved with various exercises depending on your existing skill level and play around with games designed to teach you more about the coding landscape.

This website is fantastic for people in all stages of the coding journey. Whenever you suggest a solution to a challenge, the website will give you immediate feedback to learn from. There are more than 500 hours of Java coding exercises and educational resources to explore.

The Odin Project

One of the better-known free coding websites on the market, the Odin Project aims to take the headaches and frustration out of learning web development. If you’re a beginner looking to develop a career in coding, then the Odin Project will give you all the pieces of the puzzle required to decide exactly where you want to go and build the appropriate skills.

This site offers a full-stack curriculum of coding education options, with tons of challenges, tasks, and exercises to help you put your newly gained knowledge to the test. You’ll learn how to program in languages like CSS and HTML, explore the basics of JavaScript and Ruby, and even get tips on how to get hired when your skills are maxed out.

Plural Sight

Previously known as Code School, Plural Sight is a fantastic online learning platform that allows you to build your knowledge through a range of paid and free courses. The comprehensive platform is organized into a wide selection of different learning paths. You can choose how you want to develop your skills based on your chosen language and your existing skillset.

You choose an education path created by professional instructors to achieve specific outcomes, and Plural Sight gives you all the material you need. You can also practice what you’ve learned during the course in your browser and get immediate feedback on what you need to work on. There’s even a gamification aspect that allows you to earn points for every course level you complete.

MIT Open Courseware

Imagine how amazing it would be to get accepted to MIT to learn your new coding skills? What if you didn’t have to go through the headache of an official application. If you have a computer and internet access, you can explore MIT’s course material easily through the MIT Open Courseware website. This dedicated website gives you an insight into all of the courses and materials learned by students at MIT.

You can browse through all the courses available in the programming landscape and filter through results based on things like course features. For instance, you might specifically look for courses with their own online textbook, lecture notes, and videos. It’s a great way to get an insight into how one of the most reputable universities in the world offers coding education.

Web Fundamentals

We’ve already looked at a website offering coding resources specifically for Java, now let’s take a look at one designed for HTML5. Launched about 11 years ago as HTML5 Rocks, the Web Fundamentals website is packed full of tutorials, resources, and insights into the most recent updates to HTML5. This open-source environment allows developers and programmers to really get active with their skills.

You can play around with some of the code already available on the website, and explore tutorials authored by a range of amazing individuals. Although these courses are very comprehensive, it’s worth noting that they might not be the perfect choice for true beginners, as the tutorials can be more complex than most.

Dash General Assembly

If you’re keen to learn the essentials of coding in some of the most popular languages, like CSS, JavaScript, and HTML, then Dash General Assembly is the site for you. This website offers fun and free courses which will guide you through the basics of web development. You even get interactive tasks and challenges you can leverage within your browser, with no downloads required.

Users learn how to do a range of amazing things with this website, including how to code HTML5, build a beautiful website, and balance your layouts for aesthetic appeal and usability. You can even design dynamic interfaces where you can add aminations and effects. Dash General Assembly is a fantastic tool for anyone keen to get started in the world of coding.

Codeasy.net

Finally, Codeasy.net promises beginners a fast and simple way to start learning how to code, while having plenty of fun. This exciting website immerses you within a digital story which takes you on an adventure through the basics of coding. You’ll need to learn real-life coding skills to navigate your way through the rest of the story, which means you can develop your C# knowledge as you go.

This is one of the more unique tools for learning how to code that we’ve found so far. It’s a great way to discover the basics of C# without being bogged down in boring lectures. Remember, though, this website is intended for complete beginners, so you might find it a little basic if you already know some of the coding essentials.

Free Websites for Learning to Code

Free coding websites are an excellent way to develop your skills and unlock new opportunities in the world of coding. If you’re keen to jump into a new career as a programmer or coding developer, make sure you check out some of the options above. There’s no doubt you’ll find a site capable of giving you the boost you need.

 

Featured image via Unsplash.

Source

The post 16 Free Websites for Learning to Code in 2021 first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

If you’ve ever written code you’ve probably heard of Stack Overflow.

Most of us have learned from them or shared knowledge on their site. They’ve also got one of the most inclusive and positive engineering cultures out there.

On this week’s episode of Dev Interrupted I bring on Ben Matthews, Director of Engineering at Stack Overflow, to give us the inside scoop on Stack’s operations, teams and company culture. Ben also discusses their newest product launch – Collectives – and why he thinks they will be a game changer for dev teams.  

Source de l’article sur DZONE

What is it like to work at Netflix as a developer? How do they think about culture, customers and engineering productivity?

In this incredible episode of Dev Interrupted, I bring in Kathryn Koehler, the Director of Productivity Engineering at Netflix, to chat about what makes Netflix so unique and why they are standardizing data-driven engineering today.

Source de l’article sur DZONE

On June 29th, GitHub announced Copilot, an AI-powered auto-complete for programmers, prompting a debate about the ethics of borrowed code.

GitHub is one of the biggest code repositories on the Internet. It hosts billions of lines of code, creating an unparalleled dataset with which to train a coding AI. And that is exactly what OpenAI, via GitHub, thanks to its owners Microsoft has done — training Copilot using public repositories.

The chances are you haven’t tried Copilot yet, because it’s still invite-only via a VSCode plugin. People who have, are reporting that it’s a stunning tool, with a few limitations; it transforms coders from writers to editors because when code is inserted for you, you still have to read it to make sure it’s what you intended.

Some developers have cried “foul” at what they see as over-reach by a corporation unafraid of copyright infringement when long-term profits are on offer. There have also been reports of Copilot spilling private data, such as API keys. If, however, as GitHub states, the tool has been trained on publicly available code, the real question is: which genius saved an API key to a public repository.

GitHub’s defense has been that it has only trained Copilot on public code and that training AI on public datasets is considered “fair use” in the industry because any other approach is prohibitively expensive. However, as reported by The Verge, there is a growing question of what constitutes “fair use”; the TLDR being that if an application is commercial, then any work product is potentially derivative.

If a judge rules that Copilot’s code is derivative, then any code created with the tool is, by definition, derivative. Thus, we could conceivably reach the point at which a humans.txt file is required to credit everyone who deserves kudos for a site or app. It seems far-fetched, but we’re talking about a world in which restaurants serve tepid coffee for fear of litigation.

There are plenty of idealists (a group to which I could easily be accused of belonging) that nurture a soft-spot for the open-source, community-driven web. And of course, it’s true to say that many who walk the halls (or at least log into the Slack) of Microsoft, OpenAI, and GitHub are of the same inclination, contributing generously to open-source projects, mentoring, blogging, and offering a leg-up to other coders.

When I first learnt to code HTML, step one, before <p>hello World!</p> was view > developer > view source. Most human developers have been actively encouraged to look at other people’s code to understand the best way to achieve something — after all, that’s how web standards emerged.

Some individuals are perhaps owed credit for their work. One example is Robert Penner, whose work on easing functions inspired a generation of Actionscript/JavaScript coders. Penner published his functions online for free, under the MIT license; he also wrote a book which taught me, among other things, that a while loop beats a for loop, a lesson I use every day — I’d like to think the royalties bought him a small Caribbean island (or at least a vacation on one).

There is an important distinction between posting code online and publishing code examples in a book, namely that the latter is expected to be protected. Where Copilot is on questionable ground is that the AI is not a searchable database of functions, it’s code derived from specific problems. On the surface, it appears that anything Copilot produces must be derivative.

I don’t have a public GitHub repository, so OpenAI learned nothing from me. But let’s say I did. Let’s say I had posted a JavaScript-powered animation from which Copilot garnered some of its understanding. Does Microsoft owe me a fraction of its profits? Do I in turn owe Penner a fraction of mine? Does Penner owe Adobe (who bought Macromedia)? Does Adobe owe Brendan Eich (the creator of JavaScript)? Does Eich owe James Gosling (creator of Java), if not for the syntax, then for the name? And while we’re at it, which OS was Gosling using back in the mid-90s to compile his code — I doubt it was named after a fruit.

If this seems farcical, it’s because it is. But it’s a real problem created by the fact that technology is moving faster than the law. Intellectual property rights defined before the advent of the home computer cannot possibly define an AI-driven future.

 

Featured image uses images via Max Chen and Michael Dziedzic.

Source

The post Poll: The Ethical Dilemma at the Heart of GitHub’s Copilot first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot