Feeling a bit lost

Feeling a bit lost
0

#1

So I’ve really, really been busting my butt these past 2 months. In 2 months, I learned the C# programming language, then HTML and CSS and I started to fool around a lot with desktop apps. I also signed up here and I learned jQuery and Bootstrap. Ive done the tribute page, I made a portfolio (which I havent submitted yet), I submitted the Twitch.TV API app, and Ive done I think around 260 of the challenges. I also am now learning JavaScript and Im flying through it since the C# is still fresh in my mind. Even though they are different, they have a ton of similarity. Last but definitely not least, I learned ASP.NET MVC, SQL, LINQ, and Entity Framework; this stuff was pretty tough but I love it. I really enjoy backend and working with databases. This is literally the most I’ve ever crammed into my poor little brain in my entire life. I’ve spent literally 12-18 hours a day at times coding. Last night I and the night before I only slept 3 hours. But the key is… by choice. I do enjoy it that much. I want to make killer websites and apps for people.

But I’m starting to get lost. To be honest, I don’t enjoy the algorithms and games and challenges… What I do enjoy is being creative, solving problems in the context of applications, and creating real products that serve a purpose. I am aware that often algorithms may need to be made in the process, but the amount of frustration I’ve had with the challenges system seems to cause my career more harm than good. For example, It took me DAYS to finish the “Profile Lookup” challenge. It was so bad, that I actually created the entire Twitch.TV API in less time than I spent trying to get past that challenge. Interestingly, while I’ve reached frustrations when programming applications like my desktop apps in C#, I’ve never been quite so frustrated as I have on this site with some of the challenges.

But the thing is, sometimes my solutions work in my own browser or compiler, but the challenge still says there’s something wrong. I really do feel like the challenges are doing more harm than good a lot. Which is funny because some are painfully easy and very straightforward, where others I simply don’t understand. It’s not that I can’t program what’s needed, it’s that I literally don’t understand what the challenge is asking.

Anyway, to get to the point, I’m feeling kinda lost. How do I get from screwing around with challenges and making simple projects to doing this for a living? I honestly don’t know anybody I can go an say “Hey I’ve made a twitch page, wikipedia viewer, and tribute page, let me make you an awesome website!” and then get a job out of it. Those of you who do this professionally, please explain how exactly you bridged this gap? Should I just start making web pages for no apparent reason for practice??

I went on the FCC GitHub but it seems to be just people posting issues with the site itself. If anyone wants to pair code with me please drop me a line.


Imposter Syndrome
#2

Not gonna touch on everything here.

  1. Whenever I don’t really got what the challenge wants I just looked at the testcases and together I had no issue with any of the tasks in the front end certification. Also I’ve seen a good amount of code from people on here with the premise “My code does exactly what is asked but the challenge won’t let me pass” more often than not there was still an Issue with the code. Be it additional whitespaces or misspellings that doesn’t make strings match but are hard to spot or the use of global variables or some other minute detail. Getting these kind of things pointed out usually doesn’t take long if you ask for help in the gitter chat.

  2. What was your Problem with “Profile Lookup” in the end? Imho the challenge touches more on reading JSON and Object property access instead of the algorithm. So what you’re facing here is learning Javascript in particular which from reading your post is what your currently want to do.

  3. Getting through FCC is, in my opinion not just a learning experience but also a test of perseverance. It show that you are able to “get things done” even if you don’t particularily like the task at hand.

  4. Don’t underestimate algorithms especially if you plan to work on the backend. It’s the only tool for survival. Applications that don’t process their data in smart ways very quickly become memory eating cpu hogs. From what I’ve read knowledge of algorithms and datastructures also is a big part of the job interviewing process.

My advice for you:

  • You can make it through even if the site has it’s flaws
  • Doing so show your perseverance
  • Ask for help in chat
  • Try to take a break for a day every now and then

#3

Just a quick note, there are very few similarities between C# and javaScript except for the syntax; there are no classes in JS and instead of it it uses prototypes; the JS variables can be very handy or a complete nightmare … javaScript isn’t easy to learn at all, that is why so many people avoid it.
I think you should read a book like “javaScript: the Good parts” to get a closer idea of what you are talking about.
Best regards,


#4

Negative feelings are normal. Everyone who has ever become a professional programmer has been where you are now. The taller the mountain, the tougher the climb. Just remember - the point of the challenges is to get you to think, and the point of the projects is to get you to do. Neither needs to be world changing work, just improve yourself.


#6

Thanks for the advice everyone! Some very helpful advice here!

See, I want to believe that, but I keep hearing and reading stories like this and this where people are getting into it much quicker than that. And while I know not everyone learns at the same pace, the thing is, for me, coding actually is my strength. My parents have told me that since I started at age 12 (but put it down a couple years after of course). Plus, most of these people can only dedicate a few hours a day, I’ve been learning coding 8-12 hours a day, so theres no reason it needs to take me a year. That second guy claims to have made it thru in 45 days at only four hours a day.


#7

For everyone feeling this way, check this out. Congrats on all of the work that you’ve put in, but honestly have some patience. It takes many people years upon years of work (they might not ever get there) to be able make enough money doing what they love. For those of us who do love programming, we are pretty blessed to live in a period of time where there is so much opportunity to make plenty of money doing what we love. As far as the challenges go, change your mindset. You say you want to make killer websites and apps…convince yourself that the challenges are an important part of this and then work through them. I find it hard to believe that you really don’t understand what the challenge is asking you to do. Read the problem carefully and if you still don’t understand post on the forum asking a clarifying question. Sorry if any of this comes off as harsh, we all get frustrated sometimes, but the key is how we deal with it. Stop comparing yourself to others, keep crushing it and working through FCC and eventually you’ll make it.


#8

I came to FCC with a pretty firm knowledge of HTML and CSS. So I got through those challenges in about 4 hours total, much faster than they estimate.

I struggled a bit with algorithms as well, so I might have taken about what they estimate.

I’m currently struggling with Data Viz, it will likely take me longer than what they estimate.

Here’s my advice: disregard what the time estimate says on the map and disregard any “stories” you hear about people getting through it in X amount of time. More likely than not, they’re just that, stories.

Start at challenge #1 and work straight through until you finish the front end certificate. Then decide if you want to do DV next or move to backend. Work through that section straight through, then the third section straight through. One of the beatiful things about FCC is they make it so you don’t have to figure out what to learn next! It’s a straight shot.

P1xt’s post is the best advice you’re ever going to get on this topic. Stop worrying about how long it is taking/will take and just do the work.


#9

@twmilli

Wow, I really like that video… a lot! I’m definitely going to share it with my friends. Thank you!

But in the end, you’re right. It had to do with my mindset. Just before I had read your post, I got back to the challenges and I told myself “Look, these aren’t that hard, extract out the pieces needed to solve the challenge.” and I opened up a good ole’ notepad document. I then read the challenge instructions, step by step, writing each step into the notepad and then formulating the solution in my mind. This worked really well and I was able to solve one of the hardest challenges for me yet. Most of the problems I have had with the FCC challenges have nothing to do with the algorithm: they had to do with me simply not understanding the assignment. But I realized, hey, this is good practice… What if I get a coding job and I have a boss or coworker who doesn’t explain stuff well and I have to just figure it out? What if I get hired and my boss/coworker can’t answer my questions? I think being able to extract what is needed out of a set of instructions actually is very important for coding.

I had just heard some developers saying things like “Stop messing with the algorithms and challenges and start making some actual applications and websites.” and I got paranoid. But I’m not sure how much of that is accurate too… I do think the challenges help you to solve real-world useful problems and think like a programmer and are a useful precursor to big projects.

@matty22 Thanks for that advice too. I’m going to open up here (because you guys have been so thorough with me) and say that the reason I’ve been rushing myself is because I’m unemployed and I am trying to turn this into a job. I read the stories here of people getting hired pretty quick and am just eager to.

However, when it comes to coding, I just enjoy it and I would do it even for no money (and I want to contribute to non-profits here!) Luckily, I am in a situation right now where I have the luxury of learning this stuff with not many constraints until I can find a job. I have a roof, food, a loving family, an awesome girlfriend, and this laptop that allows me to learn. But I have always been hard on myself. I’ve actually never been unemployed since age 16 (Im 27 now) and so I have a nasty feeling of wanting to get back into the workforce ASAP so that I am not a “bum.” My family, friends, and girlfriend have all repeatedly told me that Im too hard on myself and to be patient and they think my countless hours spent coding is great. I actually only see my girlfriend once a week because the rest of the time I’m working/learning coding. So that’s my issue, not FCCs.

But the good news is, thanks to your responses, and some realizations as well as awesome JS teachers, I’ve reframed my mindset now and I’m going to focus on simply learning (I take Udemy courses and read books) and then solving these challenges. I think I had been spreading myself too thin and you’re right, I do have direction: that’s what FCC gives. And I can figure these problems out, I love coding.

You guys were a very big help. I appreciate every single one of your replies. @P1xt you have helped me several times on this forum and I think if every community had you around, the internet would be a better place.


#11

@P1xt let me marinate on the thought of that hackathon for a few. It sounds super enticing but at the same time, one of the things I just learned from this thread is that I’ve been putting too much pressure and rushing and not having enough patience… So not sure if a race would be the best thing right now… But let me think on it. I most likely will be doing a lot on FCC this next week anyway.

Concering what you said about the two philosophies… I agree with you but:

  1. I’m unemployed, which, although I’d like to be in #2, kind of motivates me to be in #1.

  2. I’ve also heard a ton of advice from successful people who talk about the need to get out and do; in guitar playing for example, it is well-known that there are thousands of great bedroom guitarists out there… But to become a rock star, most musicians had to just suck up the fact that they weren’t very good yet and get on stage. I don’t want to be a coder who spends 4 years doing this stuff and still isn’t in production on anything significant or still unemployed.
    Ive heard one of the most common mishaps that coders make is actually not putting themselves out there and/or feeling like they aren’t good enough for the job… But that’s a vicious cycle because who knows when one will ever feel good enough… I’m trying not to be this guy.

That said, you’re right… I do prefer camp #2 (no pun intended. Sorry, had to go there), traditionally, I would rather be more knowledgeable about something than to jump right into it… I love and am addicted to learning and understand how things work. I always have been. But this has also held me back in other areas of my life at times which is why I’m at this little dilemma; other people with vastly less knowledge and experience have beat me out because they simply take a risk that I didn’t want to. In any event, I’m going to set aside the philosophical analysis and get coding these FCC challenges and continuing with my coursework. I got a jazz show to go to in a few hours :stuck_out_tongue:


#13

I got one last question for you guys. As far as learning new frameworks and stuff… What’s the best method for determining when? For example, I’ve been wanting to learn Angular and React but as you see, I also really want to focus on the core challenges here and finish up my Udemy courses…

Do you guys learn them when a particular project calls for the knowledge or is it a good idea to learn as many frameworks at all times? I want to learn a lot but I also want to balance that with creating because the creating is to me, the most fun and rewarding, and it is also what will get you a job in the end. I do feel like I often get on tangents… Like I hear about LINQ then go learn that, then I hear about REST, go learn that, hear about Angular, React, etc… What’s the most efficient way to ensure you are expanding your knowledge but also actually be staying focused in this business?

And when you do go learn something new, do you put the current project aside or is it a kind of learn-as-you-go?


#14

I completely understand where you’re coming from, and I also straddle the two camps - work isn’t as urgent for me because I’m a stay at home dad, but I will be trying to get a job very soon and I really don’t want to go back into teaching…so I put a lot of pressure on myself to not just be hireable as a low wage Junior / intern, but to actually jump ahead a little and earn something close to what I’d get teaching. (Sidenote, I know teachers typically don’t make a lot, but given my experience level in teaching I’d get paid a lot less on a starting salary as a dev given the figures I’m seeing locally).

Anyway, this isn’t about me. What I catually came to say was that you should seriously consider getting some more sleep.

I know it’s really hard to give up on a great coding session and get some sleep, but in the long term a lack of sleep seriously impacts upon your mood and productivity. If you are having self-doubts, which is natural for all but the completely deluded, these are amplified by a lack of sleep.

I do not follow this advice anywhere near as well as I should by the way, which means that at the moment I am not just a bit frustrated that I don’t get React…I am instead DEVESTATED that I am an idiot that can’t make a simple table behave properly in React and EVERYONE ELSE has been able to figure this out so I must be the biggest IDIOT currently doing FCC!

So, I propose a different week-long challenge: The Sleepathon

For one week we both have to try and log at least 7 hours of sleep a night, and you get bonus points for every 15 minutes over 7 hours you get.

You game? (@P1xt is welcome to take the challenge during the week off, too :slight_smile: )


#16

Piggy-backing on the last three posts:

We know that humans are objectively terrible at multi-tasking on a day to day basis. When we are interrupted during a task, to check what that notification on our phone was perhaps, it takes on average 22 minutes for our brains to get back to the same level of concentration we were at before the distraction. Why should learning be any different? I’d argue it isn’t. Laser focus on one particular technology at a time until you are comfortable enough to use it without needing to google how. Then make sure that your next project, uses that technology that you now know, but also stretches out into something new.

This is also very important. Lack of sleep actually changes your brain chemistry. Your brain learns while you sleep, not while you’re studying. A really great book on this topic (and other rules for learning well) is Brain Rules. I just finished reading it and it’s extremely informative and has helped me calm down about needing to take breaks every once in a while.


#17

That challenge honestly took you that long? It took me a couple of hours personally, and even that was way too long for me because I was overthinking the question and thought I needed to use double nested if-else blocks, before I realized all that was needed was a simple if-else block and a boolean variable, which I could’ve whipped up in less than 10 minutes from the outset. In retrospect, it should have taken me less than 10 minutes instead of those couple of hours.

Based on what you’re saying about your experience with the algorithmic challenges, it sounds like you could use a basic course on data structures and algorithms, if you haven’t taken one already. There are some really good ones for the subject over on Coursera—not sure if they’re still free or not (they were free when I took them last year), but still worth taking. The best ones I’ve seen are the ones taught by UC San Diego, Princeton, and U of Michigan. The challenges on sites like HackerRank are also very good at stretching your problem-solving ability.

It helps to have a solid background in data structures and algorithms, because without it, you might as well be coding without a plan, which is unfortunately what most people do. No offense, but while you might have learned those programming languages (C#, JavaScript), I’m not sure that you’ve learned the technique of how to actually program and think your way through a problem, which any good algorithms course should help you do.

I was able to blast through those claimed “50 hours” of Basic Algorithm Scripting in just 3-4 hours myself, which I wouldn’t have been able to do without my previous education in data structures & algorithms, which I did in two separate courses back in college (I studied computer science).

I don’t mean any offense, but no one can just muck around with programming language syntax and expect to learn how to program. And even for those who have never studied computer science formally at a place of higher education, it’s still totally worth it for every self-labeled programmer to learn data structures & algorithms whether it’s through a free MOOC or a book, or whatever else. I’d suggest that should be your next step.


#19

@astv99

Well, it was more like I screwed with it for an hour and couldnt figure it out, came back a week later, still couldnt, came back a week later, still couldn’t… Then finally came back and spent like 20 minutes and got it done. I don’t mean I literally spent 12 hours of time over the course of several days on just trying to get it figured out.

Also, it was something totally stupid like I was returning from within my if statements, but when I simply replaced the code with a variable and returned from outside the statements, it was solved. Then I had to move a bracket around lol… I actually was able to easily do the reverse a string, factorialize a number, and find the longest word in a string algorithms in about an hours time total and I did enjoy doing those… They aren;t on my profile because I did them using C# just for fun and learning. I have not done them in JS yet. To be honest with you, I think sometimes I just don’t like the challenges outside the context of an actual application - I’d feel much more driven to do the exact same thing if I was working on my application code. I’ve noticed that when I do sit down and commit myself to a challenge, I usually do get it solved… It’s just there have also been times when I wrote code that worked perfectly fine when I ran it and tested it on jsfiddle for example, but the FCC challenge said I failed the test still… Those moments Im like ok wtf.

Also, I assumed that I could get the knowledge for everything needed for this course in the course itself and frankly - that’s just not the case. A lot of stuff I’ve struggled with on the challenges, I would have flew through had I had the concepts properly explained to me. To be fair, really yesterday is the first day that I decided to pick up and dedicate time to studying JS. Everything before that was just me winging it thru the FCC challenges and this is not an insult of the FCC curriculum - but some things I easily learn from it whereas others, I’m better off learning from a Udemy instructor or just from reading a good book. I’ve always been like that though. If I click with my instructor, I can practically understand pure rocket science, but if not, I could get an F in the class. Sames goes for books It’s just a teaching/learning style thing and the cursory explanations in the challenges don’t always cut it for me.

But you raise a great point and something I frankly hadn’t heard of - learning about data structures and algorithms will definitely help. Thanks, I’ll check that out!


#20

You’ve crammed in years worth of programming in two months. Give yourself time to digest it. Not saying you have to do nothing but weave baskets while you wait, but your learning curve is inevitably going to flatten out sometime, and that’s going to manifest as a lack of motivation or concentration if you keep pushing at the same level of intensity.

BTW, I’ve been programming for 30 years, and I still get lost. It’s good to get lost, and I suggest you do that occasionally. You’re not going to get eaten by coyotes or anything :wink:


#21

But there are SO many good resources available out there for us. By not handing us all the information needed, they are forcing us to go find those resources for ourselves and then use them. You SHOULD be going to places like stackoverflow - these are resources used all the time by paid developers. I have had many “Aha!” moments after going to another site when trying to figure out how to make one of the FCC projects work. Figuring things out for yourself will help it stick better long-term for you.


#22

@dbrainz @chuckadams You’re both right. Well, good news is… I’m not lost anymore!!!

Successfully got my first website online today (it’s a wireframe though, we’ve got the back-end wired up but still have to completely do the front-end. It’s a private repo with a couple others coders and me right now) and on top of that, I just learned the Google Maps API today and began development on an idea I’ve been wanting to develop. It’s super exciting to be able to tap into the Google Maps system and develop with it!

Those plus now I’m taking down the FCC challenges one-by-one… That’ll keep my butt busy and unlost. I sincerely appreciate the support everyone. Such a strong, helpful community here!


#23

Hi Todd.

I might be in a similar situation as you and would love to pair program with someone. I know some Python, JavaScript, HTML/CSS and C. Do you live near Providence? If so, shoot me a text at 401-749-4217.

Thanks,

Ara


#24

I’m not sure where Providence is so I guess not… But I’m sure we can pair code remotely right? Like on jsfiddle?


#25

I am a professional web developer. I’ve worked full time and contracted for the last 10 years. I can relate to how frustrating and confusing it can be to break into the industry. Here are a few pointers to help:

  1. Have a portfolio. *** Sometimes companies will take a chance on you if you can demonstrate your skills. Put up some samples of your coding as well. When you interview consider bring your laptop to show them the programs you’ve created if they are not online.

  2. Do some freelance work. Put up an ad as a junior programmer. Take on a few low paying gigs so you can have some actual clients for references.

  3. Send your resume and portfolio to every recruiter in your city and put it on all the job boards. Plus apply apply and apply for jobs. All you need is one company to hire you to legitimize your credentials and start your career.

When I finished college, my first professional company hired me because my rates were $15 an hour and I demonstrated I knew HTML and Photoshop. Now I make great money and can command top rates.

My husband did treehouse.com, FCC and sitepoint for two months. He created a portfolio and started applying everywhere. After a ton of no’s someone gave him a chance. First job was fulltime but with a low salary. Now 3 years later he has tripled his salary by learning new skills and working with new employers.

So it is possible to start off quickly in this industry if you can demonstrate skill and you are willing to make concessions at the beginning. If you are in NY let me know. I’m connected to over 250 tech recruiters on linkedIn. I can let them know you are available if you are interested.