So short background. I’m a self taught web developer who lucked into working at a friend’s startup with practically no skills and only a couple basic CRUD to do style apps under my belt. I learned a lot, but never touched DSA. Did this for a couple years. Startup failed to get its last round of funding, and yep, I’m outta work.
My cousin works as a data engineer in a city a couple hundred miles north of me and wants me to get a software job so I can move up there and out of my parents place.
Most of the devs I’ve met from there are supportive of my journey, but emphasize I need to grind Leetcode. Only been doing that a couple weeks now.
My cousin called me and set up a call with a startup founder. I talked with him this morning and was very honest about my skills. He was also honest and said he needed somebody pretty comfortable with DSA as the application they work on is heavy utilizing ML.
He asked if I’d still like to do a Technical Interview and of course I said yes, making sure to emphasize I was probably going to perform poorly but was very thankful for the opportunity, and that I’d be treating this more as a practice mock interview. The founder was like “Well, at least you know your standing. And perhaps I can give you some pointers about how to proceed.”
Super good stuff actually. I mean, obviously it’d be better if I actually was prepared, but I’ll take what I can get in terms of feedback.
I’m nervous, I’ve never coded live and I can barely keep twosum in my head. Fuck. I’m about to waste this guy’s time and will probably just look at his problem for two minutes, ask a few constraint or details questions and then just say, “Sorry…I don’t even know which data structure to implement.”
Anyways, I hate to be so defeatist about it, but I just know I haven’t prepared enough. Oh well. Thanks for any sympathetic responses in advance.
I work in a company where we create a large software product. Over 80 devellopers in my department alone, working on the same product.
I have noticed 2 types of devellopers that are equally necesary for our department to run smoothly.
The first type is the one you are trying to be, but feel you can’t be: the one that will conjure up complex systems from scratch. I do consider myself one of these.
The latter one I have much more respect for, as they can do things I can’t do as well.
The second type looks at existing systems, code, and solutions, and finds problems in them or tapes them together into a bigger solution. They have heard of issues with a system somewhere before, causing them to debug into the right direction much faster. And they are excellent at reading code and documentation, allowing them to use exiting solutions much easier. Despite them not being the best at creating entirely new solutions, In such a large software product, their skills are extremely valuable.
I get the feeling you would fit into the second category. If so, my suggestion is to look for a position as an integrator. Someone who puts all the code of others together, and debugs the resulting system as a whole. You literally spend your time taping existing stuff together, while you can delegate creating new solutions to the people who create the software you stich together. These other devellopers are your chatGPT for the problems that chatGPT can’t solve.
Thank you. I’ll look into that. It sounds like integration involves a decent amount of testing as well, which I have a sort of love/hate relationship with, but ultimately need far more experience in to really make a judgment on.
When I first started learning, I kept on telling my mentor I had the hardest time figuring out what to make for personal projects and ultimately just wanted to be given problems to solve. He did say something along the lines of what you’re telling me, though worded quite differently.
Anyways, I’ll stop meandering. Thanks for the advice!