Show filters Hide filters

Refine your search

Publication Year
1-29 out of 29 results
Change view
  • Sort by:
35:59 DjangoCon US English 2017

The Power and Responsibility of Unicode Adoption

Communication is difficult. Whether between humans, machines, or a combination of the two, trying to translate meaningful information is a lossy process. Converting programming languages to use the new Unicode standard is hard, but once it’s in place, you get this marvelous feature-add: emoji compatibility. No longer do we have to make faces with symbols or use platform-specific emoticons. Rejoice in the extended character set. Emoji have a rich history as a way to allow the communication of ideas in a reduced amount of data. They date back to a time where this was important: SMS communications in Japan. However, as social networks feverishly try to clamber onto this bandwagon, their implementations of the standard create issues with miscommunication that aren’t possible with a 12×12 pictograph. We’ll discuss the history of emoji, cross-platform adoption, the Unicode standard, and emoji accessibility in web applications.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
42:40 DjangoCon US English 2017

The CoC committee is here for you

Since a community-wide Code of Conduct was adopted in 2013, the Django Software Foundation has had a Code of Conduct committee. The committee deals with CoC violations on e.g. mailing lists, aggregates reports from conferences, can check speaker lists against CoC reports and provide general advice and support. Django events tend to have their own CoC with their own CoC team. Not everyone in the wider tech community is fond of Codes of Conduct. However, a lot of this reluctance is rooted in misunderstanding about what this actually entails, and what the committee and teams actually do in both their active and reactive roles. That’s why this talk will give a peek behind the scenes of the work of the CoC committee and CoC teams, how incidents are actually handled with various real life examples, and how this leads to a better community for everyone. Including you.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
42:39 DjangoCon US English 2017

GraphQL in the wild

Since being released by Facebook in 2015, GraphQL has gained a lot of hype for being the best thing since sliced bread and REST APIs. But what is all the hype about and how does GraphQL fare in the real world? As a Django developer who has been using GraphQL in production since September 2017, I will discuss how we have addressed real-world concerns like performance and security. I will also highlight some of the joys of using GraphQL and why we have stopped writing REST APIs for new features. If you have never heard of GraphQL or have never used the Graphene library, have no fear. There will be an overview of what GraphQL is, as well as a demo on how to incorporate it into a Django project using Graphene.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
39:28 DjangoCon US English 2017

Python & Spreadsheets

Spreadsheets are OFTEN terrible. They’re also everywhere! As one of the default forms of data exchange, learning to work with spreadsheets directly via Python can save time and effort. We’ll look at Openpyxl, a library that lets you do just that. We’ll look at at least two different (beginner-friendly)example cases: transforming one spreadsheet into another spreadsheet and converting a spreadsheet into JSON. I’ll also use my experience as a former accountant to highlight some of the issues around reading from and writing to a spreadsheet file and how you might deal with them. You MAY even learn to make new friends and grow the Python community! True Story!
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
44:29 DjangoCon US English 2017

Don't Use My Grid System (or any others)

I built Susy, a Sass grid system that can generate any grid technique you like — but I haven’t used it in years. I’ll show you how various grid systems work, and how to avoid using them. For those few cases where a grid really is required, we’ll talk about the best ways to roll your own, so you’re not relying on a bloated library to make decisions for you. We’ll also look at the new layout toys, from flexbox to CSS Grid, and how to get started with only a few lines of code. When to use floats, CSS Grid, flexbox, custom properties, and other techniques. How to make grid-math simple, and lose the grid-system. How to make existing grid-systems work for you, when you’re stuck with them.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
41:19 DjangoCon US English 2017

Using Django, Docker, and Scikit-learn to Bootstrap Your Machine Learning Project

Reproducible results can be the bane of a data engineer or data scientist’s existence. Perhaps a data scientist prototyped a model some months ago, tabled the project, only to return to it today. It’s now when they notice the inaccurate or lack of documentation in the feature engineering process. No one wins in that scenario. In this talk we’ll walk through how you can use Django to spin up a Docker container to handle the feature engineering required for a machine learning project and spit out a pickled model. From the version controlled Docker container we can version our models, store them as needed and use scikit-learn to generate predictions moving forward. Django will allow us to easily bootstrap a machine learning project removing the downtown required to setup a project and permit us to move quickly to having a model ready for exploration and ultimately production. Machine learning done a bit easier? Yes please!
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
26:06 DjangoCon US English 2017

Type UWSGI; Press Enter; What Happens?

This talk is aiming right at professional or experienced amateur Django developers who want to learn about one of the core technologies used in modern web apps. We’ll do our best to make it accessible for all, but it’s going to be best to come in with working knowledge of web applications and a rough understanding of web servers. We’ll be covering how uWSGI serves Python web applications, how it manages workers and processes, and how it works with the operating system to handle networking. Our goal is to show how this works both in code and through abstractions, recognizing that different audience members are going to grasp things in different ways. The hope is that attendees will walk away with a working of knowledge of how their apps interact with the network and the operating system through uWSGI, and that a commonly-used but less-understood piece of software will become demystified.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
37:14 DjangoCon US English 2017

Accessibility Matters: Creating a Better Web

Overview This talk will go through accessibility concerns on the web through example sites and code with both good and bad accessibility to experience what some users have to struggle with daily. We will cover well-known concerns such as low vision/color blindness and deafness, as well as attention issues and autism, and discuss the limitations and abilities of various alternative input devices that people with motor control issues rely on. Short and long-term fixes will be demonstrated and taught, with the overall goal being that the participants leave knowing how to find and solve accessibility problems. Why Bother With Accessibility Not only should you want everyone to be able to easily use your site, but having an accessible website comes with a variety of benefits. According to the U.S. Census Bureau, around 19% of Americans have a disability, which is a large potential audience for any site. Many companies also fall under accessibility laws they might not even be aware cover their products, with lawsuits becoming more prevalent in recent years, and showing a good faith effort to improve your products’ accessibility can help keep your company out of hot water. Accessible web development also tends to lead to better UX and a happier user base. And, another plus: It will save devs time and frustration when they’re working with the code, since good HTML is enforced. Who This Talk Is For Anyone who wishes to learn more about accessibility. While we won’t be going over the absolute basics of accessibility in detail, the examples and resources will be easy to understand for people with very basic knowledge of web development.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
34:09 DjangoCon US English 2017

Why can't everyone just do what I want them to? Leadership, management, and working with people who don't think like you

Do you pride yourself on your post-it and Sharpie collection? Do you set appointments for yourself in your own calendar - that you actually show up for? Do you write to-do lists on your hand, since you’ll forget if the to-do isn’t right in front of your face? Do you own - and use - a label maker? Do you hate New Year’s resolutions because the whole idea of starting new habits on January 1 is an artificial construct? People are weird. We all have some pretty particular ways we think, work, and get motivated. It’s hard enough when we’re just trying to focus on ourselves, but it gets even more complicated when we add other people to the mix. What happens when a whiteboard person has to work with a spreadsheet person - or even harder, lead a whole team of spreadsheet people? This talk will focus on practical tips for working better with others - especially when you’re in a leadership or management position, although we all lead in different ways. We’ll start off with an overview of productivity and motivational styles, identifying how they influence the way we all think and work. Then, we’ll pinpoint how our own personal productivity and motivational styles impact us and those around us. After that, we’ll figure out how to look for clues about our colleagues’ working styles. Finally, we’ll talk about strategies for bridging our working styles with those of the people around us. You’ll leave with insights about what makes you tick, plus actionable tools to improve your leadership skills and enhance your working relationships.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
24:29 DjangoCon US English 2017

Write an API for Almost Anything (or The Amazing Power and Flexibility of Django Rest Framework)

This talk will feature a few off-the-beaten-path applications of APIs. Since the combination of Django and DRF makes it so easy to get a simple API running, it becomes a very powerful, flexible, and expandable tool for a variety of uses. The only thing these applications may have in common is their need to share data across the web. Whether you have not yet tested the waters of Django Rest Framework or you are a DRF veteran, this talk will inspire you to think both big and small when considering its potential uses.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
40:49 DjangoCon US English 2017

DjangoCon US 2017: Lightning Talks Day 2

  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
43:25 DjangoCon US English 2017

Functional Programming in an Imperative World. Maybe

The pillars of FP Let’s start by looking at the core concepts that differentiate FP from the OO / imperative style most programmers are familiar with. Along the way I’ll introduce you to: Immutable data structures. Having data structures that don’t change makes your code safer, especially when dealing with concurrency and parallelism, but they require you to approach solutions in a different way than you would with mutable data. “Pure” functions. Pure, or idempotent, functions do not mutate state or cause other kinds of side effects. As a result, you are guaranteed that every time you call a function with the same parameters, you will always get the same value. Recursion: While recursion is something most of us know about, it’s not something we tend to use often in imperative programming, and with good reason. Nonetheless, it’s a worth knowing about it’s various forms. Function composition. When you have pure functions that handle only one task, you can build larger, more complex and more beneficial programs by composing functions together to form new functions. First class functions: passing around functions as parameters and return values, just like any other object. The holy trinity: map, reduce, filter. These three functions are the work horses of FP, helping us manipulate and transform data quickly and elegantly. FP in python Now, let’s take a look at how we can or cannot apply these concepts in python. While most data structures in python are mutable, tuples are a built in immutable data structure that we have at our disposal. We’ll see that tuples have a solid place in python, but they’re not as easy to work with as we might like. Recursion isn’t really well developed in python (on purpose) so let’s take a look at it’s pitfalls and how to avoid them. Function composition is something you probably already do some in python and perhaps don’t even know it. The trinity: Filter is easy, we just call it “list comprehension” Reduce. Let’s try to get beyond flattening nested lists and doing tricks with math. Map. You probably don’t use this enough in python so let’s see if we can change that. FP is great! Maybe. Now that we’ve seen how FP can be used, we really need to decide if it should be used. Python is not a functional programming language, despite the tools it has. We’ve talked about some of the technical drawbacks to these tools, but we also need to decide if working in an FP paradigm is right for our work environment. We’ll look at some examples of where running into FP can be jarring and talk about the additional cognitive load on co-workers who aren’t used to seeing these tools in place.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
42:19 DjangoCon US English 2017

Alexa...

As the universe of IoT continues to grow at a rapid pace, our abilities to interact with these devices can be useful. As an added bonus, developing these skills can be fun too! I’ll take you through my journey of developing my first Alexa skill in Python for Amazon Echo devices aptly named Happy Days. It is a random quote generator that delivers positive quotes. I’ll go over the skills of how to get Python to talk to Alexa and how to dump that code into Lambda for a seamless delivery between Amazon Web Services and the Alexa Skills Kit in just a little over 200 lines! Never developed an Alexa skill before? Don’t worry, I hadn’t either. I’ll provide plenty of resources to help get you started on a path you’ll never want to leave as an Alexa developer. Building an Alexa skill helps: Further develop your own skills in Python. Gain familiarity with Amazon Web Services’ Lambda service which allows you to run code without provisioning or managing servers. BYOC - Bring your own code! (Python, Node.js, Java, and C#). Gain familiarity with Amazon Web Services CloudWatch service which helps monitor and log activities with your Amazon Web Services resources which is helpful for troubleshooting. Gain familiarity with the Alexa Skills Kit which is the platform behind Alexa development. Learn about tools and resources you can take advantage of to ensure you have a meaningful development experience. Learn how to “talk” to the Alexa Skills Kit through your Python code. Helpful reminder that user experience is key!
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
34:16 DjangoCon US English 2017

DjangoCon US 2017: Lightning Talks Day 1

  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
28:00 DjangoCon US English 2017

Preventing headaches with linters and automated checks

While it’s very common to enforce PEP8 code style with tools like flake8, it’s rare for Django projects to use any other types of tools for automated checks. However, linters and automated checks are a good way to enforce code quality beyond code style. Human-based code reviews are great, but if an experienced programmer leaves the organization, all quality-related knowledge they have will be gone. One way to prevent this is to make developers consolidate their knowledge as custom check tools. Instead of repeating to every junior programmer how they should code, experienced developers should write tools to do that for them. Having this kind of “executable knowledge” is great to ensure long-lasting good practices in organizations. Thankfully, Python already has a number of extensible linters and check tools that can be used to consolidate knowledge. Also, Django has the System check framework, which can be used to write custom static validations to Django projects. In this talk, we’ll discuss existing linters and tools, what benefit they bring to Django projects, how to extend them and how to build custom ones. Combined with IDEs, pre-commit hooks, and CI tools, linters can validate code at programming time, commit time, or CI time, thereby ensuring good practices in all development workflow.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
23:56 DjangoCon US English 2017

Practical Unit Testing in Django

This talk is an opportunity for you to explore practical ways of improving the test code you write. Unit testing can be challenging, but with the right toolbox of techniques, it is much easier to write unit tests that not only enable high degrees of code coverage, but assurance on each action of your code. Django provides an excellent test environment that facilitates testing across the whole of a project, however Django’s documentation and many online examples focus on integration tests. Any typical use of the Django test client is an integration test. Tools such as selenium also provide a frame work for usability tests, functional tests or integration tests. What is missing in this is a close look at unit tests. It is difficult to obtain high code coverage with integration tests alone. This talk will build on Daniel Davis’ DjangoCon2015 talk “Why Unit Testing Doesn’t Have To Be So Hard”. That talk introduced the concept of using mocking to deal with the complexity of unit testing and gave a number of simple examples. In this talk, we will apply mocking, dummy objects and harnesses to unit test in the Django environment. We will focus first on class based views. Django provides an extensive Generic Class Base View hierarchy of base classes and mixins. These define a series of methods that focus on various elements of the response process. For more complex applications, this system provides much of what is needed but often customizations are needed and these can take the form of subclasses overriding one or more methods, or perhaps mixins that are built to implement abstractions of these customizations. In order to unit test these customizations, we want to place each individual method under test. To obtain strong assurance of code performance, we want to place under test each action of the code, plus its coupling with its base class(es). A test harness, mocks and dummy objects all assist in this process and we will explore examples of such. Mocks particularly facilitate our tests by us being able assert on what is passed on other method calls and on the super() call. Mixins are used to implement customization abstractions. Their methods can be unit tested making use of dummy subclasses. Form classes also benefit from unit testing. Form classes may define clean methods for validation, and these clean methods can be called directly in unit tests for both valid and invalid data. Some modelform classes may implement business logic in their save() methods and these also highly benefit from unit testing. Both forms and views often make use of the ORM. When performing integration testing, this often means setting up test fixtures, but for unit testing it might be much more efficient to mock out ORM calls such as filter(), all(), count(), etc. Sometimes code under test will chain these ORM functions and this also can be mocked. We will then consider a more complex example of a view that makes use of an inlineformset. inlineformsets are more complex form objects, but various approaches can be used to unit test views that make use of formsets (along with unit tests of the formset itself). We will close with some template unit testing. The content of this talk is built on examples taken from real systems implementation. These should give many Django practitioners a boost in their day to day testing toolkit.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
42:54 DjangoCon US English 2017

The 10 Commandments of Community Organizing

Welcome to the advanced class on community organizing. You’ve got a decent amount of members in your Meetup.com group, you hold events fairly routinely, maybe you’ve pulled in some legit speakers at your last conference or event … and you want to do more. This talk will focus on community organizing for growth and longevity by building out teams, improving communications, implementing processes, and most importantly will discuss how to maintain sanity in your work-life-volunteer balance. If you’ve ever had to answer the question “Oh, this ISN’T your full time job???” - this talk is definitely for you. If you’re just starting out organizing and don’t want to fall flat on your face, this talk will be very pragmatic for you.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
37:36 DjangoCon US English 2017

End-to-End Django on Kubernetes

Not only is Kubernetes a great way to deploy Django and all of its dependencies, it’s actually the easiest way! Really! Deploying multi-layer applications with multiple dependencies is exactly what Kubernetes is designed to do. You can replace pages of Django and PostgreSQL configuration templates with a simple Kubernetes config, OpenShift template or Helm chart, and then stand up the entire stack for your application in a single command. In this presentation, we will walk you through the setup required to deploy and scale Django, including: Replicated PostgreSQL with persistent storage and automated failover Scalable Django application servers Front-ends and DNS routing The templates covered in this presentation should be applicable to developing your own Kubernetes deployments, and the concepts will apply to anyone looking at any container orchestration platform.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
24:15 DjangoCon US English 2017

Django vs Flask

When it comes to web development in Python, Django isn’t the only game in town. Flask is a scrappy young framework that takes a very different approach – whereas Django ships with tons of features ready and eager to be used, Flask provides a bare minimum feature-set with rock-solid extensibility and incredible flexibility. This talk, given by a web developer who has experience with both frameworks, takes a good look at the pros and cons for both Flask and Django. If you’ve ever felt that Django is too hard to learn, or too inflexible, this is the talk for you! Outline What is Flask? Historical background Django vs Flask Ideological differences Example “hello, world” websites Database support Django ORM vs SQLAlchemy, Peewee, etc… Non-relational databases User model django.contrib.auth vs Flask-Login, Flask-Principle Django Admin vs Flask-Admin Django apps vs Flask Blueprints Django REST Framework & comparisons to Flask Which is better? Depends on your use-case.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
29:32 DjangoCon US English 2017

Flourishing FLOSS: Making Your Project Successful

You maintain an Open Source project with great code? Yet your project isn’t succeeding in the ways you want? Maybe you’re struggling with funding or documentation? Or you just can’t find new contributors and you’re drowning in issues and pull requests? Open Source is made up of many components and we are often better-trained in methods for writing good code, than in methods for succeeding in the other dimensions we want our project to grow. In this talk we’ll explore the different components of an Open Source project and how they work together. After this talk you’ll be well-equipped with a ideas and strategies for growing, cultivating, and nourishing your Open Source project. For your project to succeed, all of its non-code components must be well-maintained. What are these different components and what methods can we learn to maintain them? Build real relationships with your sponsors and determine ways how both sides can benefit from this relationship, don’t just ask people for money. Establish a good communication system with your contributors: Keep them informed, listen to their feedback and input, make them feel heard. Thank the people who worked on ticket triage or marketing, not just those who wrote code, in your release notes. Make it easy for new contributors to get started: Write and maintain good documentation, answer questions in a friendly and timely manner. Market and evangelize in the right places and at the right time: Give conference talks, organize sprints, keep your project’s Twitter account active, always curate new and interesting content on your blog or website. Implement a Code of Conduct and enforce it if needed: Make your project a safe space to contribute for everyone. With these methods and a half-dozen others, you’ll handle beautifully all the components your project needs to succeed. Outline Introduction - Who am I? What is this talk about? What is Open Source? Overview of the different components that make up an Open Source project Growing, cultivating, and nourishing your Open Source project - Or how to make your project more successful Operations Funding Marketing Branding Evangelism Documentation Community Diversity Contributors Cultivating new contributors Keeping current contributors happy Communication Efficient and sustainable processes Ticket triage Managing the pull request queue Main takeaways Q&A.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
31:05 DjangoCon US English 2017

Hunter2: A Symphony of Password Horror

The year is 2017. We have hoverboards, jetpacks, solar-powered cars, and also so many awful passwords that it’s become trivial for pretty much anyone to have their accounts compromised. We’ve got passwords for our passwords. Eight-year-olds with a dictionary and a set of dice can generate mathematically stronger passwords than most corporations that have your credit card details. We spend our days wandering through endless forests of requirements to come up with something that contains no more than twelve letters, a special character, the eye of a newt, and at least one uppercase letter, only to be emailed it back in plaintext if you forget it. And then it goes on a Post-It note on a monitor. Do not despair - this talk is here to help! From beginners to experts, all technical folk have the power to build a post-password future. Lilly, an engineer and historian, will guide you through the history of how we got ourselves into this state, and explain why major companies still think that the best way to keep your stuff secure is to poke their heads out of the tree-house and ask you for the secret word. She will then hand you strong technical tools to help your clients and colleagues understand why there are better things out there than “Welcome1!”, and help you work together to bring a small ray of sunshine into our password-saturated world.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
24:51 DjangoCon US English 2017

DjangoCon Closing Remarks

  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
19:49 DjangoCon US English 2017

Going Rogue: How Code.org Created a Curriculum Development Platform Without their Engineers All

As a Middle School computer science teacher, I know enough to be dangerous, but not enough to consider myself a “real” developer. As a member of the curriculum team at Code.org (a nonprofit dedicated to providing all students with access to CS education), I knew that our combination of rendered markdown files and Google docs was far from the most effective way to write and deliver curriculum. If only we could schematize our curriculum writing, I thought, we’d be able to write more consistent lessons with better support for teachers to see which lessons are aligned to which standards, or where a given concept was first taught. When I brought this proposal to our engineering team everyone was excited about the idea, but there was no way we had the bandwidth to actually create it. Our small team of engineers are booked solid building tools for students to learn programming and for teachers to manage their classes. When it comes to the needs of our curriculum writers, we obviously need to come after the students and teachers. But wait, I know how to program. I did the “Two Scoops” tutorial. Why couldn’t I make the tool I had dreamed of? Using Django and Mezzanine as a base, I gradually built a system that allows Code.org curriculum writers to write faster, more consistent, and better supported lessons at a massive scale. Along the way, I also dealt with the very real concerns of my engineering team. How can we be sure this will scale to our 10’s of thousands of teachers? What about our millions of students? How can we be certain that this doesn’t introduce new security vulnerabilities to our site? Are you sure you know what you’re doing here? The answer to all of these problems was surprising simple, and has allowed me to address the needs of our curriculum team without taking the engineering team’s focus away from the customers that really matter - teachers and students. After many months of development, CurriculumBuilder has become an essential internal tool for curriculum writing at Code.org, and continues to find new ways to solve problems that would otherwise go unaddressed. Not bad for a Middle School CS teacher who had never before written software used by others.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
23:47 DjangoCon US English 2017

Get a Jumpstart on Collaboration and Code Review in GitHub

Even though open-source collaborators and code reviewers are needed more than ever, the few git learning resources that focus on these subjects are not beginner friendly. This is a missed opportunity! As the DjangoCon US Website Chair, I review pull requests submitted to the website repo. This has given me the opportunity to develop a beginner-friendly, best practice GitHub workflow. I can jumpstart your collaboration and code review skills by sharing what I’ve learned with you. This talk is for anyone, but one of my goals in giving it is to encourage other women to take leadership roles.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
21:25 DjangoCon US English 2017

Tasks: you gotta know how to run 'em, you gotta know how to safe' em

Web developers often find themselves in situations where server processing takes longer than a user would accept. One very common situation is when sending emails. Although simple and relatively quick task, it requires the communication with an external service. In this situation, it’s not possible to foresee how long that service will take to answer. Not to mention the many unexpected situations that can arise, such as errors and bugs. The solution to this problem is to delegate long lasting tasks while responding quickly to the user. This is the point where we need async tasks. There are some tools available that can assist in this job. In this talk, you will learn about the concepts, caveats and best practices for when developing async tasks. For this, I will use Python’s most popular tool for the task: Celery. Rundown: Setting the context (~3 min) The architecture (~3 min) Brokers Workers Use cases (~2 min) External calls Long computations Data caching Tools available (~1 min) Celery (~16 min) Callbacks Canvas Logging Retrying Monitoring Tests and debugging.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
24:19 DjangoCon US English 2017

Maybe Not the Programmers They Deserved, but the Programmers They Needed

We read to know we are not alone Is there something you would change in the world if you were a wizard? Make vulnerability your cloak Make determination your hat Make code your wand What do you care about? We care about girls and women being enabled to choose their future We care about increasing diversity in the trade we love We care about arming children with the confidence that they can do anything Why are we here? We’re trying to use our programming skills to make that a reality. It’s a journey, one we invite you to join for whatever you feel strongly about. We were not the first, we were definitely not the best, and we won’t be the last. But sometimes, inspiring people to help is just as hard (or harder) than helping. We wanted to give this talk to show others that it CAN be done and YOU can make a difference - regardless of your skill level or experience. Our Story 1. The Use Case Listening: “I’ve been wanting to teach Python for a while but we don’t have anyone.” - Girl Scout Leader Acting: “I can do that!” - [Presenter 1] (even though she was pretty sure the ideal person was way more experienced than her) Deliverable: The Hackathon - A Python challenge for both beginner and advanced coders. Two classes, 25 girls each, ages 10-18 years old. 2. A Master Plan Check out our options: We reviewed existing resources, but didn’t find anything to meet our needs (list some of the good resources we found and were inspired by) Make a decision: “Let’s write our own!” - [Presenters] (because nothing that’s out there fits in two hours…) Have a Cool Learning Experience: Coding the game and taking our first stabs at writing the tutorial were great learning opportunities for us! 3. The Dream Team (AKA: Help!) The Pair Programmers: Gaining perspective and tripling productivity, Megan and Jessica start figuring out what to teach and begin making the tutorial come to life The Project Manager: Added for some very necessary skills - making things looking professional, doing a code freeze, checking our spelling, and making sure the presentation is consistent The Coaching Team: With a common goal and united front, an all female team of software developers, engineers and IT managers unite to form a coaching group! 4. Go Live Hot Fixes: The girls begin the tutorial and questions come rolling in. Confusion abounds. They don’t know what a Start button is! Nothing shows them their opinion matters like change, so we began live editing the tutorial! Being vulnerable, admitting imperfection, and not taking it personally evolved the tutorial in real time to fit our audience. It also gave the girls a sense of inclusion that was priceless; even though they weren’t writing the code to make the edits, their voice was heard and their suggestions were implemented in real time - a powerful way to build confidence! Unexpected Popularity: The girls were engaged! Among raised and waving hands and the din of voices, we kept our cool and took each issue one step at a time. Frankly, we were all a little in shock. Better than we imagined: We might have expected too little of ourselves, but when all was said and done - the girls felt successful, they were all engaged, and their parents were inspired to learn for themselves or keep their girls involved with code going forward! 5. Refactoring Simplification: It was late and everyone was tired - make things simpler, have more milestones, include more affirmations Organization: Planning pre- and post- tutorial huddles to get to know each other and set expectations, figuring out how to guide/redirect parents who were doing the tutorial for their child, investigate letting the girls try pair programming Keep Building: We are still working to evolve our tutorial, make it more accessible, make it friendlier for our target age group, make it packaged to shared, and shopping it around to other tutorials as an expansion (we’re looking at you DjangoGirls ;) ) 6. An Ever Expanding Universe Sharing is caring: We did it and so can you! Expanding the number of contributors as well as the project scope will only make things better! So, we will share our code, share out tutorial, share our experiences, and share our enthusiasm with anyone who wants to make a change! The Takeaways You have a lot of power, in the you code help create, in the people you mentor Don’t wait for someone else, endowed with imaginary super coding/people skills, to help create the change you want -do what needs to be done Don’t try to be a panacea, focus on a single thing and do it well Contact us! Let us know if you’re interested in building something or want to do something similar to what we did Act.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
27:14 DjangoCon US English 2017

Overcoming the Challenges of Mentoring

​There is an ongoing mantra within the developer community: that there are far more jobs available then programmers to fill them. Which should be an indication as to the wonderful potential for both business and those learning to code. Yet what often follows such statements are not words of joy but rather a list of frustrations related to the difficulty in finding and retaining enough skilled developers to fill these positions. The challenge is not in the number of newbies entering the field but the number who leave because they are not able to bridge the divide between bootcamps, online tutorials, books, videos, etc. to an employable developer who is able to contribute to the team. Kim has years of experience working with learners of various ages in helping them develop the skills they needed to be successful at whatever their chosen goal. She understands that for businesses to be successful, they must develop more effective and efficient ways of recruiting and retaining developers in order to meet organizational benchmarks. The developer community is a overwhelmingly generous one and a well designed mentoring or apprenticeship program could be one answer that business leaders and newbies are looking for. The business costs associated with corporate hiring managers inability to recruit and retain skilled workers to fill current and future entry-level positions are increasing (Queen, 2014). 89 percent of organizational leaders stated that they are having difficulties filling open positions, which is causing them to either turn down orders, miss key deliverable deadlines or hire individuals from outside of the United States (Aho, 2015). Aho, K. (2015). The robotics industry: creating jobs, closing the skills gap. Techniques, (7), 22.
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
28:36 DjangoCon US English 2017

Programming Post-Progeny: A New Parent's Perspective

When my daughter appeared on the scene in October 2017, my life was turned upside down. As I was returning to work, I found that previous strategies for managing my time weren’t up to snuff and I needed to create new ones if I was to be effective at my craft. No longer did I have 15 minutes to “get in the zone” - I needed to get things done in any time available. I learned to carve milestones out of minutes (sometimes) and will share what did (and didn’t) work for me. I also share stories about my general journey of becoming a parent that may be helpful to anyone thinking about becoming a parent (or just wondering what it might be like!). Or you could just come to the talk for the cute baby pictures - they make everyone smile!
  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
14:42 DjangoCon US English 2017

Orientation Event

  • Published: 2017
  • Publisher: DjangoCon US
  • Language: English
out of 1 pages
Loading...
Feedback

Timings

  155 ms - page object
  124 ms - search
    5 ms - highlighting
    0 ms - highlighting/33182
    2 ms - highlighting/33176
    1 ms - highlighting/33203
    3 ms - highlighting/33175
    0 ms - highlighting/33212
    1 ms - highlighting/33190
    1 ms - highlighting/33202
    3 ms - highlighting/33184
    2 ms - highlighting/33178
    0 ms - highlighting/33183
    1 ms - highlighting/33206
    1 ms - highlighting/33200
    1 ms - highlighting/33177
    1 ms - highlighting/33193
    2 ms - highlighting/33185
    3 ms - highlighting/33189
    2 ms - highlighting/33196
    2 ms - highlighting/33187
    2 ms - highlighting/33197
    2 ms - highlighting/33215
    1 ms - highlighting/33218
    0 ms - highlighting/33173
    3 ms - highlighting/33207
    2 ms - highlighting/33171
    1 ms - highlighting/33192
    1 ms - highlighting/33191
    2 ms - highlighting/33204
    2 ms - highlighting/33205
    2 ms - highlighting/33213

Version

AV-Portal 3.8.0 (dec2fe8b0ce2e718d55d6f23ab68f0b2424a1f3f)