Q&A with Raaid Ahmad of Blockchain @ Facebook | Coursera Community
Coursera Header
Sticky Q&A

Q&A with Raaid Ahmad of Blockchain @ Facebook

Q&A with Raaid Ahmad of Blockchain @ Facebook
Userlevel 7
Badge +10
  • Community Manager
  • 358 replies
Raaid Ahmad, Head of Data Science & Engineering for Blockchain @ Facebook, wants to answer your questions about data science! Between now and 22 February, reply to this post with your questions for Raaid and he will respond by 1 March.

What questions do you have about how to get started in a data science career? Are you wondering what skills you should learn? How to interview for a job in data science? How can data scientists drive product leadership? What is the best way to build a data science team? Or maybe you want suggestions for ensuring that a data science team is adding value within a company.

Raaid has broad data science and analytics experience and welcomes your questions about data science as a function and career path. Note that he won’t be able to answer questions about his current work.

About the Q&A Host
Raaid Ahmad has been doing Internet things for 20+ years and investing for 15+. His experience spans the consumer internet, investment & finance (private and public), and gaming industries. He also advises and invests in startups that demonstrate commitment to data-informed decision-making.

He currently works at Facebook leading Data Science & Engineering for the Blockchain team. He also serves on the investment committee of 4DX Ventures, an early stage venture firm focused on Africa. He also advises startups OpenInvest and Domino Data Lab.

Prior to Facebook, Raaid was VP of Analytics and Data Science at Weebly, where he started as the first analyst and scaled the team to about two dozen members including business analysts, data scientists, and data engineers in less than 2 years. In past lives he served as the Director and Head of Analytics for mobile gaming company Kiwi and spent half a decade at Bridgewater Associates, the world's largest hedge fund, where he eventually directed strategy and execution of the firm's high-risk trades. He has additional work experience in world-class competitive poker, economic research, teaching and personal finance publishing.

His passions are (1) Fusing qualitative and quantitative data with rigorous logic to de-risk decisions, develop proprietary product value, and better predict winning long-term strategies, (2) Scaling teams to efficiently solve enormous problems, and (3) Improving financial access and literacy for everyone in the world. His business units have been responsible for the entire data lifecycle: collection, storage architecture, insights, algorithms, and business operations. They have built it in-house, utilized third parties, and implemented hybrid solutions.

His areas of specialty are predictive modeling, network effects, behavioral targeting, risk analytics, adversarial games, trading strategies, poker, fantasy sports, experimental design, and personal financial planning.

This topic has been closed for comments

20 replies

Badge
How does analytics help with prioritization of a team's roadmap? What are some prioritization techniques you've found effective?
Badge +1
i recently finished a class on DEEP LEARNING .... They resorted to FEEd forward neural networks to produce a stock prediction (a share price) Is this the best deep learning algorithm available?

or is there something better ?
Badge
Hi, I'm an EE with a Masters doing ADC design at the IC level for the last 10 years. I decided to switch over to programming and have absolutely loved diving into deep learning. Math + programming is my passion. Do you have recommendations for how I could switch into this field? Would a new degree help, or online certification? Should I build my own play projects as part of a portfolio? Should I try to get into a big company like FB, Amazon, or Google (Seattle area), or are they likely looking for more expertise than a person starting off would have? Thanks!
Badge
Hi, I am really interested in blockchain technology and its possibilities. I have background on machine learning and deep learning through courses of Udacity and coursera. I plan to expland my career on AI.
I understand the general picture about blockchain. My question is:
How can AI engineer ,or data scientist, start transitioning to blockchain job or company?
Can you share your perspective on data science + blockchain jobs and its desired skill sets?
thank you for you time.
Badge
Hi Raaid,

You are currently involved with two rapidly growing areas, blockchain and data science. If you could make a prediction for what both of these fields will look like five-ten years from now, what would it be? In your opinion, what skills will be in demand then?
Badge
I work for a startup that does a great job leveraging data in-app, but doesn’t do as well at extending that commitment to data-informed decision making to other areas of the enterprise. How can someone who’s not top leadership help move a company towards better using data for, well, every aspect of the business?
Badge
Q1. How can data scientist with technical background gain business knowledge so that they can derive new use cases for the business in terms of revenue. When presenting data science results in front of business teams, it requires high understanding on major KPIs of the company and using data science results to increase revenue for the company.
Most of the courses or curriculum on data science relies upon technical details.


Q2. Technical Question: Please also guide related to distributed machine learning . I have tried Spark MLLib on top of Hadoop Cluster but its performance in terms of accuracy is not that good as sklearn.

Q3. How data science pipeline works in facebook ?
Badge
Based on the introduction, I presume that you had played a role of a data scientist.

Q1: What is the biggest challenge that you faced when you apply data science to help the company to increase revenue or finding new business model? How did you overcome?

Q2: We know data science drives machine learning which, in turn, empowers AI applications but how does it (even) help or correlate when it comes to block chain?
Userlevel 3
Badge
Hi everyone! Wow, these are some great questions. I'm going to do my best to answer a few questions every few days between now and the beginning of March, so please keep sending them through. I'll prioritize questions that have more likes (data-driven!) and that I think I have a uniquely valuable perspective on. There are some related to my current work that I'll have to answer briefly or not at all. I'll take a stab at a few tonight.
Userlevel 3
Badge
rvanegas wrote:

i recently finished a class on DEEP LEARNING .... They resorted to FEEd forward neural networks to produce a stock prediction (a share price) Is this the best deep learning algorithm available?

or is there something better ?



To be completely upfront, my stock picking days are years behind me (index investing FTW!) and my current active trading strategies favor simple, systemized analysis over more sophisticated ML algorithms. This is mostly driven by my limited time. I am also not an expert on neural network architecture.

With that being said, I do think that many deep learning classes use feed forward neural networks in their examples because they are the simplest of the neural networks (I think) to teach. I would be surprised if they are in fact best for stock price prediction due to their inherent limitations. In particular, I think the single layer perceptrons don't have enough predictive power and a denser multi-layer perceptron may not have enough stock data to converge quickly enough.

Through my discussions with those in industry, I have gathered that backpropagation seems to be a useful tool to incorporate in neural networks. The only study I've read (not that I've been exhaustive) seems to be consistent with this finding: Neural Networks for Stock Price Prediction.
Userlevel 3
Badge
Sport wrote:

How does analytics help with prioritization of a team's roadmap? What are some prioritization techniques you've found effective?



"How does analytics help with prioritization of a team's roadmap?"

I think there are 4 ways analytics can help with the team's roadmap prioritization.

1) Are we prioritizing against the right things? (Translating)
2) Are we picking the things that give us the most? (Sizing)
3) Are we thinking ahead so our next roadmap will have good options to prioritize? (Researching)
4) Are we considering our options in the most leverage-able way? (Systematizing)

Translating what we want into something we can measure - "We can't just optimize metrics" is often pejoratively used to dismiss a data-driven idea. Don't let it. In my experience, this is symptomatic of 3 things:

1) a lack of confidence that chosen key performance indicators (KPI) cover the totality of the team's true intent
2) a well-meaning objector that isn't able to articulate a bad feeling
3) a truly difficult thing to measure that is still important to product outcomes

In my experience, it is almost always #1 or #2. If it is #1, I try to stop immediately and spend more time translating what we care about as a team into things we can measure. This usually takes the form of a few, simple metrics and counter-metrics. If I feel confident in #1 and sense the issue might be #2, I frequently ask, "What do we care about that our metrics aren't capturing?" or "That's a valid concern, how can we measure what you're describing?" In the rare case it is #3, it's important to agree upon a framework to weigh the "intangible" in question versus its cost to achieving the other goals. Sometimes the intangible is a gating function (e.g. a design quality bar) and other times it can function as a qualitative counter-metric to the other goals.

Opportunity sizing current feature candidates - When presented with many possible features to build, I have found it valuable to holistically consider the goals of our product in plain english. These simple goals can be translated into metrics that are (ideally) highly correlated (better: causal) to the goals. Then, for all feature candidates, I can ask "What metrics will this change, and by how much?" A slightly more nuanced (though often impractical) approach is to understand the distribution of potential outcomes (likelihood of failure, small success, medium success, big success and associated impact on metrics). These estimates should be central inputs into the prioritization equation to be weighed against engineering costs.

Developing new strategic bet candidates - Earlier in my career I was on a team focused on converting free users into paid customers. We looked at the power users of our free product to look for ways to provide value they would be willing to pay for. This was useful. What we didn't immediately identify as an opportunity was turning marginal users into payers (in fact, we had assumed their conversion was far less likely -- it wasn't). We kicked off analysis projects to understand who they were, what pain points they experienced, and their propensity to convert. After a first round of analysis, it became clear this was an opportunity worth exploring. While this did not prioritize opportunities on a current roadmap, it ended up creating the ideas for 20-40% of a few future roadmaps. I try to always have ideas in diverse stages of my research & development pipeline because I'll need different muscles to move them forward from each stage, so it becomes easy to make progress even if parts of the team are over capacity.

Developing algorithmic/systematic approaches - Systemization is not always top of mind. I once had a cross-functional partner ask me for a list of customers that churned off our service so his customer service agents could reach out and attempt to win back their business. The initial ask was a list of names every few weeks -- simple and likely a good idea. With very little overhead, we were able to prioritize some minor engineering work that generated substantially higher value because we had systemization in mind. Churned customer names were delivered to the customer service team, the result of the call was recorded and fed back into our analytics system. With feedback the system was able to help us discern what types of accounts were most likely to re-subscribe with a customer service agent call. This enabled a prioritized list to be delivered to agents.

This one got too long, sorry. I'll answer the general prioritization techniques in the next post.
Userlevel 3
Badge
Sport wrote:

How does analytics help with prioritization of a team's roadmap? What are some prioritization techniques you've found effective?



What are some prioritization techniques you've found effective?

Here are a few prioritization frameworks that I find myself using on a daily basis:

Variance of outcomes - If you've been doing this for awhile, you have a good intuition for the likely outcomes of many tests you run or analyses you do. I try to always do the thought exercise of taking the position of the decision-maker and asking, "if the analysis shows X, what would I do?" and "if the analysis shows Y, what would I do?" I think of plausible X's and Y's such that the decisions would be as different as possible. If the differences in the decisions is small (and/or the cost of being wrong is low), then it may not be worth doing the analysis at all. If the outcome decides whether a highly staffed project lives or dies, however, the project is pretty important.

Weight of data in the decision - I would love to live in a world where all decisions were made with the most relevant data. We all know that's not the world we are in. When a decision is being made, I try to consider (and if I don't know, I ask the decision-maker) what the inputs into the decision will be. Many decisions will include some combination of vague strategic positioning, inconclusive qualitative research, and imperfect test data thrown in somewhere. If the quality of the analysis is high, then I advocate for it to get a lot of weight. If there's a well-reasoned strategic analysis done by an experienced operator, I consider that it should get weighed more heavily than noisy experimental data. I try to vary the effort willing to be expended based on the impact the analysis will have on the decision. I also try to remember that sometimes additional effort may yield analysis improvement that in turn warrants higher impact on the decision.

Time-bound benefit vs project-bound benefit - Often, projects will be weighed against each other and prioritized one versus another. A different lens I like to look through sometimes is on a time-bound basis. Many games have a concept of a "progression" (e.g. you need to develop computer chips before you can develop laptops) or "pre-requisites" (pre-calc before calculus). Instead of prioritizing project A versus project B. Consider a 6-month (or 3m or 1y) period where you started with project A and did all the projects that project A enabled. Then, compare that with the same period of time that project B and all its subsequent projects were completed. Which world is better? There are times when a short-term projects unlocks so much future potential that it makes sense to do even if you were behind after a 1-2 month timeframe. Consider the "time to payback" of different paths and "how certain is the payback?"

As for personal tips I've found that help me with my prioritization and getting things done (this is an amalgamation from a number of books I've read on this, my favorite of which is Getting Things Done, by David Allen):

One size does not fit all - I experiment a lot. I try to find out what works for me and drop what doesn't. I do not consider a failed experiment a failure because I've merely found another way that doesn't work, which is progress towards finding a way that does work. I have 2-5 experiments I am running in my life in any given month, about 80% of them fail, but the 1-2 habits I have added each month consistently for years have made me who I am.

Eat the frog - There's a book about this that motivates the concept, but the TL;DR is that you should do the most daunting, difficult, and important item on your to do list first thing in the morning. The frog is my nemesis. It's the project of mine that's the hardest. It's the one I always avoid by doing laundry, updating my to do list, or checking emails. Every morning, I ask myself what the most important (not urgent) thing is for me to get done. I do that thing first thing in the morning. I feel like a badass the rest of the day.

Manage to my energy - Our bodies have ebbs and flows of energy. I have high and low energy times and times when I want to interact with people (not often) and times when I don't (basically all the time). When I'm high energy and I don't want to interact with people, I do my writing and thinking and most creative work. If I am low energy and can bear human contact, I'll do my mindless people errands (calling customer support, emails, making appointments, etc). If I am in people mode and high energy, I try to have brainstorming sessions and high impact 1on1 meetings. I don't always succeed at this (I am beholden to others' schedules too), but if I'm feeling motivated while in front of the TV, I shut it off and do some work instead.

Contextual lists - I split my to do list up into context-based lists to avoid distraction when I can't do anything about an action item. I have a phone call list (for when I am driving alone), a grocery list (for when I go to the store), etc. This is critical for me to not feel mentally bogged down by seeing to do list items that I can't act on (e.g. the fact that I need to buy toothpaste doesn't help me while I am looking at my to do list at work).

Two-minute rule - If it takes less than 2 minutes, JUST DO IT. The time it takes to file something away and the cognitive load of it coming back into your head when you can do nothing about it is very costly. If something will take less than 2 minutes, I do it immediately when it comes to my mind.

Batching - I find myself to be much more efficient at processing similar things together. I have a period of time when I “process” where I go through emails, chats, and VMs and do anything that takes less than 2 minutes, delete anything that I don't need, and mark as “action” anything I need to act on. That let's me get through all my inputs in process mode. This is distinct from “action” mode when I actually do the things on my list. This stops me from spending tons of small chunks of time each day in process mode.

Three-layer prioritization system - I evaluate my progress towards goals daily, weekly, and quarterly. On the shuttle ride home, I try to make sure I got through my priorities for the day. If I didn't, I make sure to make a big thing the frog for the next day. I step back and do this for 15 minutes each week too. I color code my calendar so I can quickly, at a glance see what I spent my time on (e.g. yellow = recruiting, gray = recurring meetings, orange = social, blue = health, purple = thinking/strategy, etc). If that timing in any given week is mis-matched substantially from my priorities, I'll endeavor to do better the next week. Each quarter, I check in to see if I screwed that up and what progress I made towards my quarterly professional and personal goals.
Userlevel 3
Badge
guenther wrote:

Hi, I'm an EE with a Masters doing ADC design at the IC level for the last 10 years. I decided to switch over to programming and have absolutely loved diving into deep learning. Math + programming is my passion. Do you have recommendations for how I could switch into this field? Would a new degree help, or online certification? Should I build my own play projects as part of a portfolio? Should I try to get into a big company like FB, Amazon, or Google (Seattle area), or are they likely looking for more expertise than a person starting off would have? Thanks!



So glad you're loving the field. I hope it keeps you busy for a long time!

Personally, for an experienced hire (even if in another field), I care little about the degree or online certifications. I care a lot more about their skills, work experience, and motivation. If they can pass the skill-based interviews, I believe they can succeed here.

I recommend a few things:

1) Build your own things - Find an interesting application/problem for your toolkit and use that toolkit to build a solution for yourself. Hack your way through it with google, online resources, friends, etc.

2) Learn online - There are so many amazing courses online across a variety of topics. Decide what you want to learn and go learn it.

3) Target your learning - Figure out your goals. If you wanted to work at a large tech company, for example... Look at the skills and qualifications for the junior to mid-level roles at those companies and learn those things.

There are many young startups out there that are dying for engineering and data science talent. Find a few that you're passionate about and pitch them on what you can do for them. They may not offer you a job, but you'll likely be able to learn about what they're working on and what skills you'd need to get those jobs. Best of luck!
Userlevel 3
Badge
Osamub wrote:

Hi, I am really interested in blockchain technology and its possibilities. I have background on machine learning and deep learning through courses of Udacity and coursera. I plan to expland my career on AI.
I understand the general picture about blockchain. My question is:
How can AI engineer ,or data scientist, start transitioning to blockchain job or company?
Can you share your perspective on data science + blockchain jobs and its desired skill sets?
thank you for you time.



I think there are a few things you can do to best prepare yourself to join a blockchain company as a data scientist or AI engineer:

Continue learning about blockchain - Watch YouTube videos, sign up for podcasts, and join various newsletters. Start looking for patterns of problems that many people are tackling, what is causing companies to fail, etc. This knowledge, over time will help you better contribute to any companies you choose to work for.

Continue developing your skills as a data scientist or AI engineer - Continue developing your skills in your current job / team. Whether this is learning a new language or improving your depth of understanding of techniques you're already working with, the more tools you have the easier it will be to find a job fit. If you're not developing new skills and depth in your current job, first start doing this on the side online and then start the search for a new job.

Start finding companies that are interesting to you - Through your reading and skill-building, take note of companies that are doing interesting things that you'd want to participate in. Add to the list and remove from the list over time and look for patterns to learn about what areas of blockchain are interesting to you (crypto-economics? consensus algorithms? business processes of becoming decentralized? exchanges?)

Hunt through jobs pages - Start looking at job descriptions to look for patterns of experience and skills that are most frequently requested (especially for the companies you are interested in). This is a really good way to get an understanding of the technology landscape. You start to see emerging themes for where companies are struggling and you have the opportunity to decide whether you want to develop skills in that gap or elsewhere.

Network - This is a dirty word to some, but it really means that you should consider going to meet people who have the same interests as you. Ask them what problems they're trying to solve and if you approach with a mindset of trying to be helpful to others, I've found that this pays for itself and then some over a period of time. Develop contacts at companies you care about, get mentors that can help you work through challenges, etc.

Overall, I think the AI and Data Science problems in blockchain are nascent for the most part because the technology itself is in such an early stage of its development. The more you compound knowledge of the history and evolution of this technology, the better prepared you'll be to see into its future, and align your skillsets to match.
Userlevel 3
Badge
Lana wrote:

Hi Raaid,

You are currently involved with two rapidly growing areas, blockchain and data science. If you could make a prediction for what both of these fields will look like five-ten years from now, what would it be? In your opinion, what skills will be in demand then?



This is a great question that I want to write about for hours and hours, but unfortunately I have to keep it brief to protect confidentiality of my current project.

I think some key themes that will continue to emerge over the next 10 years:

Safety and Security - Humans are hacking sophisticated (and not) computer systems and I see this evolving into sophisticated computer systems starting to compromise other sophisticated computer systems. I expect an arms race of security in current technologies as well as in blockchain technologies.

Cryptoeconomics - One thing I love about blockchain is that a gigantic chunk of a company's strategy can be inferred from its blockchain specification and incentive structure. I think the field of crypto-economics will become increasingly important as consumer-useful cases of blockchain are developed to solve problems at larger and larger scales requiring clever and sophisticated ways to incentivize players in the ecosystem.

Synthesized decision-making - I think that simple, data-driven decisions will increasingly be made by AI. The ability to synthesize and blend complex pieces of information (some hard data, some qualitative assessments, strategic positioning, and structure logic for decision-making) is something that I think AI is still somewhat far from doing well (or at least in a way that humans recognize is better than us 😓 )

The human / network interface - The benefits of blockchain (e.g. trustworthy, centralized, public ledger), make it easier to track information once it is digitized. The failure point(s) will be the entry into and exit from digital systems. Specifically, validation of data ENTERING a blockchain or system will become prime places for failure and attack, so building resilient, real-world, at-scale operations will become more and more important over time.

Technology is changing very quickly, so I don't have much perspective on which language, data structures, or tools will be used in the future so my best advice there is to follow your industries and functions of passion and evolve with their winds. Best of luck!
Userlevel 3
Badge +4
Q1 : What should an undergraduate student like me do to start a career in data science?
Q2 : Will auto-ml affect job market in data science ?
Q3 : How far is deep-learning used in production?
Q4 : What are the skills/tools that are important for a data scientist?
Badge
Hi Raaid,

Blockchain/PermissionedLedger dApps and Smart Contracts work under the assumption that all resources are under the control of the blockchain/permissionedLedger. What happens when a governmental higher power accesses one of these assets? For example, if I use real property as a security in a blockchain/permissioinedLedger transaction, what happens to these secured transactions if the IRS seizes this real property ... or a party loses the property in a divorce?

I hear NY is regulating ICO's. Can a governmental agency subpoena the coin records and trace ownership?

Also, I am very interested in being able to own my own (and my dog's) medical records. I want to be able to keep my data when transferring physicians or travelling, and I want to have my dog's medical history when he has to go to the emergency vet. I want medical providers to no longer be able to lose the medical records when their treatment of a patient is challenged in court. Do you know of companies working in this space?

ty, lin
Userlevel 3
Badge
Saif wrote:

Q1. How can data scientist with technical background gain business knowledge so that they can derive new use cases for the business in terms of revenue. When presenting data science results in front of business teams, it requires high understanding on major KPIs of the company and using data science results to increase revenue for the company.
Most of the courses or curriculum on data science relies upon technical details.


Q2. Technical Question: Please also guide related to distributed machine learning . I have tried Spark MLLib on top of Hadoop Cluster but its performance in terms of accuracy is not that good as sklearn.

Q3. How data science pipeline works in facebook ?



Unfortunately, I'm unable to answer questions #2 and #3, and I'll do my best to provide insight on #1.

You're absolutely right that understanding the key goals of the business is critical for data scientists to provide increasing value to a company. Here are some recommendations for improving your business knowledge so your work can be more high impact:

Understand the goal - For every analysis you do, make sure you truly understand the goal. This means knowing what decision will be made based on the analysis, what purpose the analysis will serve in that decision, and what others will do with this analysis beyond immediate decisions. This will enable you to choose the analysis that will best meet the team's goals instead of doing an analysis that, unbeknownst to your cross-functional partners who suggest a potentially worse analysis, won't actually meet the needs of the decision.

Understand the constraints - Analysis may yield different potential recommendations. It is important to work with your cross-functional partners to understand the goals they have for their areas and what constraints they are operating under. Having empathy for other people in the organization (e.g. what do they do, what is hard about their job, and how can you help them) will mean you're able to provide better solutions. When you provide better solutions, they come to you with more problems. If you're focused on understanding their problems, this virtuous cycle gives you more and more context.

Turn context into solutions - When you're a part of more conversations, you start to get more context on what the business is trying to do (again, doing great analysis that solves people's problems gets your foot in the door). As you gather this insight, start thinking about projects that might be useful to the business (e.g. increases user retention or revenues) and brainstorming. DO NOT go out and build random solutions. Instead, involve others in your planning process (get their feedback, iterate on your projects) and carve out time for these proactive projects.

Ultimately, being involved in business decisions and strategic meetings will provide you more business understanding and context. Taking courses on business strategy can also help.

Best of luck!
Userlevel 2
Badge
Hi Raaid,

1.What are the challenges that we face when you initially enter into the Data Science Job. How should we overcome those challenges?
2 Out of curiosity I would like to know how Block chain is correlated to Data Science? I mean in real term how it works exactly?

Thanks
Kalyan
Userlevel 7
Badge +10
Hi everyone. This is a friendly reminder that the Q&A session is closed to new questions.

Thank you so much for fielding questions and sharing your insights with the Coursera data science community, @Raaid. We appreciate the time and thought you put into your responses!

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

Accept cookies Cookie settings