On a basic level I know I’m not alone, but sure could stand to hear it right about now…
Basically, I finished the Front End cert, and have continued to practice algos everyday with either HackerRank, CodingGames and also just found a new one ProjectEuler.net
The thing is…it still takes me a couple hours to solve an algo, even an easy one…and I just feel like at this point it shouldnt still be this hard for me to do. Yesterday while submitting job applications, I came across one that said you need to complete a coding test before submitting an application, and even though I know its anyway part of the process, being faced with it right then and there it hit me how unprepared I am. Like, I knew there was no way on earth Id be able to complete 5 algos in the 90 minutes for that test.
On top off that, on ProjectEuler, it said that the exercises should take around 2m or so to solve…and here I am still taking a couple hours and my solution isnt exactly the most elegant either…Im just trying to solve it. Just kind of feeling discouraged, and also would really appreciate any tips and advice anyone has for me. Thanks!
Have you tried doing a course on data structures and algorithms? Also, do you review your work compared to others? Programming is a skill that needs parameters, often times you need to see how other people work and use those techniques when necessary. From your post, it seems like you finished the front end certificate and then practiced algorithms, right? If it is, it’s completely normal to take a few hours to do even a simple algorithm. This type of knowledge doesn’t really come naturally. You need to constantly practice, but you also need to have the theory to back you up and help you all the way through.
Thanks for the insight, yeah actually Ive been practicing algorithms this whole time while getting my cert and just continuing on with practice cause I need the practice… But yeah, I only just got the cert last weekend so Im still very new to it all.
I know if I keep banging away Ill get to a solution then Ill see how others did it, but you may be right, at this point instead of continuing to bang away to start looking at and learning from other solutions to find and include other techniques. Maybe time to put away my bull-headed drive to do it all by myself and learn from other ways that will help me.
Ive only done coding practice on data structures and algorithms on HackerRank, but a course might be a good way to go…Ill see what I can find.
There are a lot of high quality courses here :https://github.com/open-source-society/computer-science
"CS50" is an introduction to computer science, i highly recommend it to you. I’ve done it after freecodecamp and almost everything in it was new to me. I’m currently doing the “Programming languages part A”, and all courses from open source society are of extremely high quality.
Omg OSS looks amazing!!! Where has this been hiding? lol Thanks so much for this…
Im on Week 8 of CS50 now, just getting started into the Python which Im excited to learn and agree, its an amazing course. Definitely going to look into OSS in more detail and incorporate it into my learning path
Eep sorry not 2 minutes…the one minute rule… on the home page, the first question:
I’ve written my program but should it take days to get to the answer?
Absolutely not! Each problem has been designed according to a “one-minute rule”, which means that although it may take several hours to design a successful algorithm with more difficult problems, an efficient implementation will allow a solution to be obtained on a modestly powered computer in less than one minute.
I think though maybe Im just reading into it too much, def makes me feel better to know it took you a couple hours too. I guess I just saw that “one minute rule” thing and panicked…
refers to the code execution to get the correct answer, so you have to write efficient solutions. With all but maybe 2 of the 35 problems I have solved on Project Euler, you can not use a brute force solution. They have specifically created these problems so that if you were to go with a brute force solution, then some of the problems would takes months for a computer to get the solution. There is typically some math theory which will help you develop a more efficient solution to the problem.
Ohhhhhhh!!! Okay that makes sense thanks so much. I really was psyching myself out then. Yeah, Im going to start making an effort to incorporate reading other code and solutions to learn from them instead of just solving and moving on to the next. Need to work on being able to solve these more efficiently…really doubt that in interview they will wait patiently while I take a couple hours to solve a problem lol I know I can solve a problem given enough time, so I need to focus on how Im solving them.
If you struggled on any of the challenges in the Basic, Intermediate, or Advanced Algorithm sections, I would recommend revisiting them and start each from complete scratch. The second time you solve them, see if you can either not use google or help from the forum (if you used those the first time) or see if you can find a more efficient and/or elegant solution to the challenge.
I have gone back over each of my challenge solutions a few times when I learn something new to see if I can apply the newly gained knowledge to the challenge.
I guess I am far behind you. I have not completed the Front End Certification. And I am slower than you. I have solved 16 problems on project euler but it took almost a day to solve a single problem. You just don’t have to give up. It’s difficult. Very difficult. But it is interesting and challenging and will make you a better programmer.
i have not been in programming all that long but i have been a network engineer for over 20 years and i can tell you that in the real world problems usually arent solved in minutes, or even hours. sometimes it takes days or weeks to plan, implement, change, and fix stuff. when i was thrown into this programming role because our only programmer quit, it would literally take me days and days to fix minor issues that any decent programmer could identify and fix within minutes probably. but spending all that time on it allowed me to learn a lot more than i would have if had a programmer here that i could ask. ive been in the role for almost a year now and although sometimes it still takes me days to fix something, at least now i know where to look and i know what im looking at, which is a huge step forward from where i was at the beginning.