fbpx
Home Blog Page 1337

Health Promotion Open course

0


VIEW THIS COURSE FOR FREE!
Subscribe to our newsletters and view this content
  We hate spam and never share your details.

Ask a Data Engineer: Warby Parker Edition 👓

0
Ask a Data Engineer: Warby Parker Edition 👓

wp-header

Codecademy’s very own Nick Duckwiler (left) and Ryan Tuck from Warby Parker (right) in our office. (📷: Mitch Boyer)

Last month, Codecademy and Warby Parker came together to work on a special Learn SQL from Scratch Capstone Project. It was during this time when I met Ryan Tuck, a Data Engineer at Warby, who played a major part in this partnership. So when he decided to drop by our office for the final QA round, I had to break out my notebook and ask some questions. Enjoy.


Hey Ryan, let’s start off with a question I’ve had for a while — what is a Data Engineer? (Is it similar to a Data Analyst or a Software Engineer?)

At Warby Parker, data engineers are responsible for creating and maintaining the plumbing required to support the data and reporting needs of the business. We use software engineering practices to automate the work of data cleaning, normalizing, and model building so that data is always ready to be consumed by data analysts in every department.

What languages/frameworks do you use at Warby?

On data engineering, we use Python as our general purpose programming language, as do most of the other teams in our Technology department. When it comes to databases, we use PostgreSQL for the majority of our SQL needs, and are beginning to use Amazon Athena and Google BigQuery for some of our larger datasets. We use Looker as our exclusive business intelligence entry point to all of this data.

What are some of the projects you worked on?

I’ve had the privilege of working with a lot of of smart people in every department at our company to help them solve their varied data needs, from reconciling financial data with the Accounting team to automating and modeling standardized performance metrics for our team of over 200 customer experience advisors.

As part of a team of five supporting the data needs of a rapidly growing company, I’ve tried where possible to focus on helping our analysts solve their own problems. This includes helping people learn Python and commit to our codebase, guiding the creation of data models in SQL, and encouraging people to submit pull requests to add features in Looker, our BI tool.

Seeing dozens of otherwise “non-technical” colleagues opening up PRs on a daily basis, and consequently being part of the democratization of tech that we value at Warby Parker, is probably the most rewarding “project” I’ve been a part of.

One project finished recently during our first annual “Hackweek” is called Pipes, which allows anyone at the company to easily move large amounts of data from wherever to wherever (Looker, Google Sheets, PostgreSQL, BigQuery, etc) on a regular cadence, or manually through a simple one-line chatbot interface. The adoption has been overwhelmingly positive and we’re looking to grow this sort of tooling out even more.

“We use software engineering practices to automate the work of data cleaning, normalizing, and model building so that data is always ready to be consumed by data analysts in every department.”

What got you into the data field?

I’ve always been drawn to analytical fields like math, and became pretty proficient in Excel during some internships in college. Once I had learned to program and learned more about data science and its applications in artificial intelligence, I knew that anything I could do to immerse myself in the world of data would be a step in the right direction.

Three and a half years ago, I landed a job as a junior software engineer at Warby Parker not fully knowing what I was in for, but am so glad I got the opportunity to help build tools to support an interesting and ever-changing data-driven culture here.

Where did you learn SQL and Python?

I had a background in C++, and was exposed to Python through an Intro to Data Science course. When Warby Parker hired me onto the Data team in 2015, I had never written a SQL query in my life, but picked it up quickly and within a few months started up internal SQL training classes, which I still teach on a monthly basis.

What does your tattoo say?


The ultimate cheatsheet.

This is Bayes’ Theorem, which is an equation that describes how to update probabilities given new evidence. Two summers ago I worked on building a tool to help predict weekly fantasy football performance. Some colleagues suggested a Bayesian approach would be appropriate, since there aren’t really enough data points in an NFL season to be able to use statistical approaches that require larger datasets, and I’d want to regularly update my predictions after each player’s latest performance.

I did a deep dive into understanding the (simple) math underlying Bayes’ Theorem and came out of that experience with a whole new worldview, understanding my entire knowledge of the world as a big and intricate probabilistic model that I was continuously updating with every experience I ever have. It was pretty transformative, and I figured that was worth a tattoo.

What is a concept in SQL/Python that’s essential to your work?

Donald Knuth said, “Premature optimization is the root of all evil.” I’ve generally found this to be true, and try to live by it in my work. For example, I’ll generally prefer to keep a data model simple by rebuilding it for all time on a daily basis using a single SQL query instead of making a more complicated model that requires iteratively adding to a table, keeping track of state, updated timestamps, when something last ran, etc.

A wise man once said, “Duplicating data makes things go fast,” but databases are already impressively fast to begin with, without implementing anything to improve performance. Ultimately, I almost always approach a problem thinking about optimizing for my time over machine time, for readability over performance, and for introducing as little cognitive overhead as is required by the problem at hand. Only once performance issues or readability issues present themselves will some code be worth a rewrite.

Last question! Since you wrote Warby Parker’s internal SQL training courses, I know there gotta be some inner Curriculum Developer in you. Can you teach a SQL concept in 2 minutes?

Sure! Have you ever written a query that yields some result set and you think, “I’d love to query the stuff I just produced like it was a table?” Enter the WITH clause.

Suppose I have a mega query that gives the transaction summaries:

select
    transactions.date as transaction_date,
    sum(items.price) as total_cost,
    count(*) as number_of_items
from
    transactions
inner join
    customers
    on
    customers.id = transactions.customer_id
inner join
    transaction_items
    on
    transactions.id = transaction_items.transaction_id
inner join
    items
    on
    items.id = transaction_items.item_id

Using WITH, I can create a temporary table within my query that I can SELECT from and treat it just like a regular old table.

I will put everything from the previous query in a parentheses and use WITH to give it the name transaction_summaries.

Then I’ll apply the date and customer filtering down below for a more readable query, to separate out all the JOIN logic from the actual WHERE filters that I want to apply on that data.

with transaction_summaries as (
  select
      transactions.date as transaction_date,
      sum(items.price) as total_cost,
      count(*) as number_of_items
  from
      transactions
  inner join
      customers
      on
      customers.id = transactions.customer_id
  inner join
      transaction_items
      on
      transactions.id = transaction_items.transaction_id
  inner join
      items
      on
      items.id = transaction_items.item_id
)

select 
        * 
from 
        transaction_summaries
where 
        first_name = 'beyonce'
        and 
        transaction_date > '2018–01–01'
order by 
        total_cost desc
limit 
        5

If you’re familiar with subqueries, this does a similar thing but makes the SQL far more readable, even if your query isn’t quite as performant as it would have been. This is essentially an implementation of the mantra “Don’t Repeat Yourself” that’s common in the world of programming.

Incredible. And love the SQL styling! 😍


Huge shout out to Ryan and the whole Warby Parker team for making this partnership happen. Special hat tips for behind-the-scenes support from:

  • Lon Binder, Chief Technology Officer, Warby Parker
  • Maddie Tierney, Executive Assistant, Warby Parker
  • Kayla Robbins, Executive Assistant, Warby Parker
  • Kaki Read, Senior Communications Manager, Warby Parker
  • Isabel Seely, Senior Brand Manager, Warby Parker

It’s been an absolute pleasure. And of course, the fam at Codecademy. You know who you are. Couldn’t do it without you.

Ask a Software Engineer: Airbnb Edition 🏡

0
Ask a Software Engineer: Airbnb Edition 🏡
A Day in the Life of a Software Engineer (via Life of Luba)

With Airbnb came a revolution of sorts in the world of vacation travel and culture. We sat down with Luba Yudasina, a YouTuber, an opera singer, and a Software Engineer on the Airbnb’s Homes Platform team, to discuss software engineering and her programming journey—from Codecademy to Airbnb!


Hey Luba, let’s start with the basics! What does a Software Engineer on the Platform team do at Airbnb?

Homes Platform’s mission is to create the building blocks to power all Homes categories. Any project undertaken by our team should be reusable and extensible in some way. This means that as a backend engineer, I have a lot of opportunities to work on impactful technical projects that create systems and services to support Homes, as well as collaborate across teams to come up with the best architectural decisions and designs.

Recently, our team wrote a blog post on classifying Room Types into categories using Machine Learning and computer vision. The room-type classification problem largely resembles the ImageNet classification problem, except our team’s model outcomes are customized room-types.

After a few experiments with various models, the team chose ResNet50 due to its good balance between model performance and computation time. To make it compatible with our use case, we added two extra fully connected layers and a Softmax activation in the end.

Categorizing listing photos into room types (via the Airbnb Engineering & Data Science blog)

What languages/frameworks do you use at Airbnb?

At Airbnb we use Ruby, Java, Kotlin, JavaScript, Swift, Ruby on Rails, React for frontend, iOS and Android for native development.

Let’s rewind a little bit. Coming from a chemical engineering background in college, how did you make the switch into programming?

I went to the University of Waterloo in Canada—a university with the biggest co-op program in the world. Co-op means that to obtain a bachelor’s degree you must complete a certain number of internships. If you are in Engineering at Waterloo, you must complete 5 internships to graduate.

In my first and second years, I interned at chemical engineering companies and afterwards I couldn’t see myself working in the field full-time. That’s why I’m particularly grateful that I studied at Waterloo: if not for co-op, I probably would not have realized I didn’t want to work in chemical engineering until getting a full-time job after graduation.

I happened to have a lot of friends in Computer Science and Software Engineering right when I realized Chem Eng wasn’t for me. They really encouraged me to try coding, and when I decided to follow their lead I never looked back! My first online programming course was Web Development on Codecademy 🙂

“It’s a really cool time to be a software engineer and even cooler to be a female software engineer, because this is the time when women start to embrace their own unique identities and be ok with not being ‘one of the dudes.'”
-Luba Yudasina

How did you land an internship at Yelp?

When I decided I wanted to learn computer science on my own, my goal was to get an internship in the field because working as a software engineer at a tech company would be the best test to really know if it was for me.

I happened to be in Munich, Germany on academic exchange for a whole year when I was learning how to code, so I hustled as much as I could while being there to get experience to learn quicker and have something to put down on my tech resume.

Almost immediately after arriving in Germany, I got a part time job as a developer at a game publishing company. I had a good friend in Computer Science at my German university: her and I ended up working on an Android app as a side project, etc. When I was ready, I started preparing for technical interviews. I then leveraged my network to refer me to companies and do mock technical interviews with me.

Yelp was really random though—a Yelp recruiter looked at my LinkedIn profile and didn’t even message me, but I messaged them anyway asking about internship opportunities, and that’s how I got my interview there!

1_EHELVEIPNp19gv_RsIU-Ng

Airbnb HQ in San Franciso

What is an essential app/item in your day-to-day?

Code searching! A lot of software engineering is problem solving and a lot of it is understanding other people’s code and the reasoning behind writing it a certain way. Searching through the codebases is almost essential to my day to day. Whenever I build something new or build on top of already existing tech, I need to understand how it works and is written, and code search is vital to this.

At Airbnb we use Google’s Codesearch for these purposes, but developers (myself included) also frequently use their IDEs to search for relevant code. I mostly use RubyMine or IntelliJ (depending on the codebase I’m working with).

In your videos, you’ve mentioned the intersection of gender and technology. Can you speak a bit more about that?

It’s a really cool time to be a software engineer and even cooler to be a female software engineer, because this is the time when women start to embrace their own unique identities and be ok with not being “one of the dudes.”

I think it’s particularly important to redefine the stereotypes, and I hope that with my own example I can show young girls and women interested in the field that you don’t have to give up your feminine side to be a software engineer and still be into fashion, or makeup, or art (I personally sing opera) and have other interests outside of coding and be successful in the field.

Before we wrap up, do you have anything else you would like to say to our learners?

Don’t be discouraged, learn and absorb as much as you can! If you don’t understand a concept or can’t build a project right away, know that with practice, perseverance and concentration you will get there!

Take advantage of such amazing tools as Codecademy that are there for you to take and learn. Learning anything new can be frustrating, but knowing that you can do it, staying curious, asking questions and not losing your motivation is the key to success.


Huge shoutout to Luba for this insightful interview. It’s always incredibly moving to see a Codecademy learner go on to do bigger things. Go subscribe to her YouTube channel, Life of Luba.

And thank you to the whole Homes Platform/Engineering team at Airbnb for the support. Check out their wonderful open source projects on airbnb.io.

Valentine’s Day Maze Free Printable

0
Valentine’s Day Maze Free Printable

This year’s class Valentine card idea is a-MAZE-ingly fun and candy free! The free printable includes four Valentines per sheet. We recommend printing them on colored 8.5×11 cardstock. You can attach mini pencils or crayons or send as is! We ordered the turquoise mini pencils with one-day shipping here.

For Personal Use Only.







Learning With: ‘Beyond College Campuses and Public Scandals, a Racist Tradition Lingers’

0
Learning With: ‘Beyond College Campuses and Public Scandals, a Racist Tradition Lingers’

5. What are some ways that African-American students have responded to incidents of blackface on college campuses? Which do you believe have been particularly effective?

6. According to the article, how have some white people defended their use of blackface? Do you believe that the use of blackface by white people can ever be “totally innocent” or be seen as “a tribute to the person being imitated?”

7. The article concludes:

Eric Lott, an expert on blackface minstrelsy and a cultural historian at the Graduate Center of the City University of New York, who is white, called the practice “indefensible,” given its roots in dehumanizing attitudes “rooted in the traffic in black bodies and slavery.”

And yet, despite the pain and the punishment, some white people seem inescapably drawn to it. “It’s just one of the ways, theatrically and in everyday life, that white Americans appear to handle their relationship to the color line,” Dr. Lott said. “And I’m not sure how you deal with that.”

What does Mr. Lott mean by his statement? Do you agree?

Finally, tell us more about what you think:

— What is your reaction to the article? What did you learn about the role of blackface in American life? Return to the surveys of American attitudes in the beginning of this piece; how do your experiences and attitudes compare to those of other Americans?

— How big a problem is blackface in America? What does the continued use of blackface tell us about the United States?

— Do you think Mr. Northam and the other Virginia politicians who have admitted to dressing in blackface in their pasts should resign from political office? Why or why not?

— What should be done to address the continuing use of blackface — particularly on campuses and universities? Should blackface be explicitly banned at all schools?

— In his Opinion piece, “Blackface Is the Tip of the Iceberg,” Jamelle Bouie writes:

… any collective reckoning with racism that comes out of this moment must go beyond the personal and offensive to the unequal depths. We should care about racist imagery, but we should care even more about our still-segregated society.

Do you agree? What might a “collective reckoning” that goes beyond caring about racist imagery look like in American society?

Related Resources

Why Won’t Blackface Go Away? It’s Part of America’s Troubled Cultural Legacy

Word + Quiz: copse

0
Word + Quiz: copse

Note: Our Sixth Annual 15-Second Vocabulary Video Challenge is underway. It will run until Feb. 18.

: a dense growth of trees, shrubs, or bushes

_________

The word copse has appeared in 13 articles on NYTimes.com in the past year, including on Feb. 2 in “Italian Alpine Spas, Where Sports Are an Afterthought” by Laura Rysman:

Merano, its illuminated tangle of city streets visible straight down the hotel’s front cliff, is just a 15-minute drive away, and guests often descend for dinner or a day trip. Yet the Miramonti, built on porphyry rock amid a thicket of trees, still has miles of woodland paths just out its back door, and the Merano 2000 ski slopes are a short shuttle ride away.

Set a few steps outside the hotel’s lodge, an elevated pinewood and glass cabin — Miramonti’s forest sauna — allows guests to enjoy Finnish heat while surveying the surrounding copse of firs and the mountain crests in the distance. A hot tub is tucked into nearby bushes. Smart, ash-gray linen recliners line the indoor and outdoor observation deck with a view over the valley…

_________

How Much Do You Know About Sri Lanka?

0
How Much Do You Know About Sri Lanka?

Can you find Sri Lanka on a map? What else do you know about this South Asian island nation with about 22.5 million people?

If You Get Married Someday, Do You Think You Will Change Your Last Name?

0
If You Get Married Someday, Do You Think You Will Change Your Last Name?

Do you think you’ll get married someday? And if so, do you anticipate you, your spouse or both of you taking a new last name?

What are your thoughts on the tradition of changing one’s name upon marriage — romantic, unnecessary or something else entirely?

In the Opinion essay “A Married Name That Looks Nothing Like Us,” Sally Ho writes about marrying a man whose last name came from his adoptive family:

Let me preface this by saying I had long anticipated the day I would marry the love of my life and willingly absorb myself into his identity. Some may see it as an old-fashioned or even oppressive belief, but feminist credibility was the least of my identity issues at this juncture of young adulthood.

Ever since I was a toddler playing wedding or mommy, I had looked forward to finding someone I loved so much that I wanted to be a part of him. The name change, to me, was not just tradition but also romantic, a beautiful symbol of the union we were committing to forever.

Yet, once I became engaged, I questioned that fantasy. While I adore Eddie’s big, rambunctious family and greatly respect my loving, hard-working in-laws, I initially struggled to feel attached to the Obermueller name because it didn’t feel properly attached to my fiancé.

As we talked through it, the official concern I relayed to Eddie was my established career as a journalist. We had been dating for five years at that point, but my career as a writer stretched twice as long. He accepted the explanation as logical and practical.

Students, read the entire essay, then tell us:

— What, if anything, resonates with you from Ms. Ho’s essay?

— Ms. Ho writes about not feeling that her husband, who was adopted at age 9, is “properly attached” to his last name. Do you feel attached to your own last name? Why or why not?

— Why do you think people choose to take — or not take — their spouse’s last name?

— What is your opinion of the practice of both spouses changing their last name upon marriage?

— What about last names for children? If two parents don’t share the same last name, what last name should any children have? Should they inherit one last name but not the other? Should the children have a hyphenated last name?

— Do you think that in the future, more people or fewer people will change their last names when they get married? Why?

Students 13 and older are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.

What’s Going On in This Picture? | Feb. 11, 2019

0
What’s Going On in This Picture? | Feb. 11, 2019

Students

1. After looking closely at the image above (or at the full-size image), think about these three questions:

• What is going on in this picture?

• What do you see that makes you say that?

• What more can you find?

2. Next, join the conversation by clicking on the comment button and posting in the box that opens on the right. (Students 13 and older are invited to comment, although teachers of younger students are welcome to post what their students have to say.)

3. After you have posted, try reading back to see what others have said, then respond to someone else by posting another comment. Use the “Reply” button or the @ symbol to address that student directly.

Each Monday, our collaborator, Visual Thinking Strategies, will facilitate a discussion from 9 a.m. to 2 p.m. Eastern time by paraphrasing comments and linking to responses to help students’ understanding go deeper. You might use their responses as models for your own.

Educator Spotlight: Preparing for Teaching with Manchester Metropolitan University  

0
Educator Spotlight: Preparing for Teaching with Manchester Metropolitan University  

Preparing for Teaching began its first run in mid-January. The course is aimed at people considering a career in teaching, and covers many aspects of what to expect before commencing teacher training by first encouraging learners to reflect on their own experiences of learning. Ellie Overland, Senior Lecturer in Education at Manchester Metropolitan University, explains “The course will help you to think about teaching in a different way to how you have done in the past. Allowing you to make the transition from being a learner, to being an educator yourself.”

The course helps learners prepare for classroom observations and introduces concepts such as behaviour management, teaching different subject areas and the process of applying for teacher training, and concludes by helping learners develop an action plan to start their teaching career. Preparing for Teaching examines teaching across a range of levels. Ellie points out that “we work with a huge number of education partners, including primary schools, secondary schools, colleges, and specialist settings. We know exactly the sort of things that you need to consider before applying to teacher training.”

At Manchester Metropolitan University, education students join us from all walks of life including straight from school, university courses, working in industry and even those already actually working or volunteering in schools. Ellie herself was once one of these students and, having worked in schools for over 15 years, is now assistant programme leader for the secondary PGCE course and is completing her doctorate researching how ICT and computing are developing in schools.

Category
Research insights