May 7, 2021

It is related to another article on how to use the Q&A, but this covers the specific area of courses vs. consulting.

What is the issue?

Sometimes, students ask questions such as:

• Can you provide feedback on my code?
• Can you help me apply this algorithm on my dataset?
• I need to write a function to do XYZ. Can you help me?
• I got this question from a job interview / test / homework. Can you help?

If you ask these inside the Q&A for a course, the answer for all these questions is “no”.

Why? Because these are the types of questions I answer for my 1-on-1 / consulting clients.

Specifically, people hire me for 1-on-1s because:

• The courses are very general, but they need help with more specific issues related to their personal work
• They need help with their coding
• They want to apply what they learned in the course to some outside dataset
• They want to apply what they learned in the course but with tweaks to some algorithms
• They want personal attention and tutelage to tackle their personal challenges and pain points
• They have a specific task they need to complete and they need help
• They need help with their job
• They need personal career advice
• They need to write a function but got stuck
• They don’t have the prerequisites for a specific course and want to catch up fast

This is different from a course. In a course:

• We teach a pre-defined list of topics, covering pre-defined areas (theory, followed by code)
• We do not cater to any specific student
• We will not create new lectures or cover new topics at a single student’s request
• The course is made for a general audience, not a specific person
• The prerequisites are set to be appropriate for the topic. For instance, if you want to learn ML, we are not going to teach basic math and programming. If you want to learn that, you have to do that by yourself before starting the course.

### Unfairness due to cost

The main point is cost.

Courses can be provided at much lower cost (typically < $100) since they are scalable. The same course can given to many students around the world. Personalized assistance and consulting costs much more (>$250 / hour) since it is not scalable. The assistance I provide for you only works for that singular instance. We are trading time for money.

Sidenote: the exact rate varies (generally increasing over time with inflation and my level of experience) so I have not posted an exact rate here.

Basically, it is unfair to provide the consulting service (which is much more costly) for the price of a course.

Why?

2 reasons:

1) It’s unfair to me, because you are not paying my stated rate. If you choose not to hire me, that’s fine. It would be like walking into a restaurant and asking for a 90% discount. I simply say “no thanks” and take the next customer.

2) It’s unfair to my clients, because they paid the fair price. It’s not fair to ask for the same service but pay a fraction of the cost that everyone else pays.

### What does it mean to buy a course?

When you buy a course, you get the course.

The course consists of lecture videos, corresponding code samples, and perhaps other documents.

That’s generally what an online course (a “MOOC”) is.

It’s not a service, but a product.

As a general rule of thumb:

When you sign up for the course, any assistance I provide pertains to the actual course (i.e. the code, data, and algorithms contained within it) and nothing else.

For example, you wouldn’t pay for dinner at a restaurant and then ask the waiter to help you with your taxes. The waiter’s job is confined to serving you at the restaurant.

Similarly, when you sign up for my course, my job is confined to helping you with the course.

Sidenote: even this goes far beyond a typical MOOC. Most MOOCs simply offer no help or forum at all (or perhaps, you’re left to discuss your issue with other students, who may not know the correct solution).

You might think it’s a “grey area” if you ask me a question such as:

“Can you give me feedback on my implementation of logistic regression?”

Which might seem fair, especially if the course is about logistic regression.

But remember, I’ve already provided an implementation.

If you want to compare your implementation to the “official” one, that’s great! Learn from it.

Learn from the tips and tricks provided in the lectures.

Unfortunately, I can’t provide individualized assistance / personalized coaching for each student.

As much as I’d love to, I can’t check your work for you.

Remember, there are sometimes tens of thousands of students in a course.

It would be unfair to ask for personalized assistance, since that would mean all tens of thousands of students should be entitled to the same treatment.

The key is that for courses, assistance is not personalized, but consulting is personalized.

### Help with your job / work

First of all, let’s assume your boss is paying you $100/h. If you only paid$10 (flat fee) for the course, is it fair that I help you with your job while not being paid the same rate as you?

Why don’t I just go to your boss so they can pay me instead, and do a much better job than you?

Furthermore, it’s dishonest.

Why should your boss keep you on the team if you can’t perform your job on your own? What will happen on the next job?

Additionally, you would be taking credit for my work, which I obviously cannot allow.

Another good example is webapps. Suppose that I helped you build an app, which you then turned into a business and made millions of dollars from. Is that fair to me?

Of course it is not. If you want me to assist in building your business idea, you’ll have to sign a contract and compensate me for my work.

You can’t simply say, “but you told us to build our own webapps as an exercise in the course” as an excuse.

Further, even if you promise me “I’m not using this for my business” there’s no way for me to verify that this is true.

### Conflicts of interest and legal consequences

Another important reason why I can’t assist you with out-of-course content is because I don’t know what you’re using it for.

For example, a student previously asked for help on building a model to discriminate between people using criteria that is illegal in some places.

There’s no way for me to verify that your use-case does not violate any laws or existing contracts I have (as much as you promise me that it’s okay).

### Teaching assistants have been trained on course content only

Another important reason I (or others) cannot assist you with out-of-course content is because the team I’ve hired to oversee the Q&A forums have only been trained on the course content.

They specialize in the course content, but may not have expertise in your particular question if it isn’t directly concerning the content of the course.

### Summary Table

See the table below for a summary of key points:

Course Consulting
Cost Typically $10-$100, one time fee > $250 / h (hourly fee) Scalability Scalable (1-to-many) Not scalable (1-to-1) Topics Predefined (whatever I decided the course is about) Anything you want What you can ask on the Q&A Anything about the course (existing code, data, algorithms) Anything you want Feedback on your code No Yes Help with your dataset No Yes Help with your homework No Yes Help with your job / work task No Yes Ask about similar algorithms not in the course No Yes Personalized No Yes ### More questions: You encourage us to “code by ourselves”, so why can’t you give feedback? The mistake is mixing up 2 separate things: 1) You coding yourself 2) Me providing feedback on your code You can do #1 without #2. I “code by myself” all the time, and I improve my skills greatly using that method. I don’t have a teacher – I teach myself. I experiment, I observe, and I learn from what I observed. This is how you do it. Again, feedback is a separate, personalized service, which I am happy to provide to those who actually signed up for that service. If I wanted feedback on my code from someone more experienced than myself, I would do the same thing – hire a teacher specifically for that task. But (for example), I wouldn’t buy Pattern Recognition & Machine Learning by Christopher Bishop (currently$100 hardcover) and then ask Mr. Bishop to help me with my implementations.

Why? A book is a product, not a service (much like a video course).

Currently, no.

### TL;DR

I love teaching and I love helping people!

But unfortunately, I cannot allow people to take advantage of my generosity when it’s unfair to others or unfair to myself.

I have to be fair in consideration of all my students and clients simultaneously.

# Coding Interview Questions – Bioinformatics Rosalind.info – Finding a motif in DNA (Episode 18)

May 4, 2021

Hello all!

In this video, we’re going to do another coding interview question where I walk you through the process of:

– explaining the problem

– solving the problem

– analyzing the time complexity of the solution

These videos are designed to help you practice for future job interviews where you are required to answer technical whiteboard problems.

The problem we’ll solve can be viewed as a bioinformatics problem, but you don’t have to know anything about biology! Even those who only know basic coding should be able to solve this problem.

I hope this motivates you to realize that “bioinformatics” is not all that different from what you already know how to do – and therefore, contributing to this important and exciting field is totally within your reach.