My name is Ihsan and I'm here with my co-founder Jason. At our previous companies we were on both sides of the classic systems design interview, and found the remote experience to be far from ideal. We were frustrated that existing tools didn't support real time cursor and shape movements, easy access to common symbols used in software engineering, and a dashboard for managing the interview experience. The world has found itself having to adapt to remote work because of COVID-19.
The effects on remote interviewing are watered down experiences conducted through google docs and google draw. These options are far from ideal, require less complex questions to be asked, and lower the overall integrity of the systems design interview. We weren't the only ones who had this problem. Today we're launching DesignPad beta to uphold the quality of systems design interviews across the industry. A painless and fair evaluation is deserved by both the company and interviewee.
Our goal is to provide you a fully functioning platform to conduct system design interviews remotely without compromising the integrity of the interview.
What can it do? Realtime collaboration (shapes, text, arrows, cursor locations) Suite of shapes commonly used in engineering design Fully functioning dashboard equipped with archived rooms, screenshots, and scheduling Mobile support, touch through phones and tablets are natural to whiteboarding, fully supported on DesignPad!
Thank you! I was reading through the comments wondering how no one has seen through the bullshit veil purported by the title, followed by a detailed outline of their migration which I think is the "shiny object" to distract people from an unfounded argument.
The main advantage of the migration was getting onto a fully managed DB. What we didn't mention was that there were also huge cost implications - savings of ~£40k - through switching to RDS - compared to paying for a mongo support contract.
As parent mentions, comparison with ==/=== are "broken" for arrays or classes. Or more accurately, they now do reference comparisons instead of value comparisons. This means you have to replace a lot of this (using Flash/ActionScript as the example here):
function updateIcon(id: int, ...) {
for (var icon in icons) {
if (icon.id === id) {
...
}
}
}
With, say, something like this:
function updateIcon(id: Ptr, ...) {
for (var icon in icons) {
if (Ptr.compare(icon.id, id) === 0) {
...
}
}
}
Or:
function updateIcon(id: Array, ...) {
for (var icon in icons) {
if (ObjectUtil.compare(icon.id, id) === 0) {
...
}
}
}
Assuming you want to preserve the exact semantics of the existing code. If you miss a single comparison, your code will still compile. You will get no runtime exceptions, because == and === are still legal. It'll just have a subtle runtime flaw that will only manifest itself if two interop sites construct the same pointer value as different Ptr or array instances without interning (read: caching/leaking Ptr or array instances, which has it's own problems.) You cannot override == or === to do the right thing (tm) either.
In the unlikely event you do a large refactoring or conversion completely flawlessly, your coworker's muscle memory will, rather understandably, still end up causing problems.
function updateIcon(id: String, ...) {
for (var icon in icons) {
if (icon.id === id) {
...
}
}
}
This is less refactoring, and just works(tm), because String ==/=== already compares the value of the strings. No muscle memory to update, easier to print in debug and trace statements, etc...
I'm not sure what your basis of a bad reputation is, but, I've been working at TopHat for the past 10+ months as part of their engineering team and it's been my favourite internship thus far (I've had 2 previous internships in development). As far as I know, myself and one other UofT student are the first PEY's to have been hired, and our current opinions of the company are quite high.
To highlight some extraneous comments regarding mentorship, it should be known that the teams are sized to about 5-8 people, with a team lead & product manager facilitating each team. Bi-weekly one-on-one's are in place to catch up with your respective lead and talk about your experience thus far, goals for the future, and really providing a basis of mentorship and growth. Higher ups such as the VP's are always accessible throughout the day to chat; we're pretty open.
If you have further questions, feel free to comment below and I'll get back to you ASAP! ^^
My negative comments on the reputation of the company come from 3rd hand sources (possibly even more hands). I'm glad you're finding your experience to be fruitful; I will add it as a datapoint to my understanding of the perceived reputation of the company.
Do U of T students like the software TopHat produces?
The interview experience is terrible. I completed a much more ambitious project than I needed to, demonstrating the ability to pick up a complex new framework quickly (React Native). I also implemented a very thorough auth system demonstrating mastery of secure programming (proper salting, message signing, defense against timing attacks.) That didn't matter one bit, I got denied for omitting a requirement which wasn't in the listed requirements and for not communicating to clarify the requirements. Whilst I understand the value of timely communication with real clients, I assumed these guys could get their own assignment requirements correct.
In addition to all this, you will get a much lower rate than you're expecting. While it's true that you set your own rate, they basically told me if I don't charge at the same below-salary rates as the rest of the people on their network, they won't send business my way.
So huge waste of time on the interview, plus you'll make less than a salaried position for the advantage of sporadic work and no benefits. Stay away if you know what's good for you!
Were you interviewing for one of the Core developer teams (the ones actually building Toptal), or for Toptal to work as a freelance developer (to work on Client projects)?
Toptal has a lot of open (internal) positions and their interview process is different than when applying to work on Toptal as a freelancer. Everyone on the Core development team is remote.
Is there anything positive anyone who uses toptal can share about them vs other services? It seems others are concerned about the interview process and rate fixing
The good things are you don't have to chase down clients for payment or constantly hustle for gigs like other freelancer sites, it's like a temp agency they do all that for you, and you work for established companies (AirBnB ect) so hopefully the person telling you what to do has an idea of what they're doing instead of constantly asking for the impossible. You can also easily set own hours, so check in and out whenever you want.
The bad of course is wages unless you're living in a country with a very low cost of living or you just want to use toptal to gain remote work experience and don't mind not being payed Silicon Valley standard then it's probably not worth it to you to work there being there's dozens of jobs on hnhiring threads and other sites that will pay at least 2-3x as much.
Wow thanks for the HN thread. From that it looks like they were called out for practices and decided to astroturf the thread with fake positive views. There are a couple of 'current toptal users/devs' on there that clearly just created their account for the thread and never posted again after.
Doesn't seem like they are a 'top 3%' themselves honestly.
My name is Ihsan and I'm here with my co-founder Jason. At our previous companies we were on both sides of the classic systems design interview, and found the remote experience to be far from ideal. We were frustrated that existing tools didn't support real time cursor and shape movements, easy access to common symbols used in software engineering, and a dashboard for managing the interview experience. The world has found itself having to adapt to remote work because of COVID-19.
The effects on remote interviewing are watered down experiences conducted through google docs and google draw. These options are far from ideal, require less complex questions to be asked, and lower the overall integrity of the systems design interview. We weren't the only ones who had this problem. Today we're launching DesignPad beta to uphold the quality of systems design interviews across the industry. A painless and fair evaluation is deserved by both the company and interviewee.
Our goal is to provide you a fully functioning platform to conduct system design interviews remotely without compromising the integrity of the interview.
Here is a DEMO of our beta! https://m.youtube.com/watch?feature=emb_title&v=V2EijbEVWmI
What can it do? Realtime collaboration (shapes, text, arrows, cursor locations) Suite of shapes commonly used in engineering design Fully functioning dashboard equipped with archived rooms, screenshots, and scheduling Mobile support, touch through phones and tablets are natural to whiteboarding, fully supported on DesignPad!
How can I get started? 1. Signup at https://designpad.io/signup 2. Check out our user guide at https://www.notion.so/DesignPad-... Let us know what else would be useful for you
Happy Interviewing!