Qiong Michaels

Qiong Michaels

Mentor
Rising Codementor
US$99.00
For every 15 mins
free badge
First 15 mins free for your first session
ABOUT ME
Offering software development and consulting services to businesses
Offering software development and consulting services to businesses

I am a senior software engineer, and ex-Googler, with a proven track record of making significant and self-directed contributions to challenging and complex large-scale enterprise backend API services and infrastructure components.

This journey has equipped me with versatile skills in full-stack development, cloud computing, CI/CD pipeline configuration, infrastructure automation, identify/access managment, SSL/TLS Security, implementing monitoring solutions, handling log analysis, system administration, network automation and more.

I am passionate about coding and highly proficient in Python and OOP programming, with a solid understanding of algorithms and data structures. Additionally, I have practical experience in architecture and system design.

Pleasure to collaborate with, and work alongside skilled and professional peers.

Cheers!

********************************** FAANG Interview **********************************

The overall coding interview duration is 45 minutes, however at least 5 minutes must be spent before the interview questions and 5 minutes afterward for the candidate to ask questions. So the actual coding time is 35 minutes or less, depending on how your luck goes. Correct me if I'm wrong. The candidate will have a maximum of 17 minutes and 30 seconds to finish the questions only if the introduction and post questions take no more than 10 minutes. I timed myself to just type out an optimal solution for a medium level question without thinking and without making any mistakes. It takes me about 5 minutes, but if the question is partly written, the candidate is more likely have to ask the interviewer to elaborate and clarify it, which could add at least a few minutes. Let's assume 3 minutes is the minimum; if the interviewer asks you to describe your thoughts and solution while you're coding, that's at least another 3 minutes talk. So this means you have a maximum of 6 minutes to think about your solution, this also includes reviewing any errors you made after you write your solution. Forget about processing from brutal force to best solution. Just write down the best solution as fast as you can.

If your interview situation is as mentioned above, or even better (they will need to bend a rule for you), and you have excellent coding abilities, you should be able to come up with the best solution, write it down, review it, and debug it in 11 minutes or less, You might get your dream job with a great salary. However, if you look carefully, you'll notice that many aspects are outside your control, and they have a significant impact on whether you win or lose. It's like winning the lottery: more than half of your chances depend on luck and how much they like you. Here's why:

1. The introductory talk could be longer or shorter. It's not up to you.

2. Each solution for each question could more/less than 5 minutes of typing without thinking and making any mistakes.Medium-level Leetcode problems may be appropriate, but tbh I doubt answers for most hard leetcode problems require less than 5 minutes of typing. What questions you get depends on your luck. I mean, if the solutions to two questions take more than 10 minutes of typing, you're practically out of luck, it's difficult to finish on time by anyone.

3. If questions are half written down without even a few samples of input and output, you'll need time to ask for all the details. Add that to your luck.

4.There isn't time to explain the solution to the interviewer. If you get the correct answer and have to explain it to the interviewer and walk through it before you can solve the next problem, you won't have time to solve the following one. Take a look at the time of actions listed above and calculate it yourself. You might be out of luck!

5. Hopefully, you have an intervewer who is articulate and speaks at a good pace , getting straight to the point without misunderstanding you. Misunderstanding each other in a heated moment like this might freeze or fry your brain. Good luck! : )

Do the interviews with FAANG if :

* You want to beat your ego *

I used to work at Google. The first thing I heard from the tech lead was that they didn't care about algorithms or data structures. They forgot about it after they left school. I also confirmed this with my FAANG interviewers. Their projects do not make extensive use of the algo/data structures for which you are being tested. Do not get me wrong. Set aside algo/data structures, it's an useful test for your coding skills, as being able to code out the problem in almost unreasonable amount of time requires excellent coding skills. If you pass it, you may have better coding skills than many other engineers in other companies that are less demanding in the coding interview. Because, if you pass, you may have set a new benchmark. Yay! I have interviewed for L4/SDEIII at Google, Principal at Amazon and E6 Meta.

The interview with Meta the second time was awful and extremely unprofessional. They lied to me. I had an interview with them three months ago and have yet to pass the waiting period. A recruiter contacted me, asking if I wanted to be interviewed again. I told her on the phone that I had an interview three months ago and was still waiting. She mentioned that the interviewer was impressed with my performance in the last interview, so they wanted to give me another chance. I accepted the invitation and postponed everything I was doing for weeks, including moving, applying for other jobs, in order to focus solely on studying for the interview, and even had a mock interview with them.(The mock interivew was fantastic. As with my previous interview three months ago, the interviewer for the mock interview was incredibly experienced and knowledgeable. I learned a lot about the coding interview for this round.) Then a few days before the interview, they told me I'm not illegible after I told them I would like to apply to a L5/E5 that could make it easier for me to pass the interview.Because I was tested twice during their interviews, I was able to solve at least one problem; unlike L6/E6, L5/E5 may only have one or two to solve. If the interviewer asks less questions after I have given the correct answer, and I explain my optimal solution to the first problem more quickly, as well as walk through it quickly(you are not supposed to run the code to test it), I might have enough time to complete the second problem if I can solve it. It seemed they didn't want to give me a chance to pass. That is why they didn't place me on a appropriate level in the first place, and why they changed their minds and made my status illegible again when I informed them that I wanted to apply to L5/E5. They seemed to want me to choose either complete the harder one L6/E6 or wait 9 months to apply for a low-paying job that I am unlikely to be interested in. Because I chose to apply L5/E5, I lost the opportunity to be interviewed now.

Another thing to keep in mind is that they will request you to rate their recruiting process at the beginning, not at the end of the process and the rating form will expire even before your schedule your mock interview. Of course, every candidate will most likely give them a positive rating because the opportunity was provided. So did I. However, to me it turned out to be a complete waste of my time and money, which deserves zero star. Honestly, I felt like being scammed in some way and I probaby won't recommend to anyone to apply.

I'm not sure about Microsoft, Apple, Netflix, or Nvidia because I never received an interview invitation regardless of the level of SDE I applied for. lol. I feel burned out, and I honestly don't believe I'm their preferred person to hire. If they wanted to recruit me, they would have discussed a suitable position and compensation. The pay I sought for is far from their top tier, but rather around L4/5 for someone with strong coding abilities and 10+ years of IT experience. It is not unreasonable, but unfornately it has never worked out with any of their FTE positions.

* They like you for some reason(most important), not your skills/experience *

I hate to say this, but I bet it's true.

HR has a significant impact on the coding interview process. Because, as discussed above, the quality of your interviewer (speed, clarity, variety of questions, etc.) is critical to your success. The problem is that if your HR coordinator can choose which interviewer to interview you, obviously they can influence the outcome of the interview. The HR process is designed to facilitate the interview process but not to make business decisions or affect on the outcome of the interviews.

Similarly to how the interview questions must be carefully chosen, pre-approved, and confidential until the interview time arrives, the interviewer should be treated in the same way to ensure the process is not biased and modified away from the design. By automating the process with automated tools, it is possible that HR will not need to know the name of the interviewer and interviewee while requesting, arranging interviews and passing on the feedback.

Scams exist because of ambiguous and confusing rules/process. Perhaps by doing so, businesses will be able to effectively prevent frauds, bias, and corrupted interivews inside the fuzzy hiring process in the labor market, as well as tear down the wall formed by the flawed HR procedure. I believe there are many talented and skilled people in our countries, and our companies simply need to reform/improve the current hiring process to provide fair opportunities for all and save the labor market from being destroyed by favoritism, unfair competition, and a corrupted/manipulated hiring process.

FAANG jobs often do not involve considerable understanding of algorithms/data or Leetcode problem solving techniques. You are studying a different skill set only for the sake of passing the interview. If you pass, you could get the job if they like you. If you don't, they can hire someone else who did not pass the interview to do the same job. This gives an excuse not to hire someone with exceptional coding abilities who might fail the exam due to a lack of "the luck" discussed above, but they can still hire those with none or very limited knowledge of algorithms/data structures who doesn't have exceptional coding abilities as required in the interview and will almost certainly fail the coding test or workers of any quality to do the job through various types of hiring, as long as they are on the fav list/hiring agenda. However, the quality of the code could make a significant difference. That's where most bugs originate from. Because of faulty logic/design/architecture/configeration, the code frequently needs to be rewritten entirely, and the impact could be massive if the code is released and used elsewhere. Not to mention the security flaws/vulnerabilities that bugs produce.

* You can afford expensive Lottery tickets *

If you are young, time and money aren't a major concern. Then find FAANG companies that like you and can offer you a fair opportunity in the long interview process, then it can be worth spending months/years to study something you will not use much at work and look for a result.

669-900-9959

prowork.dev1010@gmail.com

Central Time (US & Canada) (-05:00)
Joined December 2023
EXPERTISE
10 years experience
7 years experience
5 years experience
4 years experience
3 years experience
7 years experience
6 years experience

REVIEWS FROM CLIENTS

Qiong's profile has been carefully vetted and approved as a Codementor. Connect with Qiong now, and leave a review for them once you're done!
EMPLOYMENTS
SENIOR SOFTWARE ENGINEER IV
Bank of America
2022-12-01-2023-06-01

Working on the Quartz core platform team building engines for that manage roles, permissions, and policies with the capability to perf...

Working on the Quartz core platform team building engines for that manage roles, permissions, and policies with the capability to perform permission checks and queries for given roles/resources, allowing granular control over resources access.

  • Implemented planned features, seamlessly translated business logic into technical requirements, and designed algorithmic solutions for optimal performance.
  • Identified security vulnerabilities, developed testing plans, and provided testing examples for poorly maintained modules.
  • Collaborated closely with cross-functional teams to understand their requirements and implement solutions that align with needs of the business, this involved designing and implementing various automated tasks, such as managing RBAC permissions, sending email notifications, generating audit and business analysis reports, as well as addressing any other requirements or challenges during the process to ensure seamless integration with the overall system.
  • Mentored/supported junior developers by conducting code reviews, offering constructive feedback, and helping identifying and resolving bugs in tickets that posed difficulties for them.
Python
ACL
Quartz
View more
Python
ACL
Quartz
Standard library
Identity Management
View more
VP SOFTWARE ENGINEER
JPMorganChase
2021-09-01-2022-11-01

Working on the backend with Python to develop internal APIs that are used to automate common internal site operations such as SSL/TLS ...

Working on the backend with Python to develop internal APIs that are used to automate common internal site operations such as SSL/TLS certificate management, allowing Users to choose to either manually or auto create/renew/revoke certificates.

The app also supports a series of miscellaneous tasks, this includes, but is not limited to automating internal permission requests for all certificate operations, validating hosts, deploying certificates to the validated hosts with several deployment options at the user’s disposal, aiding the user to generate CSR or to validate user submitted CSR, decoding CSR for convenient look-up , traffic management, and generating site tokens and reports, etc.

Automated infrastructure resources with Terraform, automated the pipeline to deploy with AWS EKS, configured and managed other AWS services.

Python
Django
Oracle
View more
Python
Django
Oracle
Bash
Encryption
Jenkins
Cassandra
SSL Certificate
JMeter
Sonar
pytest
Standard library
ServiceNow
DynamoDB
Splunk
Kubernetes
Swagger
Pki
Terraform
Control-M
CI/CD
Dynatrace
RESTful API
Jira/confluence
Message queuing
AWS (Amazon Web Services)
View more
SOFTWARE ENGINEER
Google
2019-07-01-2021-02-01

Worked in Python as the primary language used to develop, test, deploy, maintain and support a collection of Google internal Human Res...

Worked in Python as the primary language used to develop, test, deploy, maintain and support a collection of Google internal Human Resources tools using Google internal APIs, proprietary libraries and Google cloud platforms.

Responsibilities/Tasks include:

  • Migrated 10+ projects that were running on App Engine to a new Google container. This includes but not limited to refactoring logics, tests and configurations, switching/updating dependencies and performing functional tests /regression tests , debugging any migration issues and designing/implementing workaround solutions.
  • Debugged and fixed any backend/frontend issues reported by product owners and project managers.
  • Migrated 10+ projects from Python2 to Python3. This includes but not limited to refactoring logics, tests and configurations, switching/updating dependencies and performing functional tests /regression tests, debugging any migration issues and designing/implementing workaround solutions.
  • Migrated 10+ projects from REST APIs to gRPC. This includes but not limited to refactoring logics, tests and configurations, switching/updating dependencies and performing functional tests /regression tests, debugging any migration issues and designing/implementing workaround solutions.
Python
Django
MySQL
View more
Python
Django
MySQL
Flask
HTML
Linux
Bash
PostgreSQL
TypeScript
ACL
Rpc
Google BigQuery
Google Cloud Platform
Standard library
CSS
JavaScript
ClojureScript
gRPC
CI/CD
Bazel
Web Application
RESTful API
Jira/confluence
Monitoring Tools
Grpc/protobuf
View more