I started in July 2016 and blazed through the first two certifications. I was halfway through the back-end certification when I realized I had no idea what I was doing. My code, I realized, was an amorphous procedural quagmire. For the past year, I’ve been trying to fix that [1]. I’ve done a lot, like migrating all my projects to Cloud9, adding interesting new features, and (in some respects) improving readability and maintainability. My portfolio is actually rather nice (I think), but it’s the product of trial and error [2]. I was hoping I could start applying in July, but I honestly don’t know if I’ll ever be good enough.
[1] Between a full-time job and a lifelong history of depression, I’ve only been able to put in 12 hours a week on average. (The range is from 0 to 70.)
[2] My bio is written as if I’d already done the massive refactor I have planned to address my overwhelming technical debt. The “View code” buttons don’t work because my code isn’t on GitHub yet.
Sounds like you’ve found a good way to really engage with the material.
I’m not sure I understand what you mean.
I know that the backend section was a big leap for me. It was very confusing. I got through the projects (very slowly) but didn’t really understand. I finally feel like I understood. I coded along with a lot of guys on youtube - that helped. I wish I’d found the book Express in Action while I was learning.
Hang in there. It gets better.
1 Like
I’ll look that one up. I’m in no way ready to deal with that can of worms, but I know I’ll have to eventually.
Definitely start using Github, get your projects on there and make it the first step you make when starting a new project. I’m on the job search right now, and finding that my portfolio only gets a glance…what they really want to see is my code. Makes me nervous, cause I’m pretty sure my code sucks, but I’ve been assured they get it I’m a junior dev, its not about perfect code, its about how I solve problems for one, and how often I code for two.
In line with that, the suggestion Id make is to put all the details, user stories, tech used etc as the Readme for your git repo of each project, and in your portfolio, keep it simple so that its easy to see at a glance a pic and just what tech was used.
Oh, one other thing…start a personal project…it can be anything, and do a little bit of work on it everyday to apply the knowledge you’ve learned from doing FCC projects, to learn new things (its way more motivating to get a feature working on a project you are passionate about).
As for not feeling good enough…welcome to the club…its a HUGE one! You know more than you think you do and better than you think you are…fact. I have to remind myself of that all the time…we are our own worst enemy for sure. As long as you keep coding, have a pet project you care about to work on, and keep the momentum going, you’ll be fine.
4 Likes
I have no experience with this, but I know one thing: I love myself for commenting my code from years ago. One of my undergrad homeworks is still on the web from last millenium, and my code doesn’t need to be pretty, because my comments are. Nothing helps readers of code like comments explaining the logic in English, no matter how ugly.
Thanks for the advice, and the kind words. I know I’m not alone in this, but it’s hard not to feel that way. Regarding the job search, it’s heartening that sites like LaunchCode and Triplebyte exist. That’s my plan when my portfolio is finally “ready.”
Whats good enough for you ? it can be a dangerous mindtrick getting you nowhere. the more you know the less you know, will you ever be good enough for urself ?
feels like talking to myself lol
2 Likes
I’ll give you a heads up… don’t put all your apples into the LaunchCode / Triplebyte barrels. I felt the same way…was super excited about LaunchCode and when I was ready I signed up, took the quiz and was invited to interview. I followed up with them to set an interview date 3 times before I gave up. This was in Oct… I just graduated a bootcamp about 2 weeks ago, and purely by chance, I get an email from LaunchCode “We’re ready to set an interview date!” I wanted to kill them dead I was so mad. I asked some people at my school, and they said those places tend to do that…
Basically, I was accepted, but they didn’t need me, so they kept my info on file and decided now, 6 months later, they were ready to move forward and interview. I did some research on Triplebyte, and they seem to be about the same…
My suggestion to you is…network your butt off. That really is the one thing that is different from when I job searched before bootcamp and now…I find also that between others I graduated with, I’m getting a lot more callbacks than anyone else. I tell everyone Im trying to get a tech job, especially complete strangers. Gotta break out of your comfort zone. Go to tech events… I will literally walk up to people, ask them what they do, tell them what I know, tell them flat out I’m looking for work and excited to join an awesome team, get their LinkedIn info and add them immediately.
My classmates would tell me, omg I could never do that, but I need a job…so I’m hungry and on the prowl
and it works…even if that person never contact me again, Ive had people they know reach out on LInkedIn simply cause we have a shared connection.
So yeah, start now, get your LinkedIn on point, start going to tech events, get active in your local tech community, get your face out there and meet people cause they are in the industry you want to be in and those personal connections will get you in front of the people looking to hire…its as good as a personal recommendation.
1 Like
That’s dismaying. I’ll try it anyway–it’s not like it costs me anything–but I’ll bear that in mind. I saw an ad for Triplebyte the other day and thought, “Why not?” I did pretty well on the multiple-choice questions but completely bombed the live coding challenge. That’s actually what prompted this thread.
Networking is definitely the right choice for you–you clearly have charisma–but for me, at least, learning to do it well sounds harder than learning to program all over again.
One of the reasons that networking works so well IMO, is that it helps you practice the soft skills that can make or break your chances of being hired.
Hey - I glanced through your portfolio site and have a couple recommendations.
First, I don’t think I would have made every single project look exactly the same. You seem to use the same background image and color scheme for everything. Every project doesn’t have to look different, although I would encourage you to experiment with different styles and design trends. It would show to me that you are more versatile.
Secondly, I came across a few bugs in your various projects. If you are going to list them in your professional portfolio I would encourage to go over them with a fine-toothed comb and make sure they are representative of your best work. If they aren’t, then I would probably omit them. Personally, I would be more impressed with one or two really well-done projects than 5-10 mediocre projects.
That said, it looks like you have put in a lot of work and you are well on your way. Just keep at it and you will get there. This stuff is hard and takes time to learn 
Taking a stab in the dark here: the following doesn’t help:
You have given yourself a vast, unmanageable pile of stuff you feel you need to do, which realistically you’re unlikely to do, and which will paralyse you. Yet in reality, all that stuff doesn’t matter very much.
You have no “technical debt”. Just make more things. The more you procrastinate the worse it will get. These are toy projects to help you learn. Do new things that will teach you new skills, don’t retread just for the sake of polishing things that don’t need polishing. You could pick over them for the rest of your life and be no further forward. If you want to redo things, do it differently. Do Rule 30 or or Rule 110 instead of Game of Life, or go use Processing.js and work though The Nature of Code. Write a Roguelike using a different language with a game engine like Unity or lib2cod and Python. &c.
Your stuff looks totally fine, most of it works and some of it works really well. I don’t need to see the code on Github because I can just press F12 in my browser and look at it.
Just delete the buttons ¯\_(ツ)_/¯
If possible, go to some meetups, regularly. Being very good at talking to people may well be hard, but doing it passably well is not so hard at all, and is tbh a necessity.
You are just putting yourself down here, a lot. I don’t believe that much of what you’ve written here reflects objective reality (although I realise you do, and I fully realise that this is what depression tends to cause). But it will all turn into a self-fulfilling prophecy if you keep ruminating on it. When you’ve been doing something for a while and then depression hits you and you think it’s all shit and you don’t know anything: that’s what depression is really good at. I’ve wasted/lost big chunks of time because of it; it destroys confidence, and I didn’t have loads to begin with. If you go in that hole, you’re fucked. Avoid the hole, just do stuff (new stuff that will keep you interested and learning), don’t ruminate.
2 Likes
@Aaronms
I like the unified look, but I agree: it doesn’t scream creativity. Design is one of the things I’m putting off until I understand other things better. I’m OK with some bugs at the moment; I’ll probably break a lot more things before I’m through.
@DanCouper
You make a good case. I admit I have no idea how it’s taken me a year to get this far, but it’s not like I’ve accomplished nothing. I basically rewrote my entire codebase (such as it is). I gained a deeper if not broader understanding of things. Maybe continuing to work on it isn’t the best use of my time, but it will help me learn several things I want/need to learn. To that end, I’m willing to stick with it awhile longer.
I’m not dismissing what you’ve said by any means, but I have to integrate it with what I know of myself.
You’ve done all the front end projects, presented them all in a consistent, unified way, the code looks fine, most of them work fine. I’m definitely not saying you accomplished nothing; I’m saying the opposite. Everything you’ve put down here reads like a narrative you’re constructing about how bad things are; the actual stuff you’ve been working on and that you’ve displayed publicly says the opposite.
Your code is fine.
You don’t have to do any backend stuff at all, but you could. Just sit and work through that bit of the FCC curriculum - you don’t have to keep any of what you produce from it, just see what it’s like. (As an aside @kevinSmith mentioned Express In Action; that is a very good book, I would second the recommendation. As a focussed learning tool, the Manning In Action series of books are generally brilliant, teaching you a language/framework by taking you through a project and gradually introducing more and more concepts)
And yet, and yet, your portfolio is very clearly a consistent, well thought-out design.
I didn’t mean to put words in your mouth. What I meant was that what you see today is nothing like what it was when I started (I guess you already knew that), and it’s still a mess behind the scenes. The babelified, minified version doesn’t show that.
This is the source code for my dungeon crawler game. Apart from the chained ternaries, “magic numbers,” and inline for/if statements, it’s a single monolithic file. Fixing it has the benefit of teaching me to use things like Redux, ES6 modules, and Mocha.
Having said that, you’ve gotten me to think about what I have done well. I appreciate that. I know I’m too hard on myself, but knowing that doesn’t stop me thinking everything is shit. That’s probably another reason to do the meetup thing.
Very good point. I am always wondering on things like that too. Can you ever feel ready and full for something? Specially on IT?
If you haven’t already, you should setup linting in your chosen code editor. That made a huge difference in improving the readability in my code.
Doesn’t really matter which style guide you use. I personally use Google’s. As long as you keep to the same style guide in a given project, it’ll help your project’s code really shine.
I think you can insofar as there are objective measures of success. “Am I good enough?” is too vague. Better questions might be “Am I hireable?” “Am I employed in my field?” or “Am I ready for a promotion?” From there, you might ask questions like “Do I have the skills such-and-such employer is looking for?” and “Can I convince them of that?”