fbpx
Home Blog Page 1332

Learning With: ‘Trump Declares a National Emergency, and Provokes a Constitutional Clash’

0
Learning With: ‘Trump Declares a National Emergency, and Provokes a Constitutional Clash’

2. How did the House Judiciary Committee respond? What about House Democrats? If both houses of Congress vote in favor of blocking the emergency claim, what could President Trump then do?

3. How much money is Mr. Trump looking to secure for the wall? From what budgets might this money come?

4. A related interactive states, “President Trump’s plan to divert military construction money to fund a border wall is an unusual use of emergency powers.” How does the interactive give evidence to this claim? What category do most of the previous declarations of emergency have? When was the last time a president declared military action?

5. What did the spending package passed on Feb. 14 by Congress include funding for? What funding requested by the president did it not include? Why did Mr. Trump sign the package into law even though it did not include what he wanted? What did he want to avoid happening again?

Finally, tell us more about what you think:

In the related article, “In Wielding Emergency Powers, Trump Paves a Dangerous Path Forward,” Carl Hulse writes:

Many in both parties now say that the presidential decision to act unilaterally and fund construction for a border wall via an emergency declaration would establish a dangerous new model, encouraging presidents thwarted by Congress to simply cite such a crisis to spend dollars however and wherever they pleased.

“We have a crisis at our southern border, but no crisis justifies violating the Constitution,” said Senator Marco Rubio, Republican of Florida.

Accepting the declaration would represent another weakening of the authority of Congress in a steady ceding of power to the executive branch — a trend that Republicans have said they want to reverse and that they railed against when Mr. Obama used executive orders to act on issues such as immigration and health care.

“As I’ve said many times, I have concerns about the precedent that could be set with the use of emergency action to re-appropriate funds,” said Senator Charles E. Grassley of Iowa, the senior Republican in the Senate.

Do you think President Trump’s emergency declaration designed to secure funding for a wall at the southern border of the United States sets a “dangerous” precedent in regard to the balance of power that exists between the branches of the federal government? Explain.

Nostalgic Places

0
Nostalgic Places

What places in your hometown hold your strongest memories? Are these places still around? Or have they been torn down and made into something new?

What thoughts, memories or feelings come up when you pass by them?

Tell us in the comments, then read the related Op-Ed about one writer’s “ghost map” of places she has loved.

Find many more ways to use our Picture Prompt feature in this lesson plan.

Word + Quiz: raillery

0
Word + Quiz: raillery

: light, teasing repartee

_________

The word raillery has appeared in five articles on NYTimes.com in the past four years, including on Aug. 10, 2015, in the theater review “In ‘A Moon for the Misbegotten,’ Audra McDonald Is Front and Center” by Ben Brantley:

Mr. Turman, who appeared on Broadway as Travis in the original “A Raisin in the Sun” in 1959, is an appropriately (if sometimes overly) splenetic Phil, and it’s refreshing to have the character delivered without the usual Irish blarney. The scene in which Phil and Josie scare off a rich twit (Aaron Costa Ganis) who wants to buy their property is delightful, with father and daughter acting grotesque and menacing in ways that play into and satirize the toff’s class prejudices.

Often, though, their teasing doesn’t feel different from the family raillery of many a sitcom. You just know they’re softies inside.

Mr. Swenson, a memorably swaggering presence in the last Broadway revival of “Hair,” makes a fabulous entrance. He slouches into view, hunched and defeated, “like a dead man walking slow behind his own coffin,” as Josie says. Then, aware that he’s being watched, he sardonically strikes the pose of a ham actor greeting his audience.

_________

MBA, still going strong

0
MBA, still going strong

2019 has us wondering about the almighty MBA, and whether it still lives up to its golden reputation. Will the effort and expense still take your career to new heights? If you’re already enrolled, or just about to, you may resume breathing – the answer is yes.

To quickly summarise, an MBA is a business toolkit that covers everything from accounting, financial analysis, statistics, economics, organisational behaviour, marketing and sales. Once completed, you’ll ideally have everything you need to manage a successful business.

MBAs
are still ‘in’

While MBAs took a popularity hit in 2009 due to The Great Financial Crisis, the demand for MBA graduates has been back on the rise since 2014. Today, they’re still highly sought after, particularly as the workforce calls for more generalist skills than ever before.

As Australia positions itself as a key player in the international business scene, businesses want employees who have a world-class education and an Asia Pacific focus.

Australian
MBA graduates are in high demand because Australia is one of the best places –
if not THE best place – to get an MBA that is grounded in the challenges and
opportunities in the Asia Pacific region,” says Brandon Blackburn-Dwyer,
Founder of Grasshopper Strategies – an agency focused on small business
growth.

The
General Management Admission Council released a study in 2018 which showed 90% of companies
in the Asia Pacific region were planning to hire MBAs graduates. That is a
10-15 per cent increase over the last few years.

What’s my ROI?

So the demand is there, but what kind of return on investment (ROI) is reasonable to expect for the time, energy and money spent? Brandon says that when it comes to ROI, we should be asking ourselves – what’s the cost of not doing an MBA, or at least further study?

“Opting for a practical master’s degree in your field will give you a competitive edge as well, but it may mean people see you as field or practice-area specific. This is risky in an economy that changes annually, and where practice areas are dismantled or built from scratch every few years.”

The current workforce is more formally educated than any other time in history, so if you plan to land a business leadership position and keep it, it may be worthwhile having a broad spectrum of skills, expertise and experience an MBA can provide.

You don’t need to spend big

“Buying a ‘big name degree’ can help you get noticed by the big financial houses or huge companies,” says Brandon. “But if that’s not your aim, then most other companies simply want to know you did the education somewhere respectable. For most people, spending less will result in a better return on investment, and allow them more financial flexibility down the road.”

And
like everything else in life, you should choose an MBA program based on your
interests and learning needs. MBAs are becoming more specialised, are offering
more focus areas, and hands-on experiences than ever before.

“Find
programs – regardless of the name of the school – that match your interests,”
says Brandon. “If you’re interested in your topic area, you will do better in
school, impress more people, and network your way in the type of work that
actually interests you.”

Studying an MBA will do more than just prepare you for a leadership role in business. It will give you the resources, skills, expertise and corporate connections you need to adapt and thrive in your career today, and in 20 years from now.

Study
your MBA online via OUA

An MBA can take you anywhere, into any industry –
making it an incredibly popular postgraduate degree across the board. It’s
quite fair to say, you can’t go wrong with an MBA, and OUA is proud to offer a number
of them from leading unis across Australia.

Be sure to check out the MBA
webpage
for in-depth detail about choice, cost, and
accreditation, as well as FAQs.

Get in touch

If
you’re keen to step up your career, but find yourself questioning whether an
MBA is right for you – contact a student advisor via phone or live chat for a friendly
conversation, or fill out
the form
on this page to be contacted soon.

Taking
the leap can be daunting, but when the doors start opening, you’ll be thrilled
you earned your MBA.

The Coursera Community, a New Discussion Forum

0
The Coursera Community, a New Discussion Forum

Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

February 17, 2019

2 minute read


Comments

Until now, discussion forums have been limited to within single courses. When the course finished, connections would often be lost. Now, Coursera has come up with a platform-wide discussion board open to everyone with a Coursera account.

The Coursera Community was launched in late 2018 and is growing daily, By mid-February 2019, there were around 3000 users who have contributed more than 2000 posts in over 600 topics.

To find the Coursera Community, go to the Coursera home page and scroll down. Select Learners under the COMMUNITY heading. You may need to select Login to post comments.

Why have a Coursera Community?

According to the Coursera blog, “The new community is geared towards more general discussion about subjects and careers, and anything else you’re passionate about.” You can connect with other learners outside individual courses without losing the connection after the course has finished.

After finishing some courses, I have missed hearing from classmates. Occasionally, groups of learners have contributed to course threads and decided to all take a related upcoming course. Eventually, though, losing touch has been a natural progression as people joined different courses or took a break from online learning. The Coursera Community overcomes this problem. There is even a private messaging facility, where you can connect with particular learners without displaying the details in the public forum. Alternatively, you can block private messaging.

How is it Organized?

The threads have been grouped into four major categories: Coursera Common Room, Subject Discussions, Global Translator Community, and Beta Testing. These are further divided into sub-categories.

Links on the Community Homepage show Recently Active or Help Others lists. The Recently Active list shows all threads with recent additions, in order from Most Recent. The Help Others is a rather depressing list of issues that learners are having problems with. Many of these issues can be addressed by contacting the Coursera Help Center. Sometimes learners need to be patient and keep asking questions if they need to live chat with a real person from the Help Center (rather than a helpbot). If you know the answer to another user’s question in the forum, help out and don’t be shy. We can all learn from each other.

When I started taking online courses, I did not expect to be having conversations with people with similar interests all around the world. I saw myself watching videos and doing quizzes in grand solitude. Very early, though, I had trouble with homework problems and started trawling the discussion boards for hints about how to tackle the questions. I discovered a rich community with people from diverse backgrounds discussing all kinds of subjects. And that was only in one course! I was hooked.

I can see the Coursera Community growing and blossoming in the future.

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.

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.

Our favourite social enterprises

0
Our favourite social enterprises

Ahead of our course on social enterprise, we decided to share some of our favourite companies that are making a difference, not just making a profit.

In the UK alone there are estimated to be 70,000 social enterprises – each working for social good or environmental good, or both, and reinvesting the money they make back into their social missions. With our social enterprise program we’re hoping to help a few more get going.

To get you inspired here are just a few of our favourites…

The Eden Project Social Enterprise Mark Vallins - CC by 3.0

Field of Light by Bruce Munro atThe Eden Project, photo by Mark VallinsCC by 3.0

The Eden Project is a great example of a business that could have become just another gimmicky tourist attraction but has worked really hard to become something more valuable to the wider world. The project ploughs money into research and education about the environment, it’s committed to sustainability and it hosts artists and bands.
– Jess

London Bike Kitchen is a non-profit social enterprise that teaches and supports people in becoming self-sufficient and proficient in bike maintenance. They reach out to those from all backgrounds and bicycles and encourage them to contribute to community bike culture in London and the world. I’m a massive fan of their work to encourage everyone to cycle and empower them to understand how their bike works. Disclosure: I’ve been a member for years.
– Ben

Ecotricity supply electricity and gas to homes across the UK, generating power using wind turbines and solar panels, selling this power to the national grid, then reinvesting any profits into developing more green energy resources. What’s more, their gas and electricity prices undercut the ‘Big six’ energy suppliers in the UK and consistently top customer service polls.
– Ed

Luminary Bakery provides courses, work experience and paid employment for disadvantaged and vulnerable women.
– Cristina

DIY Space for London is a great venue. It’s miles away from anywhere (well…it’s actually near Millwall’s stadium) but is run really well as a collective endeavour. The bar is affordable and staffed by volunteers, and they pay bands well and do some really positive events (they recently held an all-day festival for majority female bands who had never played a gig before). It’s great for allowing people to get experience in stuff they haven’t done before while helping out with running a new venue for small/medium bands.
– Sean

The Good Loaf is a bakery in a former Northampton shoe factory, which trains and employs female ex-offenders in a bid to “break the cycle of poverty, unemployment and offending”. Not only has its social mission been lauded by government ministers, it’s also won awards for its baking, totally fulfilling it’s “good bread doing good” strapline. If you’re ever in NN1, stop by The Good Loaf cafe or market stall for a fruit sourdough – perfect with a slather of Nutella or a crumble of Lancashire cheese.
– Luke

Learn more about different models of social enterprise. Join Social Enterprise: Business Doing Good today.