I have a non-traditional job history and degree. I entered software engineering only within the last couple years and wouldn't want to do anything else for work. I am not familiar with the culture or community surrounding tech; this site felt like finding out where the adults comes to meet and doscuss, which is refreshing. This site is no reddit. I am owning my area at my current job but I don't feel like I am growing into a more mature, experienced engineer; that I'm bottled into being good at working this role/company but not adaptable enough to jump to other tech companies or move onto bigger and better things. I wouldn't make it at a FAANG, I know that much. I feel I have other non-Engineering strengths because of my background, which help me excel, but that doesn't come across well on paper or in interviews. 1. What's a LC? 2. How would I practice those? 3. For someone with only a few applicable years of experience in Engineeeing and no Comp Sci degree, what areas should I focus on developing? 4. I noticed when people leave my company, they tend to end up in similar places i.e. recruiter left and then recruits someone from the company they leave. Is it really all down to who you know and I should just build good relationships with people and wait? 5. How would I find a good recruiter / agent to advocate on my behalf? I get LinkedIn hits but it feels like mass-marketing looking for a fish. I want to see my options for next year as I feel undervalued and underdeveloped within my current org. Thank you!
I found answers for 1 and 2. This site was helpful: https://leetcode.com/problemset/all/ For the others -- I guess just give it time and network.
You'll figure it out with time. Most of the engineering hiring process really comes down to practicing system design and leetcode. It's pretty standard through a lot of big companies. Leverage whatever experience you have and try to network with recruiters, hiring managers, and other engineers on LinkedIn. Get some interviews. And keep practicing. All you need is an offer from one good company and it could make a world of difference for your options when you decide to move to job #3 and so forth.
What kind of non-engineering strengths do you have? In my experience these typically don't count for much. Communication skills are important but they are a dime a dozen. Math skills can be helpful in some areas, but overall the demand for them is weak. Long story short, the game is all about mad engineering skills.
Strong work ethic, communication skills, coordinating activity among different parties, fast learning of other systems, using all that to bridge gaps. I am a great researcher / investigator and have a mind to make sure code is reusable, documented and/or tracable for future people to maintain. I get stuff done. I have experience with financial systems so I have gravitated towards payment processing and ETL pipelines. I feel like laying all this out is some baseline of expectation (or below it), but it isn't the norm with some of my co-workers. Our talent standards may be one reason I was able to transition into my current role and why I am looking for something better where I have more growth opportunities. I interviewed at Bird once, and although I did well enough on a Scala code test modeling data and programming functionally, I bombed the interview -- designing high-capacity, scalable systems, the type of which I assume is the bread and butter of FAANG isn't the type of engineering work I am exposed to. Never worked on a large team. I am not going to your Microsofts or Silicon Valley, I have accepted that, but surely there is more out there.
The large systems used at big tech companies are actually not that hard to understand at a high level. Sure, there are lots of details there, and one needs to spend a lot of time, methodically, to learn them. But, importantly, no exceptional intellectual capacity is needed there. So if you indeed can learn systems fast, that should be good enough. I'm not sure why you accepted that you are not going to Microsoft etc. You can do it, just need some time to acquire some knowledge.