I need to make the next step and get a good job at a good, non-startup company. I'm tired of working for shitty startups. Here's what you need to know about me. * 46.5 years old * Bachelor's in Mech Eng * Self-taught Perl -> Php -> Ruby on Rails -> Javascript -> Ember -> React * Working as a senior software engineer for 9 years and was a sysadmin/developer for 10 years before that. * I've built many personal and client sites in Rails, all including automated testing * Was a contractor for 3 years charging $165/hr * One of my clients got into YC by leveraging the MPV I built, other clients secured millions in VC $ * Currently making $165k + .5% equity at a startup (Which is pathetic compared to almost everyone here) My problem is that I have basically no algo foundation since I didn't go to school for CS. I also get extremely nervous during interviews and have trouble doing simple things. Take home tests are no problem if there is no time limit. I feel I have all the practical knowledge required to build just about anything that isn't cutting edge tech. However, as you know, this means nothing for passing the interview. I feel like leetcode isn't quite enough because what I'd really like to have is the ability to quickly look at a problem and know what is the high level solution "type" or algo that should be applied, rather than brute-forcing by memorizing 300 leetcode problems. So, what's your advice for someone in my situation if I want to make it happen in 3 or 4 months? CTCI + leetcode? Online classes? I'm not as fast as I used to be and I'm not a genius dev but I've proven I can build great apps with clean code and fully-automated test suites. I'm 100% sure I can do the job once I pass the interview but I need a better foundation in algos for to achieve it. Thanks in advance for any help and suggestions.
Leetcode for sure. But don't memorize things, try to understand how people's solutions work and keep trying to come up with your own solutions.
If you cant leetcode, that means the sites you built are not leetcode certified🤣
It's not that I "can't" do leetcode problems, I just can't do them quickly or with the 2nd or 3rd level "optimal" solution. Also, let's be honest, 99% of web development doesn't require any advanced algos. Also, just because you can leetcode, it doesn't mean you can build anything.
I would suggest trying to get a job at netflix since they don’t ask many leetcode questions and they pay the highest.
Leetcode if you can - I have no background in CS, so learning algorithms was a huge overhead for me. I had to learn data structures that are not used in my domain un conjunction to algorithms that used them. I did one easy leetcode question a day and looked at the submission to see that there were better runtime than mine and tried to understand what I was not optimizing. Over time it got easier for me but I still struggle some. The nice thing of trying to understand the solution was that I kept seeing it popped up in other algorithms. For interviews in the bigger companies I believe you also need to understand systems design, so cover those as well. There other resources out there besides leetcode. cracking the coding interview books as well as prep courses such as outco, interview kickstart, interviewcamp and YouTube vids. If you are a structured person you might be able to create your own list of studies and not need a prep courses, because they can be costly.
The interview process is biased towards those who are recent college graduates or those who have very high level of motivation towards working in FANG. If you are happy with your income and fine with working in not so name recognized company then why should you bother doing leetcode? However, if you really do want to go and work for FANG then unfortunately you will have to sacrifice your personal time on doing things that perhaps is not very useful.
Kudos to learning so much self taught. Leetcode gets better.
I am a self taught engineer with no college background to speak of and I got a SWE job at FB last year. So it’s entirely possible. I didn’t think I was good at data structures/algorithms either. Leetcode is a fantastic solution. Some people like crosswords, others like sudoku, but I like leetcode problems. They’re like puzzles. View them as a fun little challenge to think about. You don’t need to know complex graph search algorithms to do a great job as a web developer. Sure, that’s true. BUT having knowledge about data structures & algorithms is way more helpful than you’d think. After spending some time learning about DSA’s, I am a much better engineer, even with front end work. Don’t learn data structures and algorithms just to do well in job interviews. It will be boring and you’ll quickly lose interest. Instead, learn about DS&A as a way to become a better engineer, so that you can build even better software and become capable of solving bigger engineering challenges.
Please share how you prepared.
World Conflicts
Yesterday
437
Israel prevents Palestinians from gathering rainwater? Seems wrong on so many levels to me
Tech Industry
Yesterday
704
Programmers are the smartest people in the world
World Conflicts
Yesterday
702
Blind is an antisemitic cesspool
India
Yesterday
986
Why Worshipping Lord Ram Important in Hinduism?
Tech Industry
Yesterday
1799
15 years age difference, need advice! 🙏
Honestly, it’s all just about practice. Just allocate a couple hours each day to spend on those problems to get comfortable with. You don’t need to be a genius and there’s no secret sauce. Well, there is. You have to put in the time. It’s really that simple.