#ProgrammingJob #Readiness #ImposterSyndrome #CareerAdvice
Hey fellow programmers! 🖥️💬
I’ve been putting in the work, studying hard, and gaining all the necessary skills, but I still can’t shake the feeling that I might not be ready for an entry-level programming job. Sound familiar? How do we know when we’re truly prepared to take that next step in our careers? 🤔
Here are some indicators that may suggest you’re ready for a programming job:
– Ability to solve complex coding problems, such as those found on LeetCode ✔️
– Proficiency in building applications, querying databases, and knowledge of multiple languages 📱💻
– Understanding of testing methodologies and familiarity with CI/CD processes 🧪🔄
But even with these skills under your belt, it’s normal to feel anxious or uncertain about your readiness. Imposter syndrome can be a real hurdle to overcome in this field.
Some tips to help gauge your readiness and combat imposter syndrome:
– Seek feedback from mentors, peers, or potential employers 🗣️
– Practice mock interviews or coding challenges to boost confidence 📝
– Research and understand the expectations and responsibilities of a programming job 🤓
Remember, it’s okay to feel a little out of your comfort zone when stepping into a new role. Embrace the learning process and trust in your abilities to adapt and grow. The key is to keep pushing forward and taking those chances. ✨
What are some strategies you’ve used to determine your readiness for a programming job? Let’s share our experiences and support each other in this journey! 💪 #ProgrammingCommunity #CareerDevelopment
Yea whenever you can pass the job interview. Being able to do ‘x’ is meaningless because employers largely don’t care unless you have professional experience. You’re ready for a job when you can land an interview and perform well in it. Look at local job listings to check what technologies are more used in your geographic area and start learning them.
Additionally, if you don’t have at least a bachelors, it’s going to be significantly more difficult to find a job than it was just a couple years ago.
I think you’re best bet is to just apply. A lot of your questions will probably be answered in your interviews. Try to get to do a couple of interviews and if you’re noticing a pattern of questions that you don’t understand, you should probably read up on those topics. If you have interviews that go very well, this would be a good time to answer the “Do you have any questions for me?” question at the end of the interview with “What does a typical day on the job look like?” or “What would my primary responsibilities be?” or something similar. Of course id thoroughly look through the job description prior to the interview but ask about things that aren’t explicitly mentioned.
Every job is different, but this is by far the most likely:
* The job will probably be in-person. Remote jobs for entry-level are extremely rare.
* There will be other programmers sitting near you who you can ask questions
* They will have an existing codebase. It will usually be pretty large (tens of hundreds of thousands of lines of code) and it will use languages, libraries, and frameworks you’ve never heard of before
* They will assign you some tickets – bugs to fix or features to add. It’s extremely unlikely they’ll ask you to make a project from scratch
* You’ll spend 90% of your time reading existing code trying to figure out how it works
* It will be very hard at first, you’ll need to ask lots of questions and nag the other coworkers for help until you understand things
* Most of the time they expect new employees to take several months to get comfortable and productive. The most important thing is to try to figure things out, and ask questions when you’re stuck
Again, it does completely depend on the job. Not every job is like that, but that’s the most common in my experience.
From what you describe I see no reason not to apply now.
I think that once you’re able to independently build non-trivial, but self-contained projects, using your tools of choice, then you are probably employable at a junior level.
So if you’re applying for a web developer job, you should be able to implement a typical, middle-of-the-road website yourself. If you’re applying for a mobile app developer job, you should be able to implement a working mobile app yourself. These don’t have to be perfect, but hopefully the code is relatively sane and readable, and you understand how the different pieces of these projects fit together.
Now, a good employer won’t actually ask you to do these things without any guidance or collaboration. But the ability to research and build things somewhat independently is where I think the baseline is. Hopefully if somebody spends an hour helping you get started, laying out a skeleton for what you’ll be working on, you’ll be able to go off for a day or two and make some progress, deal with issues that arise, and come back to them with any questions.
Ideally you also have some exposure to common practices and tools like Git, CI/CD, issue tracking / project management tools etc – but each employer does those things somewhat differently anyway, so there will always be some learning required.
Ideally you also have a working fluency with whatever language(s) you’re using, so you’re able to read and understand code, explain what your own code is doing, and tweak / adjust things. If a colleague is helping you and they say “let’s look up the definition for this function”, “let’s move that variable declaration here”, or “let’s change this ‘for’ loop to a ‘while’ loop”, then hopefully you can do that on-the-fly – otherwise working with you will create a lot of friction, and potential frustration.
Everything you described is basically what an entry programming job involves (except the leetcode problems). If you are proficient at all the stuff you mentioned, you should be ready to try now as long as you have confidence in your application portfolio.
I have only worked at a very large company so I can only say what it looks like there:
You get assigned to a team and a specific manager to look after you, the manager is usually split across a couple of teams and there is a different manager specifically for the team.
You will be assigned to help with one of the teams current projects and that could mean anything really, in my case my first project was doing some small changes to our web portal front end.
You’ll do this sort of thing for a while and gradually you’ll be asked to help other people complete jobs and the amount of work you are doing will slowly increase and at some stage you will be given projects or sections of projects to manage on your own. For me this was working on maintaining the microservices and then rebuilding the front end of the new version of the web portal.
The microservices is a bit too complicated to explain here quickly but for the web portal I was sent instructions and the contact information for the design team and then given access to the figma documents and pulled everything together, built it into a single web app using C# and started on the functionality when I finished.
The best time in programming is when you’re new and don’t know too much about programming and business.. i had so much fun the first 2 years i can’t say how many times i laughed until i was blue in the face.
They love hiring people who do badly in interviews cos they know they’ll have an easy time with them and they won’t question them too much. Great for their ego and budget.
Its all downhill and serious after that, when you know too much and realise you’re working for collossal idiots, and charge appropriately.
When someone is confident enough to hire you