DEV Community

I keep feeling demotivated when I realize how deficient my knowledge is.

Patrik Kiss on December 05, 2019

Hi everyone, My name is Patrik Kiss, and I'm a junior web developer(I guess). I finished a 2 years software developer course a few month...
Collapse
 
joeclarkphd profile image
Joseph Clark

I think the needed perspective is: you have a lot more knowledge than most of the public, and there is a shortage of supply. You can certainly make more money than many other entry-level professionals (e.g., schoolteachers) and it should be enough to cover your cost of living. Maybe your first jobs won't be for Fortune-500 companies... so what? You can solve problems for people who can't solve them for themselves. Find someone who will pay you for it. I started out making simple web pages for small businesses in my hometown during my college summer vacations, just knocking on their doors and asking.

Also, I suggest you change your self-description. You're a web developer, to 99.5% of the human population. No need to call yourself "junior".

Collapse
 
rose profile image
Rose

I feel this way too 🙂

  • I have been making websites as a hobby since I was 13.
  • When I was in my early 20s I studied programming in post-secondary.
  • I then worked as a C#/ASP.net/devops/jack of all trades for an agency that built and maintained websites for a wide variety of clients.
  • Then I moved to a job for a product/saas company where I have been the last 8 years, mainly writing JS and CSS as our app is a single page app
  • I have progressed from bottom-of-the-totem pole there to "head of engineering" (or something like that. Some title that makes me sound extremely intimidating and smart, which I don't really feel like I deserve.)

And honestly? I feel like a total DUMMY almost every day and it can be very demotivating sometimes.

Writing blog posts on dev.to is something I struggle with a lot because "It's all very basic and everyone knows this/I don't really know what I'm doing, someone else would explain it better."

Where am I going with this? I dunno. Maybe just to let you know that you're not alone and even a 30-something "very established" dev suffers the same mental agony? 🙂

Some things that have helped me:

  • Contributing to open source and finding people are generally happy with my work/seeing other people's work and realizing they're not as perfect and awesome as I think they are.
  • When I do muster up the courage to write a post on dev.to about a technical topic, getting positive feedback.
  • Helping others at my job. I am at my most confident when smart people look to me for my advice and actually take that advice.
  • I try to remind myself that there are a wide range of abilities out there and I'm just one person on the spectrum. And I'm certainly good enough. Maybe not the best, but I'm good enough.

Some things that hold me back:

  • Reading strongly opinionated tweets/blog posts about tech subjects. I'm always like "wow how can that person be SO confident in their point of view that they can blast it out there so aggressively". I never feel 100% confident on any subject. Are web components good or bad? I don't know. I imagine they are overall good but I have read some pretty critical articles and ugh how are these people so smart that they question the presumably very smart people who are designing the future of JavaScript?!
  • Any time I get a promotion at work I feel really dumb for awhile because I'm out of my element and things are new and hard and all my old insecurities come flooding back.
  • Fixating on all the things I don't know and berating myself for not taking more time to learn in my free time. I'm a person and I have a life! I shouldn't have to spend all my time on tech subjects! I know I have the ability to learn new programming concepts when I need to, and that can be pretty valuable all by itself.

A lot of people have commented saying "it gets better" and it does... I have had times in my career where I feel very boss-like and confident and smart. But it has its ups and downs. It's pretty easy to hit a roadblock and suddenly be questioning everything again 🙂

Collapse
 
cristinaruth profile image
Cristina Ruth • Edited

There are a lot of tech out there and also, so many new ones popping up. It's impossible to keep up with all of them.

You can't control how companies post their job listings and requirements. But you can control applying to them anyway. What have you got to lose by applying to them?

  • Be upfront and honest that you are teachable and that you are worth their investment.
  • Showcase things you've built on your portfolio website.

I'm not sure what postings you're looking at but junior/entry-level is different from internships. Internships assume you have 0 experience and they expect to teach you a lot while the others assume you've had an internship experience of some sort.

Are you building your network so you can get in the grapevine on what openings are there? If you're not, attend meetups in your area. It'll take time but it'll get you started. Please remember when networking, connect with people through Mutual interests and genuine connection. Only through that will you be able to utilize your network for job referrals.

I know things are hard and overwhelming but it'll be okay. Don't get discouraged, keep working hard, celebrate your wins (no matter how small) and focus on small things at a time. 🙂

Collapse
 
okdewit profile image
Orian de Wit • Edited

I think specialization is key. It's easy to get lost in all the available tech stacks and variations. Pick one topic, and focus on it for a while.

You should also realize that you're "only 21" — you've got a very good base set of fullstack skills, and there's plenty of time to sharpen your skills further.

Try to determine what you'd like to focus on: Do you like backend or frontend better? If you like backend, learn about frameworks like Symfony and Laravel, or NodeJS if you like JavaScript better than PHP. If frontend is your thing, make one website using React.

I personally don't believe there are senior fullstack devs: fullstack is the foundation for webdevelopment, from there you can explore where your true passion lies. Eventually, you'll find yourself gravitating towards a certain discipline. For me, I started floating from backends more towards databases and infrastructure in my early 30s, and I'm still not completely sure I know what my job description truly should be.

Don't change your whole repertoire all at once, and don't change it all too often, you'll get overwhelmed — swap one key technology in your current skill set, and focus just on that single part for a few weeks.

Just tell yourself: "December is going to be NodeJS month!" (for example), and focus on tutorials, portfolio apps, fully mastering the documentation, etc — while keeping the rest of your stack identical.

Collapse
 
woddell profile image
Chris Weir

We've all been there, it does get better. Make sure you're using something like Github to show off your work.

One thing I would recommend is spending an hour looking at jobs in the area where you want to work (I mean the city/country not tech) for all levels and write down the techs they want that way when you come to learning something new you know what tech your job market is looking for.

Also, network. a lot of jobs sadly get stopped at HR level if you don't tick certain boxes even if they're not actually required. So meeting developers online or at events can help you get around that barrier.

I mentor people who're trying to look for work as well as building portfolios. Feel free to message me if you need any help.

Collapse
 
brunoban profile image
Bruno

The place you're in right now, every developer has been there. It'll get better.

The knowledge gap will always be there, because there is always something new to learn, but eventually you find a pattern to these things and learning new things becomes easier (and fun, when you realize that every new thing you learn is a possible tool in your toolbox).

Regarding the job requirements, I feel that most often companies aren't really 100% serious about them. IMO Apply even if you don't fully fit the requirements, put yourself out there and do your best. If it doesn't work out it's still experience gained.

In short, don't worry, It'll get better. Keep the learning attitude and you'll get very far in this industry.

Collapse
 
nataliedeweerd profile image
𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝

Hi! 👋

I'm a senior developer, and I know FA about React/Vue/etc. Like you, I'm a LAMP stack developer, and excel in building interactive sites without those JS technologies.

There are roles for people like us (at least in the UK). Just keep looking :)

If you want to brush up on anything, improve your vanilla JS. That'll give you a good base to pick up one of the frontend frameworks if a job requires it. If you're going for a junior role, the fact you may not know React, but understand vanilla JS will do you wonders. Just apply for the jobs. Job specs are wishlists anyway!

Collapse
 
axelledrouge profile image
AxelleDRouge

I understand, like all of us. We all started the same way. But it will get better. You are in one of the most in demand field of job, and the opportunities will come.

"I code a lot at home, and honestly I really like doing it, and I'm constantly trying to improve myself, by working on bigger projects, like I've been working on a website for 3 months now, and I'm always proud of myself when I manage to solve something I couldn't do until then, like when I finally managed to solve pagination in PHP I was so happy, I even made an article of it."
There, you have the most important aspect of your work than you should focus on. I find that the more I enjoy my work the more I learn and improve it.

The fields of web development are so vast that they seem scary. My choices have been to first improve my knowledge of the fundamentals (algorithms, design patterns, clean code methods,...) and second focus on my language of choice (JS) by gradually implementing a new tool or library one at a time, depending on the needs of my project. Progessively, the confidence come, and I will add a new language when I will feel more at home with my current work and will want to branch out more.

If you don't find a project to invest yourself in, maybe you can build your on or look in the open source ocean. You will learn more experience, as a co-worker in a team, and build more your portfolio.

But remember, in your field, the search for web dev is enormous. The company need you. Maybe not the big ones, but the smaller ones. I know that my company has such big needs in web dev and difficulties to find that they invest a lot in junior dev that show that they can learn and persevere.

So, cheers :) you'll get there

Collapse
 
roelofjanelsinga profile image
Roelof Jan Elsinga

When I applied to my first job (still there, still learning), I knew exactly the same things you did, my skills matched perfectly what you posted. I "knew" I was underqualified for the job, but I applied anyway and got the job. The truth is most of the things you need to know, you'll learn on the job. You only learn by putting yourself out there and giving it your best try. Sure, you might run into a lot of problems and things will break, but that way you learn how to do it differently the next time.

You're in a great place right now. Instead of being afraid to fail, you should try to see it as a learning opportunity. I know where you're coming from and 4 years later I still have massive imposter syndrome from time to time. Embrace failure and see it as part of your personal and professional growth. No great person has ever achieved anything without failing thousands of times. Failure means growth.

When you're looking at job postings, try to not look at the skills too much. A lot of the time, the skills are not a requirement, but more of a suggestion. If you know jQuery, but you see that you "need" to know React/Vue/Angular, you can still apply. You'll learn to use those skills on the job very quickly.

I hope you find a job soon and if you can believe me and all the other people who commented here: You'll be fine, don't worry.

Collapse
 
rbukkara profile image
Rahul • Edited

I shared a similar feeling two years ago as well, though I a programmer for about eight years (ten now). Now I realize that building a specific skill set requires consistent and planned effort. Since you are coding for fun, I would recommend data structures and algorithms too.

Collapse
 
monicat profile image
Monica Macomber

Ah that's rough, sorry you haven't found a job yet. For me it's been much harder to get a dev job in a big city than a smaller one, I wonder if that's a factor for you?

Honestly, it's crazy to me that bootcamps say you can get a job after just 2 years. There is a lot to learn! But there will always be more that you could learn, I don't know Graph or Vue or Node either. Just try to appreciate how far you've come and learn what you can. As long as you're moving forward you're not deficient.

You can't feel motivated all the time and that's ok. Just keep working toward your goal and remind yourself why you're doing it.

I think if you've come this far you can get a job for sure, even if it doesn't happen as soon as you'd like. You can do it!

Collapse
 
valentinprgnd profile image
Valentin Prugnaud 🦊

Do you enjoy solving problems? Do you like to learn new things? Do you love building stuff out of thin air? Then you are a developer! Every developer has a unique set of knowledge, at any level, and that is what makes every single one of us interesting. I like to use this analogy with my students/mentees: when you are driving, are you looking at your steering wheel or the road coming ahead? It's the same for your skills: instead of focusing on your present skills, try to focus on the road ahead of you, technologies you want to learn tomorrow, projects you want to work on next week, amazing products you want to build this year!

Collapse
 
p12y profile image
Peter Tyldesley

As other people have said, you will be able to find a job with your current skill set, it's just going to take a bit more searching to find. The reality is, coding is hard. You don't get paid six figures to do something that's easy, that's simple economics. There is so much to learn. It's totally normal to feel like there's a huge gap, because it's impossible to know all this stuff in just a few years. My advice would be to double down on one particular area for now. If you like front end, focus on that and build a portfolio around it. If you enjoy PHP, build lots of PHP projects and apply for PHP jobs.

You don't need to know everything to be successful. The fact that you're humble and aware of what you don't know is already setting you up to be a great developer some day!

Collapse
 
thatonejakeb profile image
Jacob Baker

This is something amplified by online communities where you're barraged by information about so many different subjects, stacks, and the tech du jour. Much like anything the more you learn the less you find you know.

BUT you have to put this in perspective: talk to someone outside of technology and watch their eyes glaze over as they silently nod along.

Software development is a never ending learning process; it's what draws a lot of people to it. Certainly where I am we expect juniors/interns/students to be learning and to continue to learn. Don't be worried about applying for jobs where the tech isn't exactly what you know, there is a lot of transferable knowledge between stacks.

Collapse
 
sleepy026 profile image
mrBrown

From your name i think we live in the same country, im currently study in a school ( i dont want to mention its name here but its the "cool"-est in hungary blink ) and i think you should pick a frontend framework / library ( react, angular or vue ) if you interested in frontend, if backend also an option try java or C#. But tech skills almost less importan nowadays than soft skills. We learn them aswell. Also you should check out what is Git, agile methodologies, scrum etc. If you get familiar with these you can find many opportunities in no time.

Collapse
 
frontear profile image
Ali Rizvi

Don't sell yourself short. You've got more knowledge than the average web developer. Think about it, you've already learned so many awesome things, JQuery, Bootstrap, you know PHP, you can manage SQL databases, that's quite a lot of stuff. You should also realize you didn't start off knowing anything about these. For comparison, I also try to program HTML and such, and I barely know enough about CSS.

The point is you, me, and every other dev.to poster didn't start off knowing Vue.js, React, or others. Everyone learned something, but they started knowing nothing about it, just like how it was for you with everything you know.

It may seem overwhelming, given how many various frameworks pop up here and there, but you need to recognize that (a) you're already pretty proficient in web development, (b) you can always learn these things, just like how you learned what you currently know, and (c) everyone else also struggles to keep up with tons of stuff, what's not important is how fast, but rather how you adapt.

Collapse
 
zenulabidin profile image
Ali Sherief

I also felt this way when coming to this site. I joined around the same time as you. I blog mostly about Python because that's what I know, but when I see articles about all the cool hipster tech you mentioned my head starts to spin and I think "How am I ever going to learn all this stuff?", because I also want to learn all these things too, I guess it's very tempting for a lot of people.

Basically, now I blog about stuff I don't know yet, not after I learned about them.

By doing that, I discovered that this is a very effective way to learn these things. Because by the time you publish your blog post you mastered everything you wrote about, just by writing about it.

For example, if (hypothetically) DEV suddenly begins to clamor about Unicode, I wrote an article about it. Before I did I hardly knew anything about Unicode, it was because to blog about this topic I was forced to google it and look it up on Wikipedia.

One day I'm going to blog about React, another technology that I'm clueless about, because it sounds exciting and I want to build my website with it. As you can see, my website is currently empty 😁

So when you see something that intimidates you, you should blog about it here on DEV, which will take about a week to do because you will have to search google for information about it. The summary and tl;dr stuff comes from Wikipedia and the meat of the sandwich will be found on blogs in other people's websites. But all this will pay off and you will master the topic that is intimidating you, one at a time. The ride goes slowly but you'll get there eventually.

Sometimes we encounter topic so vast like React that it's easier to break it down and blog about part of it per week.

P.S. Don't worry about Stack Overflow. People go there to show off their reputation after they learned all this stuff (or at least that's what I like to say 🙂). For the record I only wrote two questions (and answered one of them myself) and still have 1 rep but it's not something I worry about. It's highly likely you'll find a job before you finish blogging about all the stuff you want to learn, when recruiters see your blog they will know you're experienced in these things.

I wish you best of luck in your blogging. 🙂