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 months ago, and currently I have no job yet unfortunatelly.
I have knowledge in:
-HTML+CSS+JS
-Frameworks I can use: Jquery(JS), Bootstrap 4(CSS)
-Jquery ajax
-PHP(OOP,PDO)
-SQL-MySQL
-basics on .htaccess(making user friendly URLs)
I can create responsive and dynamic websites easily using the technologies above, I can organize my code, so it's nice and readable, I have a good problem solving skill too, I always think ahead, and create functions,methods that I can reuse in the future etc.
These are some basic, yet really useful skills a programmer should have(as I've heard many times).
But the problem is, that I keep feeling like even though I know these things, my knowledge is still really deficient.
Whenever I come here on DEV, reading articles, I always see ones about NodeJS,ReactJS,VueJS,GraphQL etc, and sometimes I would check on them out of simple curiorsity, and I always find myself barely understanding anything from the article, like code examples. Same when I search for solutions on Stack overflow, and I see all those complex code. And whenever this happens, I always get kind of demotivated, since I always realize that in reality, I barely know anything yet.
Same thing happens when I search for jobs, and companies barely look for beginners/juniors, or even if they do, 90% of the time knowledge in the technologies I mentioned above are required.
And in times like these, I always think "How am I gonna ever get a job like this?".
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 pagintion in PHP I was so happy, I even made an article of it. Don't know how much of a good solution or code it is, but this is probably what I'm the proudest of now. But these "happy feelings" sometimes disappear when I realize that it's actually not even a big deal, it only is for me.
I know I'm probably being too hard on myself, considering I just finished my studies, and I'm still just a junior, but still, even towards juniors there are such high expectations nowadays that it's crazy, and I don't feel like I can meet them at all.
Do you have any advice to vanish these feelings and stay motivated all the time?
Top comments (17)
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".
I feel this way too š
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:
Some things that hold me back:
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 š
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?
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. š
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.
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.
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.
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!
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
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.
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.