Thursday, August 20, 2020

White Hat Junior Teacher Recruitment - My Experience

PS: Post is not complete. Will add more structure to it later. I don't expect any visitors soon, but if you are somehow reading it, do put a comment below if you have queries.

Onto the matter:

So it so happened that one day I was intrigued by the ads all over the internet about White Hat Jr recruiting ex-IT employees (female) to teach coding online. Flexible hours and working from home were the catch phrases. I clicked on apply and gave my info.

I received a call within few hours and they said that since they give extensive training, I need to teach minimum 35 hours per week, between 11pm to 7 am. Basically, a night shift. I told I will give a thought and then kind of left it. Two days later, I received a call and I told I am not interested. It was tough with kids and everyone at home 24x7.

I received another call few weeks later when they told that I need to teach only 30 hours in a week, between 1 pm to 8 30 am. That sounded reasonable and I agreed. I could put few hours in the afternoon and early morning if needed.

Requirements
Laptop
Broadband with min 20MBps( not Dongle internet like  JioFi)
Headset with mic preferred
Prior coding experience
Good communication skills

Telephonic Interview and Tech Setup

I had a telephonic discussion with the recruiter and the demo 1 was scheduled. After that, I had a tech session with a guy who explained how the demo 1 will work. They also created a dashboard  which showed my progress through 3 demos and going live by 10 days. They also shared a 50 page PDF document. I was asked to learn first 24 pages of the document and use it to teach in demo 1.
 
The PDF 
It is a 50 page document which has all data required to take the demo - app creation, panel work, talking to parents about all the courses and curriculum offered and even statements to appreciate the kid. A fully fledged step by step document. Like show Activity 3 and after Activity 3, show these two links. Then show activity 4, then activity 5, then activity 6 and so on.

For the PDF provided to me, the child is supposed to make an app and will involve dragging and dropping code blocks and make minor changes in the same. There are no text based coding involved in this demo. The child will get an intro about it. The programming language used in Javascript.  I don't know it.
 
It also has some additional programmatic features that can be added to the app that the child created.

Demo 1
I had seen a sample demo 1 video and tried to emulate the lady in my session. I need to take the class assuming that the interviewer is a child with the parents. I made several mistakes and struggled with the panel work. When I say panel work, it is basically sharing your screen, chatting with the student, then guiding the child to share his/her screen etc.  The interviewer corrected me and gave a lot of feedback. I agreed to work on all that. Following the PDF is the major keyword.

Demo 2 - 1st attempt

I practiced and familiarized myself with the PDF more and appeared again. I was required to prepare the entire PDF which included enhancements to the app that child will create in the demo 1 session. Now let us talk about the PDF
 
 I was more confident about steps, did what was required.  But Mr R was not satisfied and gave a lot of feedback about the session. He told that I need to take him the class again after working on the feedback. I needed to improve on my bonding with the child, be more interactive, tell all the possible statements. You know I missed telling about advanced space technology, their mars rover simulation, Arduino chip etc. It is a different story what anyone will understand much from a very short video.

Demo 2 - Second attempt

I worked on all the feedback and did all the steps correctly, but was quite quick. I completed the session in around 30 mins :D So again received the feedback. So he said he will have another session with me.

At this point I realized few things,

1. I was supposed to have 1 telephonic and 3 demo rounds. So whenever Mr R is scheduling another demo, I was still in Demo 2 round. This was not told to me. I figured it out from the dashboard. So there is a long way ahead in the process. 

2. The emphasis is 95% on the PDF. Somehow the PDF is the magic potion here. If the teacher delivers it as per it, the student will enroll for it. Basically, you need to mug it up, understand it as much as possible and deliver it to the students & parents as it will be tough to read the document when you are actually taking the session. 

3. The PDF is the document that the teacher will use to take demo classes to potential students who signup for the free demo session. So in all these interviews, the emphasis is on following the PDF is because the teacher will be teaching the exact same thing to many students for all demo sessions she will be taking. So any deviation from the PDF is not good.

4. Then the teachers are expected to use some sort of voice modulation in expressing happiness, accomplishment etc. I failed miserably in it. You know I felt fake uttering meaningless words written in the PDF to make the child happy.

Demo 2 - Third attempt
 
So Mr R gave me another date and time to work on the PDF. By this time, I had lost most of my interest in the process. Mr R emphasized on growing a bond with the child. Of course all statements, examples are written in the PDF. But he didn't even ask me about my technical /personal background or any other details in all these sessions. He was not rude and was very helpful in pointing out my mistakes in a professional way.

I had a chat with my husband and based on the small pieces of info, I got across the internet, I realized that this is not an opportunity that I should pursue. Remember, you are totally unavailable to your family who is 24x7 and I have young children at home. And the money you earn is totally dependent on your marketing skills rather than your coding skills. Naah, I am not that confident about it.

 So I called up Mr R and told him that I am not interested in pursuing the opportunity. Hopefully I saved him an hour, I did save few hours of mine by not investing it for preparing for the demo.
 
Let us talk about the money!

Then I did some research on how the teacher gets paid. So 30 hours per week which translates to 120 hour per month is mandatory. It has a guaranteed pay of 10000. Then for each trial class,  she will get paid Rs 50 per hour...So if she take only 120 hours of trial class, she will be paid approximately 10000 + 50*120 which is 16000 rs.

If you are lucky, few of these free trial classes will be converted into paid sessions  and the student will enroll for the courses. Then the teacher will be paid 275 or 325 rs per hour. Basically WhiteHat Jr will pay you 50 rs to get thousands worth of money from parents.

Basically you are the main marketing face of the company and they will pay you Rs 50  for that. The teacher needs to showcase the curriculum including the advanced curriculum and then sell it to the parents and then get paid so less. I felt it is so less for all the hard work being done (minimu wage anyone? ) and what if the parent liked you, but is not ready to sign up for paid sessions for different reasons.

 I realized that I signed up for an opportunity to teach and I will be a marketing person for a meager amount. And there is not much coding involved in the process, atleast in the initial months.

Then let us do some calculations - 120*275 + 10000 is 43k. This is the amount you will gain if you are able to take all 120 classes in the Indian time. But if you are able to work at night, you might be getting paid around 500 or more per hour which 120*500 + 10000 is 70k.

Remember 120 is minimum and you can teach 24 hours in a day. So the income (16k ~ 1L) is quite good if you have the passion and time to teach. Do anticipate time to clear doubts for each student and some time for preparation.

Pros:

They seem to have an excellent curriculum charted out and it looked promising. You, as a teacher will learn lots of new things which will increase your knowledge. I regret this part of losing the opportunity to learn. But I am sure I can learn all those elsewhere too, probably in my own terms.

Excellent opportunity in terms of money especially for women who had some IT experience and couldn't pursue it further. Also for freshers and people who are interested in home based work due to various reasons.

Why I said no! 
 
At this point, I should say that I do not have the clear picture of the whole thing. I had asked the terms and conditions initially and they mentioned that it will be told once selected. The requirement of 30 hr/week was asked and I had agreed to it.
 
Overall, this is an opportunity for women who wanted to pursue a WFH opportunity and the money is good. But as an IT professional  with few years of experience and who is on a voluntary career break with young children, this is not an opportunity suitable for me currently.

I was not keen on mugging up so many things and the whole process was keen on my teaching skills rather than my technical knowledge or understanding .  I will be delivering a heavily scripted session ( read PDF based session) to potential students and getting them to enroll for courses. Heard that there are phone calls and SMS to chase the parents to sign up if they don't do it after the trial class.

I felt it is more of a marketing job than a teaching job. I was not sure about the whole activity based teaching which is more about accomplishing n set of things in 50 minutes. You know, the child can literally copy my steps and get things done without understanding anything much of it.
 
I had already seen so many paid reviews in Quora and other websites and few not so good reviews scattered here and there across the internet. Remember it is the same company who has been using photos of Sundar Pichai, Indra Nooyi and Google generously in their ads.
 
PS: Hope some of you have heard that none of them are related to the company, but WhiteHat Jr has been recently been acquired by BYJU's.

 Conclusion
 
Good opportunity for women who likes teaching and development and likes to work from home. But not for me...


Friday, December 14, 2018

Program to reverse a single linked list



//Program to reverse a single linked list
//Assumption: Each item in the list, is added as head in the list
// Improv:- modify such that the element is pushed into the last of list
#include <stdio.h>
#include <stdlib.h>

struct node {
  int data;
  struct node *next;
 
};

void reverse(struct node **head)
{
  struct node *travnode = NULL;
  struct node *prevnode = NULL;
  struct node *nextnode = NULL;
  travnode = *head;
  while(travnode !=NULL)
   
  {
    //Storing the next node is important
    nextnode = travnode->next;
    travnode->next = prevnode;
    prevnode = travnode;
    travnode = nextnode;
  }
 
  *head = prevnode; 
 
   printf("%s\n", "Exiting reverse");
}

static void pushlist(struct node **head, int data)
{
    struct node *currentnode = NULL;
    currentnode = malloc(sizeof(struct node *));
    currentnode->data = data;
    currentnode->next = *head;
    *head = currentnode;
}

void print(struct node *headnode)
{
   
  struct node* travnode = headnode;
  while(travnode!=NULL) {
    printf("%d\t", travnode->data);
    travnode = travnode->next;
   
  }
 
}

int main()
{
 
  int a= 0, b=0, c=0, d=0, e=0;
  struct node *head = NULL;
  printf(" Enter 5 nos :\n");
  scanf( "%d %d %d %d %d", &a, &b, &c, &d, &e);
  pushlist(&head, a);
  pushlist(&head, b);
  pushlist(&head,c);
  pushlist(&head,d);
  pushlist(&head,e);
  print(head);
  reverse (&head);
  print(head);
       
  return 0;
 
}

Sample Output:
Enter 5 nos :
99 88 77 66 55
55  66  77  88  99  Exiting reverse
99  88  77  66  55

Thursday, September 20, 2018

Method to find XOR of two numbers without using XOR operator

I need to find an optimized solution for this interview question. When I mention optimized, it should be truly optimized without over complicating the code.
For the time being, I have written down a not-so optimized code. This will require further testing.


#include <stdio.h>
unsigned int find_xor(unsigned int a,unsigned int b);
int main()
{
    int a, b,c;
    scanf("%d %d", &a,&b);
    c = find_xor((unsigned int)a,(unsigned int)b);
    printf("The xor is %x",c);
    //get(c);
    return 0;
}

unsigned int find_xor(unsigned int a,unsigned int b)
{
 unsigned int c = 0, i=0,d = 0;
 unsigned int a1,b1;
  printf("The a %x b %x \n",a,b);
 while ( (a || b) && (i<32))
 {
     a1 = a &1;
     b1 = b &1;
     printf("The a1 %x b1 %x \n",a1,b1);
     if((a1 != b1)) {
      c = (c<<1)|(1);
      printf("The c %x  \n",c);
     }

     i++;
     a = a>>1;
     b= b>>1;
  }
  //the bits are reverse
   printf("The xor is %x",c);
     while (c) {
         d = (d<<1) |(c & 0x1);
         c = c>>1;
        
     }
 c = d;
 return c;
   
}

Tuesday, June 27, 2017

Learning Python - Online Resources

I have been planning to learn Python for some time and needs some motivation to do so. So here are few links which I intend to use in future.

1. https://www.codecademy.com/learn/python
2.  http://www.python-course.eu/

I am planning to expand this post as I go along. But here are starting point for me currently. 

Saturday, July 2, 2016

Finding NVMe Passthru handle - UEFI Edk2.5

One of the challenge when I started working on NVMe devices in UEFI driver was the lack of sample code which can leverage the NvmExpressDxe code in the Edk2.5 code.

At this point, let me add that there is a quite a bit of different in the NvmExpressDxe code in Edk2 and Edk2.5.

1. The major difference is the GUID itself. Then all the data structures for sending command, completion etc are different. This is an important point - If you are using the wrong GUID, you will not be able to communicate with your NVMe driver using pass thru protocol.

2. The location of the NvmExpressPassthru.h is different in Edk2.5. You can find it in Edk_2.5\MdePkg\Include\Protocol. This file was previously included in the NvmExpressDxe folder in MdeModulePkg.

So here is a bit of reference code that can be used. Refer Edk2.5 code for better clarity.

#define EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL_GUID \
  { \
    0x52c78312, 0x8edc, 0x4233, { 0x98, 0xf2, 0x1a, 0x1a, 0xa5, 0xe3, 0x88, 0xa5 } \
  }

 EFI_GUID gNvmExpressPassThruProtocolGuid = EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL_GUID;
EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *ptrNvmePassThru = NULL;
We can use the LocateHandleBuffer function to find the handles which has exposed the Nvm Pass thru protocol.

UINTN       NHandles = 0;
    EFI_HANDLE      *Handles = NULL;
        Status = gBS->LocateHandleBuffer (
                ByProtocol,
                &gNvmExpressPassThruProtocolGuid,
                NULL,
                &NHandles,
                &Handles
                );

    if (Status == EFI_NOT_FOUND || NHandles == 0) {
    //
    // If there are no Protocols handles, then return EFI_NOT_FOUND
    //
                return EFI_NOT_FOUND;
    }

    for(Index = 0; Index < NHandles; Index++) {

        Status = gBS->HandleProtocol(
                        Handles[Index],
                        &gNvmExpressPassThruProtocolGuid,
                        (VOID **) &ptrNvmePassThru                      
                        );
        if (EFI_ERROR (Status)) {              continue;
        }
//Use  ptrNvmePassThru for sending identify nvme controller to get the details of the nvme controller
}

This ptrNvmePassThru is the passthru handle required for sending any command to the NVMe device using NVMe passthru protocol.

Note: The above code is very much similar for getting handle who has exposed SATA Pass through protocol or SCSI pass through protocol.

Saturday, February 21, 2015

Custom Blogger to WordPress - Change DNS Records on eNom

update DNS Records. Moving from Custom Blogger blog to self hosted WordPress site

Update DNS Records Self Hosting on Bluehost


When you move you Custom Blogger blog to self hosted WordPress, you need to update your DNS Records with Enom so that the url points to the brand new self-hosted site. If you are moving your Custom Blogger blog to self hosted WordPress, then your DNS Records will need to be updated as shown above.

When you are using the Custom Blogger blog, the DNS Settings would be Default and there will be several details related to Google. You have to click on Edit and then Custom and enter the server names of Bluehost.

Logging into Enom Account


To update DNS Records, you need to login into your Domain Management console of eNom.

https://access.enom.com

Finding the eNom Login Information


To get the login details, you will have to get the eNom login details, login into Google apps

http://www.google.com/a/yourdomain.com

If you have forgotten the login user name, try bloggeradmin@yourdomain.com. This will

allow you to reset your password using your email id and give you access.

Once you login, click on Domains in the Admin Console. This will take you to the Domains Page.Click on Advanced DNS settings to get the eNom Login details to update DNS records.

You can click on Sign in to DNS console to go straight to the eNom Domain Management Page

Update DNS Records for CloudFlare


CloudFlare is a security and anti-spam tool used to protect my WordPress site. It came

with high recommendation and I hope CloudFlare will take care of my security as well as spam concerns about my self hosted WordPress site.

During the setup of CloudFlare on your website, you are asked to update your DNS Records

with CloudFlare details.

Login into eNom account with above login details. The url for the required login is

https://access.enom.com

Once you have logged in, click on Edit for DNS Information and add the CloudFlare DNS Server details. Go back to CloudFlare website and let them know that you have updated the DNS records.

Wait till CloudFlare takes over your website.

Friday, November 21, 2014

Storage Networks Explained - Book Recommendation


I think a good technical book about Storage Networks and other Storage Domain related information is hard to come by especially cheap ones. So here is a recommendation for a great book.

I liked this book very much and felt very bad that I could not get hold of this book when I started my career. I would have learned and understood much more about technical stuffs related to storage and network domain.

This book is priced at Rs 379 INR and will come cheaper if you are ordering it online. I believe I got this from flipkart.com.

If you are into Storage or related Domain, please take care to read this book. It has lots and lots of great information which is difficult to find anywhere else. eg - RAID, SAN, iSCSI etc.