fbpx
Home Blog Page 1431

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.

Learning With: ‘“Breaches Everywhere”: Flooding Bursts Midwest Levees, and Tough Questions Follow’

0
Learning With: ‘“Breaches Everywhere”: Flooding Bursts Midwest Levees, and Tough Questions Follow’

Before reading the article:

Look at the photos that accompany today’s article. What do they tell you about how levee systems are supposed to work — and what happens when they fail?

Do you have any personal experience with a body of water flooding the nearby land? If so, what happened? Do you know if there was a levee that was breached?

Now, read the article, “‘Breaches Everywhere’: Flooding Bursts Midwest Levees, and Tough Questions Follow,” and answer the following questions:

1. The article describes levees as “an insurance policy against nature’s whims.” What does that mean?

2. How were most levees built and by whom? What entities now manage them? What challenges have levees and the people who control them faced in recent years?

3. How many levees were breached or overtopped in the Midwest this March?

4. What role does the United States Army Corps of Engineers play? How is this group limited in what it can do in regard to regulating water levels? What legal issues have resulted?

5. Who is Tom Waters? What does he believe needs to happen in regard to infrastructure? What analogy does he use to bolster his argument?

Finally, tell us more about what you think:

1. When did the Corps establish a “levees only” system? What did that entail? When was this system said to have “failed spectacularly”?

2. How does the article explain why many people blame the Corps for the recent damaged and breached levees in the Midwest? Do you agree or disagree with this stance? Why?

3. What do you think it’s like to live in places near the levees that have flooded recently? How reasonable do you think it is to hope that policies will change or that flooding won’t happen again? Why do you say that?

Word + Quiz: plangent

0
Word + Quiz: plangent

: loud and resounding

_________

The word plangent has appeared in 20 articles on NYTimes.com in the past year, including on Nov. 25 in the theater review “In ‘All Is Calm,’ Thrilling Song in the Trenches” by Alexis Soloski:

A caroling session in a melancholy key, Theater Latté Da’s “All is Calm: The Christmas Truce of 1914” is a World War I documentary musical describing a brief ceasefire.

In 1914, with the war just five months old, enlisted men on both sides emerged from their no-man’s-land trenches on Christmas Day to bury their dead and exchange small gifts. Also, they sang, and if you had been standing in the mud and the cold near Ypres, Belgium, you could have heard those voices joined in “Auld Lang Syne” before the shells began to wail again.

… The plangent tenors, lush baritones and rumbling basses are in excellent voice, and when they come together, the sensation is tremendous and the musical chill effect engulfing. I can’t have been the only person who spent the evening in a pretty much constant state of horripilation. The show is a lesson, if any were needed, in music as a vehicle for emotion. More than the story, it is the music that moves.

_________

How Important Is Knowing a Foreign Language?

0
How Important Is Knowing a Foreign Language?

Have you ever studied a foreign language? Do you think it’s still necessary to do so?

Isn’t it easy to find people who speak English in other countries if you really need to communicate with someone? And aren’t there translation apps for your phone you can download anyway?

What is the value of knowing more than one language in the 21st century? Is it really worth the time, effort and investment?

In “Do You Speak My Language? You Should,” Bénédicte de Montlaur writes:

In January, the Modern Language Association made an astonishing announcement in The Chronicle of Higher Education: From 2013 to 2016, colleges across the United States cut 651 foreign language programs. French was the hardest hit, losing 129 programs, followed by Spanish with 118, German with 86 and Italian with 56. Once these programs close, they are very hard to reopen.

According to a Pew study from last year, only 20 percent of K-12 students in America study a foreign language (compared with an average of 92 percent in Europe), and only 10 states and the District of Columbia make foreign-language learning a high school graduation requirement.

The decline in language education could have devastating effects for generations to come. With fewer options for learning a foreign language in school, a sharp decrease in interest is likely to follow. According to the Modern Language Association, enrollment in college-level foreign-language courses dropped 9.2 percent from 2013 to 2016.

The association says these changes are most likely a direct result of the 2008 recession, which hit foreign-language degree programs harder than many other humanities programs. As programs shrink so does the supply of qualified teachers. It’s a vicious cycle.

And yet, knowing a foreign language is becoming ever more essential. The freshman congresswoman Alexandria Ocasio-Cortez, who is Spanish-English bilingual, recently tweeted, “Bilingualism is a huge advantage in the economy and the world.” Ms. Ocasio-Cortez, who at age 29 is already one of the best-known members of the Democratic Party, is a case in point.

Her sentiment is shared by many. In response, some educators and parents are rethinking the way language is taught and calling for expanded access to language education.

Nationwide, parents and teachers have been leading grass-roots initiatives to provide foreign-language learning in public schools, and some universities have instituted innovative language programs. From pre-K to graduate studies, there is a move toward holistic language education, based on the notion that learning a language should be grounded in the real, everyday use of that language.

The article concludes:

If Americans want the next generation to be active participants in a multilingual world, dual-language and multicultural education is crucial. Government spending on foreign-language education and the education of qualified foreign-language teachers needs to increase. More states need to enforce language-education requirements. Colleges need to recognize the importance of their foreign-language education programs. In turn, more parents, students and teachers need to lobby for language programs.

The necessity of foreign-language education could not be clearer right now. The future in America, and everywhere, is multilingual. And so is the present.

Students, read the entire article, then tell us:

— How important is knowing a foreign language?

— What languages can you speak, read or understand? If you know more than one language, how did you learn these additional languages? Was it hard? Fun? How has knowing another language affected and benefited your life?

— If you speak only one language, have you ever wanted or tried to learn a new one? What challenges did you face in acquiring a new language?

— How persuasive is Ms. de Montlaur’s argument that Americans need to study a foreign language? Do you agree with her that the future is multilingual? Should schools require that students learn a second language?

— If you were to study a new language, what would it be and why?

— How much is foreign-language education emphasized at your school? What would you recommend to improve the foreign-language program at your school?

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.

Learning With: ‘“Dog Suicide Bridge”: Why Do So Many Pets Keep Leaping Into a Scottish Gorge?’

0
Learning With: ‘“Dog Suicide Bridge”: Why Do So Many Pets Keep Leaping Into a Scottish Gorge?’

Before reading the article:

Are there any stories of weird, strange or curious occurrences where you live? Are there any odd, mysterious or even cursed places — houses, parks, abandoned lots, bodies of water — near your home?

How would you explain these strange things? Do you think that everything can be explained in a natural way, or that some events are beyond the natural order?

Now, read the article “‘Dog Suicide Bridge’: Why Do So Many Pets Keep Leaping Into a Scottish Gorge?” Then answer the following questions:

1. What happened to Lottie Mackinnon’s dog, Bonnie, that was like an episode of the sci-fi television show “The Twilight Zone,” according to Ceylan Yeginsu, the author of the article? What details support her comparison?

2. How many dogs have jumped off the Overtoun Bridge in Dumbarton, Scotland, according to local legend?

3. What are some rational explanations for the dogs’ behavior?

4. What is a “thin place”? Why are the residents of Dumbarton, in particular, and Scotland in general drawn to the supernatural?

5. Describe the Overtoun Bridge. What details from the article stand out to you?

6. The townspeople have many supernatural explanations for the dogs’ unexplained behavior. Give three examples. Which, if any, do you think is most plausible?

Finally, tell us more about what you think:

— What’s your reaction to the article? What do you think best explains the strange behavior of dogs at the Overtoun Bridge?

— Tell us about your experiences with dogs or animals in general. Have you ever observed strange or mysterious behavior? What do you think might explain their curious actions?

— Do you believe in the supernatural? If so, why? If not, how do you explain events that seem to be outside the natural order of things?

— Write about an event that occurred in your life or the life of someone you know that could be explained as “supernatural” (even if you yourself think it was simply coincidence or a random occurrence). How would you explain what happened? What (or who) do you think might be responsible for these “supernatural” occurrences?

— Why do you think people are interested in the supernatural? Why do you think movies, television shows and books dealing with the supernatural — spirits, ghosts, dark forces — are so popular? Do you think the people in your hometown are particularly superstitious?

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.

Free April Wallpaper

0
Free April Wallpaper

Our April wallpaper features the Seasonarium Abstract Botanical Set & the La Fontaine Brush Font.

Included in the free download are two options for each device – one with the calendar and one without the calendar.

Enjoy!

FOR PERSONAL USE ONLY.







 

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.

Ways With Words: The Winners of the 2019 Vocabulary Video Contest

0
Ways With Words: The Winners of the 2019 Vocabulary Video Contest

One of the top 15 winners of our video contest: censor, by Alex Zhong and Azan Choudry

_________

Do you have 750 seconds to learn 47 new words?

If so, we’re offering an especially entertaining way to do it. Take a look below at the work of the 15 winners, 14 runners-up and 21 honorable mentions from our Sixth Annual Vocabulary Video Contest, in which students were challenged to define one of our Words of the Day within 15 seconds.

Of all the contests we run on this site, this is our favorite to judge, and if you watch even a few we think you’ll see why.

Thank you to the nearly 1,500 students who participated, as well as to the teachers who devoted class time to the project. And thank you, too, for your patience as we took weeks to judge; we know you wouldn’t have wanted our deliberations to be frenetic.

As always, we chose finalists based on their originality, how well each showed an understanding of the word and its use in a specific context, and how clearly that was communicated. And, as always, we had to eliminate some great entries for failure to follow the directions. (We’re looking at you, acoustic, when we remind participants that you have to pronounce the word; at you, anticlimax, jounce and obliterate, when we reiterate that the part of speech must always be given; and at you, eviscerate, to point out that no matter how excellent the video, the word must still be spelled correctly.)

Enjoy, and don’t forget our upcoming poetry, podcast and summer reading contests!

_________

aquiline by Safiya Bhanpuri:

arrogance by Shawn Coulter:

autopsy by Sophia Pirani:

cacophonous by Ethan Che:

censor by Alex Zhong and Azan Choudry: See top of this post.

gargantuan by Raleigh Purvis and Kaleb Nichols:

ghastly by Daniel Langer:

illusion by Wyatt Cunningham:

nonchalant by Harrison Yardley:

pugnacious by Ana Wotjisiak and Ashley McFadden:

scotch by Jacob Rodriguez:

superfluous by Edward Wei:

upstage by Isabella Roccanova, Angelina Jannace and Fiona R.:

catalyst by Connor Henwood

compilation by Thomas Turner

deluge by Victoria Lyudovyk

dulcet by Laura Barrow, Maggie Dinkins, Landon Lucas, William Siron and William Trapp

gastronomy by Willa Liu

insubordination by Will Reusch

legerdemain by Sam O.

loquacious by Defne Zeybek, Caroline Weinstein, Cooper Sharp and Ryan O’Neil

nebulous by Grace Sheridan

nonchalant by Makaylah Sheard

obliterate by Beckett

panache by Mai See Xiong

quip by Adriel Pupo

rile by Gabi Camilo and DaShuan Kincaid

sidle by Stella Urbano, Shamya Smith, and Dayana Arriaga

smithereens by Madison Lyon

tryst by Juliann Zhou

upstage by Ethan Vertal

usurp by Ella, Zoe, Piper, Mina, Ava and Isaiah

witless by Sean McCormick and Ted Sheahan

wizardry by Skyler Herrera, Gabriel Phelps, Evann Rodriguez

_________

The Learning Network runs contests for teenagers all year long. Check out our 2018-19 Contest Calendar to see what’s coming up this spring and summer.

It’s Not Just Ledgers and Balance Sheets Anymore: How the Illinois iMSA Program Prepares Students for Modern Accounting

0
It’s Not Just Ledgers and Balance Sheets Anymore: How the Illinois iMSA Program Prepares Students for Modern Accounting

The evolving field of accounting presents new opportunities for data-savvy students

Data science is changing the skills required to be a successful modern-day accountant. The University of Illinois’ online MSA program (iMSA) helps those interested in an accounting or finance career master new tools and capitalize on the exciting opportunities created by this evolution.

Accounting is rapidly changing as it transitions from measurement and process to playing an exciting and integral role in the world’s top organizations. Accountants are now expected to function as critical decision-makers, leveraging data science tools to inform company direction and overall strategy.

As new technologies enable accountants to expand their impact across organizations, these jobs are expected to grow 10 percent by 2026 — faster than the average for all occupations. The focus is not necessarily to turn accountants into data scientists, but to instead provide them with the ability to work more effectively with highly technical colleagues.

“The analogy is language,” says Robert Brunner, Associate Dean for Innovation and Chief Disruption Officer at Gies College of Business at the University of Illinois at Urbana-Champaign, who is leading a campus-wide effort to integrate data science across curricula. “You could get by speaking English working in a foreign country, but you’d be more productive if you spoke the language.”

By 2020, nearly 60 percent of employers believe data science and analytics skills will be necessary for finance and accounting managers, according to a 2016 survey. Aspiring and current accountants must learn these new tools in order to future-proof themselves and adapt to a changing field. “It’s critically important to realize artificial intelligence and automation are coming,” says Brunner. “You really run the risk of being replaced, or at a minimum having some of your job automated, if you don’t adapt.”

The University of Illinois Master of Science in Accountancy (MSA) program is ranked among the top three accounting programs in the U.S., and it is an affordable way to prepare for the ongoing evolution in accounting and finance. Better yet, the online program — the iMSA — provides students the flexibility to prepare for the future while maintaining their current employment and apply their recent learnings to their job.

The iMSA specifically emphasizes the application of data science to help businesses uncover valuable insights, identify process improvements to increase efficiency, and better manage organizational risk. “Data is disrupting entire industries,” says Brunner. “You can see that we are just at the beginning of this new path, [and data science] is going to be critical going forward.”

Already, the university is hearing from employers about the value the MSA and iMSA programs provide. “Companies are now telling people to do the master’s program and the data science track within it when, before, they were unsure whether it was worth it at all,” Brunner says.

MSA students can anticipate incredible career opportunities upon graduation, as companies are struggling to find talent with the right blend of accounting and technical skills. In fact, CFOs cited hiring among their top three concerns in a recent Deloitte study. “Data science empowers professionals to have a lot more input in the decision-making processes,” says Vinod Bakthavachalam, a senior data scientist at Coursera. “By using data, you can justify and drive better decisions.”

Auditors, for example, can shift from a sample-based model to continuous monitoring of large datasets, thereby decreasing the margin of error and allowing them to make more precise recommendations. Accountants who work as investment advisers can use big data to find behavioral patterns that inform investment decisions, while automation through machine learning can be applied to a wide array of repetitive daily tasks.

A former Illinois student, for example, reported back to Professor Brunner that he was able to automate a large-scale text analysis process that formerly took weeks of human labor using the skills he gained in the iMSA program. In the future, similar projects will take mere days or even hours.

To those familiar with the accounting world, it is no surprise that Illinois is leading the charge to innovate within accounting. The Gies Business Department of Accountancy is one of the largest suppliers of leaders in the accounting profession, and it has consistently been at the forefront of curriculum innovation, design, and advancement. Its focus on data science within accounting is a continuation of this legacy.

iMSA students build expertise in the fundamentals of accounting, such as financial reporting, audit and control, and US federal taxation. They supplement these core studies with classes like data analytics in accountancy and statistical analyses in accountancy. These courses provide the ability to apply domain knowledge and data science tools to practical business applications.

The focus isn’t on producing fully-trained computer scientists, but on giving students exposure to the most important areas. One accounting student took two data science courses as part of her elective choices and then successfully participated in a hackathon with computer science majors, according to Brunner. “She was quite amazed she was able to hold her own with people for whom this is their chosen career,” he says.  

The academic rigor and faculty interactions of the iMSA are the same as what students expect from on-campus programs, but the iMSA caters to learners who need flexibility and convenience in order to balance work and other obligations with academic life.

Starting at $22,000, the cost of the degree is extremely low when you consider the growing importance of the skills developed through the program. “We are trying to future-proof the students we train so they can work in the way the world is now, but also in the way the world will be in the next five to ten years,” says Brunner.