fbpx
Home Blog Page 1328

How a Future-Focused MBA Can Close the “Soft Skills” Gap

0
How a Future-Focused MBA Can Close the “Soft Skills” Gap

 

In a wide-ranging interview with Wired, LinkedIn CEO Jeff Weiner recently shared some important and potentially counterintuitive insights about the future of work. Here’s what he had to say:

Using “skills gap analytics,” LinkedIn is working to pinpoint the fastest growing job types in a given area, as well as the skills employers need to fill those jobs. The results are fascinating — and if you guessed the #1 skills gap in the U.S. is “coding,” you’re in for a surprise.

 

While coding is an important skill for many jobs in areas like computing, mobile development, and AI, Weiner says LinkedIn metrics reveal a different skills gap in the U.S. job market. These are what as known as “soft skills,” including “written communication, oral communication, team building, people leadership, and collaboration.”

These sorts of people skills aren’t important for every career. But for senior roles in management, business, or sales development, soft skills are essential and in demand.

These skills aren’t always easy to learn, but they can be taught. Furthermore, these skills will be difficult or even impossible to replace, no matter how good AI replaces other types of work. As Weiner concludes:

“The good news comes on two fronts with regard to the [soft skills] gap. The first is that for as powerful as AI will ultimately become and is becoming, we’re still a ways away from computers being able to replicate and replace human interaction and human touch. So there’s wonderful incentive for people to develop these skills because those jobs are going to be more stable for a longer period of time. We’re also capable of closing these gaps now, today.

The Global MBA offered by Macquarie University in Sydney, Australia — one of the world’s top 100 business schools — is the next generation digital MBA degree now  available on Coursera. It’s flexible, affordable, 100% online, and built to develop the soft skills you need to lead the future-focused businesses.

The  Global MBA has been developed around six future-focussed capabilities including Strategising, Leading, Analysing, Influencing, Adapting, and Problem Solving Each specialisation aims to develop a bundle of soft skills that will help professionals future-proof themselves

 

  • Leading: The future of work is about leveraging technology and talent that transforms existing ways of doing business. Students learn to optimise workplace relationships and organisational structures, and how to tell the story in painting the future.
  • Influencing: Students learn to understand the importance of power and politics in shaping the decision-making process and the art of communication and negotiation in bringing about change.
  • Strategising: Disruptive new technologies compel organisations to adapt and respond quickly. Students learn how to develop workplace strategies that enhance technology and people to build sustainable platforms and ecosystems.
  • Adapting: Changes in technology, diversity and culture are transforming more than just jobs. They are transforming the meaning and value of work and the motivations to work. Students learn to frame their personal and professional value proposition and navigate change with confidence and purpose.
  • Analysing: Data plays a central role in decision making and envisioning futures. Numeracy and financial literacy form the foundations of analytical skills. Students learn how to synthesise and critically analyse information in producing strategic insights.
  • Problem Solving: This capstone specialisation focuses on developing a student’s problem solving skills in an applied way. They’ll work on real-world, applied projects that draw on their ability to research, analyse, visualise and generate insights. Customise problem solving tools from best practice frameworks and methodologies as they ideate and develop a solution coached by faculty and industry partners.

 

It’s not just the curriculum that’s designed to develop your soft skills: Macquarie Global MBA students participate in team learning projects with students, academics, and business leaders from around the world. These live learning experiences help you hone your people skills.

 

Jeff Weiner says that LinkedIn is working to help businesses “develop the right workforce strategies… for the jobs that are and will be, and not just the jobs that once were.” That same future-focused ethos fuels Macquarie University’s Global MBA program, which develops all of the skills —soft skills included — that professionals need to lead creative and innovative teams

 

Early deadline to apply for Macquarie University’s Global MBA is 1 March, 2019, and the final deadline is 8 April, 2019. Get started on your application today.

Business Video Application Tips

0
Business Video Application Tips

 

Many business programs, including Macquarie Graduate School of Management’s Global MBA require a video submission as part of the applications process.

The Global MBA asks for a “personal statement video (maximum length of one minute) covering a brief introduction of yourself, why you are interested in the Global MBA, and your expectations of the program.”

Don’t feel camera shy! A video is a great opportunity for you to introduce yourself to the admissions committee, put your overall application package into a more personal context, and let your energy and enthusiasm shine.

Here’s some advice to help you create your video:

 

Content Tips

  1. Be yourself: let your personality and communication style shine

In addition to academic and professional qualifications, the admissions committee is looking for students who will bring their unique energy and perspectives into the online MBA classroom. Beyond your ability to handle the academics, the committee will be looking for how  you will engage with fellow students and professors both inside and outside of class — and in an online MBA program, much of this will be through video.

  1. Don’t spend too much time re-hashing material

You only have a limited amount of time to make an impression with your video, so don’t waste it going over material that is already covered in other parts of your application. Instead, use the video as a chance to provide new information or additional context.

  1. Take the perspective of an admissions officer

Ask yourself, “What is the main thing I want the admissions team to take from the video?” Are you accurately representing who you will be when you’re enrolled in the programme? Think about what the admissions officer might be seeking — what are the traits of someone who would do well in an online MBA programme? How can you demonstrate your communication skills, creativity, motivation, and resourcefulness?

  1. Structure your story with a clear flow of ideas

Before you start recording, create a basic script for your video that consists of a logical flow of topics. You want each point to lead naturally to the next. Speak about your past activities by describing actions you took and the results you helped generate.

  1. Be Creative

Give us an insight into who you are by showing us your creativity in your video. Beyond your other application materials, the video is your opportunity share who you are as person, what motivates you, and what you can uniquely bring to the programme.

 

Production Tips

  1. Prepare your set

Where are you going to record your video? Take lighting, sound, camera angle, and background into account. Make sure that you are well lit and visible – don’t sit in front of a window, for example. Make sure you record in a quiet place so your voice can be heard clearly – ideally not in a public place like a coffee shop. Avoid camera angles that are excessively high or low as well as any visual distractions in the background. Most importantly, find somewhere you are comfortable. A well-prepared set will demonstrate of your thoughtfulness and and attention to detail.

  1. Maintain natural eye contact with the camera

Treat the camera as if it was a person. The moments when you look at the camera make the viewer feel like you are looking at them.

  1. Speak naturally and use your body language

As we get excited, it’s natural to speed up our speech or fidget. The pressure to speed up is even stronger when your video has a short time limit. However, make a conscious effort to keep your speech at your natural pace. Pay attention to your posture and body language: avoid slouching or awkward movement. Non-verbal communication is key, so make sure you display your confidence and enthusiasm.

  1. Practice to get familiar with your own content

Be sure you know what you want to say and make every word count. Try to avoid reading from a script (instead, ask a friend to hold up cue cards for you, or even hang a poster behind the camera). You want your video to come across as natural and conversational, so try to strike a balance between improvisation and prepared remarks. You want the admissions committee to get to know what it’s like to spend time with you.

 

Best of luck with your MBA applications!

 

Learn more about Macquarie Graduate School of Management’s Global MBA today.

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.

What’s the Best Advice Older Generations Can Give Boys of Color to Improve Their Lives?

0
What’s the Best Advice Older Generations Can Give Boys of Color to Improve Their Lives?

Do you ever get advice from people of different generations? If so, do you find the advice insightful or helpful? Do you ever find that it misses the mark?

Last week former President Barack Obama spoke in Oakland, Calif., at a town hall for My Brother’s Keeper, an initiative to mentor young black men that he started in 2012.

One critic believes that Mr. Obama fails to see “the beautiful and complex range of black culture.” In “Why Does Obama Scold Black Boys?” Derecka Purnell writes:

On Tuesday, former President Barack Obama spoke in Oakland, Calif., at a town hall for My Brother’s Keeper, an initiative to mentor young black men that he started after George Zimmerman killed Trayvon Martin in 2012.

He and the basketball player Stephen Curry discussed mentorship, masculinity and mass incarceration. But his scolding of black boys drew the most attention.

“If you are really confident about your financial situation,” Mr. Obama told the crowd, “you are probably not going to be wearing a eight-pound chain around your neck.”

“Because you know,” he continued, “‘Oh, I got a bank account.’ I don’t have to show you how much I got. I feel good.”

His comments disappointed me because they’re part of problematic practices, like calling out black children for having ghetto names like mine or wearing Air Jordans. Such remarks by Mr. Obama reflect his administration’s failure, and to an extent that of My Brother’s Keeper, to tackle the systemic inequality that shapes black people’s lives in America.

I went to Harvard Law School decades after Mr. Obama and his wife, Michelle, graduated. When I was there in 2014, nobody wore thick gold chains to show off their wealth. They wore thin ones to match their David Yurman bracelets. Canada Goose down jackets may as well have been part of a uniform during Boston winters. Students “summered,” took “gap years” and graduated from “Sidwell.” Harvard was the first place I saw a Rolex in real life. I wonder if it was the same model as the $15,000 Rolex that Mr. Obama wears in the Kehinde Wiley painting of him in the National Portrait Gallery.

The Op-Ed continues:

Yet Michelle’s husband (as he introduced himself at the town hall) uses My Brother’s Keeper to change life outcomes for boys of colors. But its solution to financial insecurity and the racist violence that led to Trayvon’s murder are the same: community mentorship. This pales in comparison to reparations or any major social or legislative intervention that justice requires.

At the Oakland event, Mr. Obama doubled-down on his finger-wagging. “Oftentimes racism, historically in this society, sends you a message that you are less than and weak,” Mr. Obama said. “We feel like we got to compensate by exaggerating certain stereotypical ways that men are supposed to act, and that’s a trap that we fall into that we have to pull out of.”

This is also how conservatives depict black people, as the philosopher Cornel West explained in “Race Matters.” Conservatives accuse them of being lazy and demand self-improvement. Liberals pity blacks for not being able to help themselves. But, to both groups, the burden is on black people to fix themselves. Neither conservatives nor liberals sufficiently challenge racist people or institutions that have long exploited poor people and people of color.

To put it another way: Programs like My Brother’s Keeper insist on making better versions of Trayvon Martin, the black victim, instead of asking how to stop creating people like George Zimmerman, the racist vigilante. Rather than encouraging them to dismantle the systems that deepen wealth inequality, Mr. Obama tells black boys to tuck their chains.

Students, read the entire essay, then tell us:

— Should older generations, as the author writes, help young people of color learn how to “tackle the systemic inequality that shapes black people’s lives in America?” Is that the most effective and empowering approach to education and meaningful social change?

— Or, should older generations instead help young people “fix themselves” — by changing what they wear, how they speak, or how they act, so they are more likely to be successful in America? And, is that approach, in the end, a better way to reduce systemic inequality?

— Are these two types of advice and mentorship mutually exclusive? Is only one approach the fair and just approach? Or can they both be effective?

— Do you think Mr. Obama is “scolding” black boys and “finger-wagging?” Is he calling out black children for making legitimate cultural choices instead of placing responsibility squarely on an unjust society? Or is he just being real about what it takes to be successful in America, based on his own experiences?

— A comment selected as a Times Pick states: “Paradoxically, international fashion trends right now are heavily derived from black hip-hop and black athletic culture. Karl Lagerfeld made heavy hip-hop derived chains a signature of his daily look. Apparently it’s ok to ‘dress black’ so long as you’re white with status.” Do you think there is a double standard for how black people and white people are supposed to dress to be successful?

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.

Word + Quiz: surcease

0
Word + Quiz: surcease

: a stopping

_________

The word surcease has appeared in two articles on NYTimes.com in the past year, including on July 2 in The Stone column “Stanley Cavell and the American Contradiction” by Nancy Bauer, Alice Crary and Sandra Laugier:

… The antidote to the toxin is to create the social conditions that will allow each citizen to promote and persevere in the Socratic task — so consistently highlighted in Cavell’s prose — of continuously getting to know ourselves, of acknowledging our own routes of feeling and senses of what matters and — crucially — testing these sensibilities publicly against the sensibilities of our fellow citizens.

The challenges of this enterprise go beyond merely finding the rhetorical and material resources to brush deception aside. To be a participant in a good-enough democratic polis is a perpetual project that requires taking seriously one’s abiding and evolving tastes and interests and working without surcease to create an ever-expanding social and linguistic space for every individual who arrives on our shores, or at our borders, to pursue happiness.

_________

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.