Greg's Codementor FAQ

Codementor badge

Which technologies do you help with?

I'm primarily interested in web programming: full-stack, web scraping and so forth.

My strongest languages are JavaScript and Python. I'm good enough with C, PHP, Ruby, SQL, C++, Perl, Java and a few other languages to help with typical tasks.

Libraries I work with include React, Express, Flask, Puppeteer, Playwright, P5, React Testing Library and Jest. I use Linux, git and GitHub.

Beyond these, I've provided assistance in dozens of other languages, tools and technologies. My Stack Overflow profile has a list of tags I've contributed to, ordered roughly by skill/experience/preference.

If you have a project in mind, feel free to ask even if it might be beyond my scope.

Which technologies/projects do you not help with?

This isn't an exhaustive list, but should give a taste of what I'm not interested in or haven't gotten around to learning yet:

Live CSS debugging, DevOps, infrastructure, data science, machine learning, math other than simple trig for games, enterprise web frameworks like Dotnet and Spring, game frameworks like Unity, UI/UX design, pixel perfect CSS work, "low code" tools, LangChain, mobile apps, web3, smart contracts, Cypress, Selenium, d3, Mongo, Rust, GraphQL, conda, Spark, Electron, Docker, AWS.

What's your experience/education?

I've worked as a programmer since 2018 (at small and mid-size startups) and as a CS/programming educator since 2016. I received a Master's Degree in CS from Georgia Tech in 2021. I've been a mentor on Codementor since March 2022.

What time zone are you in?

Pacific PDT/PST which is UTC-7 from roughly March 10-Nov 10 and UTC-8 the rest of the year.

Will you complete my assignment/exam/job interview for me?

My main goal for my mentees is independence. By doing your assignment, exam or interview for you, I rob you of the learning opportunity and leave you in a less optimal position to tackle future challenges.

Successful sessions are usually ones in which the mentee has grappled with the task and made as much progress as possible under their own steam.

What if I'm not sure where to begin or I'm in over my head on my assignment/task?

I realize the immediate goal is to get the assignment done quickly, but my philosophy is that it's best to start by solidifying basics and finding a simpler problem, even if it seems to slow down progress in the short term. In the long run, building a solid foundation will save time.

I'm happy to help clarify requirements, scope out work and help fill in prerequisite knowledge gaps, then leave it to you to apply the concepts.

I generally avoid helping with last-minute assignments since they tend to evaluate to me doing the work without the mentee absorbing much.

Are you looking for a full-time job?

I'm currently employed full-time, but would be open to a job change for the right position. I'm also interested in long-term freelance or part-time positions.

Can I get a discount?

I try to keep my rates as low as I can, generally less than or equal to the site median. If you're curious, here's some JS code you can run in the browser developer tools to estimate the average and median rates for mentors on the Codementor search page:

var rates = [...document.querySelectorAll(".mentor .rate")]
  .map(e => +e.textContent.match(/\$(\d+)/)[1]);
console.log("mean", rates.reduce((a, e) => a + e, 0) / rates.length);
rates.sort((a, b) => a - b);
console.log("(approximate) median", rates[~~(rates.length / 2)]);

I answer questions on Stack Overflow for free provided I'm interested in the problem and can figure out the answer.

Do you offer long-term mentoring?

Sure, although I generally don't offer a heavy discount for it.

Can I contact you on social, phone or email?

I don't have social accounts but you can obtain my email by running the following Brainfuck code:

++++++++++[>+++++++ +++>+++++++++++>+++ +++>+++++<<<<-]>+++ .>+++++.<.>----.+++ .<+++++.-------.>-- --.>++++.<<++.>-.<- -----.>----.+++.>>- ---.<<<++.>+++.--x.

What if you fail to help me?

This happens from time to time. Programming is complex. Sometimes I get confused, don't have enough background knowledge in a technology or otherwise fail to help. In this case, I'm happy to negotiate a discount relative to how much help I provided, or even provide a full refund if the situation warrants it, in rare cases when I've provided no value.

What's your software/technology philosophy?

I prefer boring technology and grug-brained development. Although I program professionally, I'm really just in it for the fun of solving problems.

I'm looking forward to working together!