Everyone around you right now, all those people who intimidate you or make you feel like you're a fraud have been where you are now. Nobody leaped from a test-tube as a fully-formed senior developer. They all had to start with no clue and find out how to move forward. Many of those people remember what it's like to be where you are and will be happy to help get you moving. The others you can ignore because they're either heartless monsters or drowning in their own issues.

Even those of us who have been at it for a while experience what we call "Imposter Syndrome". That's where you're an experienced developer and still feel like maybe you have no clue what you're doing and everyone around you might soon figure that out. A career in software development can mostly be a career spent starting things you don't understand (mabye at all) and figuring it out as you go. If you knew exactly what needed to be done up front, not only would this be fairly boring for you, there wouldn't be much value in it for your employer/customer. If something already does exactly what they need, why would they be paying you to work on it?

It's not exactly confidence-building to spend your days working on things you barely understand. Even worse when people like your boss understand it even less than you do. It doesn't have to be miserable though. Did you ever have that feeling as a kid of excitement as you discovered bits of information about some unknown topic? Learning about animals that don't exist near you, finding out about planets and solar systems beyond yours, or when you first found out how to make a computer do literally anything? This is the feeling we get to have all the time as software developers.

Here's the best ways I know to make sure you survive and do well in this field:

  1. Keep making progess. Think like a shark and keep moving, do not stand still. If you get stuck, reach out to people/organizations you can find and get help. For example: if you are anywhere near cities like Amsterdam here in the Netherlands, every Saturday morning there is free help available to you at a pleasant cafe in the Oud West. My friend maintains a list of other cities with helpful events like this here: http://peerlab.community/find/. Go and ask for help. The "dumbest" question you can think of is not actually that dumb. When I was learning Objective-C years ago, I asked questions where the answer was, "add a semicolon at the end of this line", for weeks. Fortunately I found people nice enough to give that answer without calling me an idiot (thanks guys, I appreciate it alot).

  2. No really, keep making progress. Lay out 30 minutes every day to make some progress. A little progress every day is way more valuable than 4 hours on Sunday. Life often gets in the way anyway and the 4 hours you planned on Sunday often turns into 15 minutes and now you've gone another week making only a little progress.

  3. Be nice to yourself. What you are doing is really hard. Don't expect it to be easy. Don't beat yourself up when you don't instantly understand or when you make the same mistake today that you made last week. The world is plenty mean and terrible enough without you piling on yourself. Be nice, take care of yourself, and give yourself a chance to do this.