I've heard this before. Someone comes fresh out of school as a developer and they've been encouraged to just get out there and grab the first thing that comes their way.
I believe that can be dangerous. Let me explain why and when.
Sometimes there's pressure to push the boundaries a bit and "take the bull by the horns", so to speak, when starting your career. Honestly, it can happen as you try and progress an existing career too.
There's an unspoken (usually) but underlying assumption that if you know any kind of development at all (back or front or something else) then you can at least fumble your way around somewhat decently with other kinds of development. For example, if you're a back-end developer, since you know the principles of the programming languages bound to your field, those principles easily carry over to front-end development so why couldn't you tackle a job as a front-end developer?
Even barring that, there can be pressure to jump into something when it presents itself, regardless of how well it matches your knowledge or not.
When I was asked whether this advice was appropriate I was very hesitant to answer. It seemed like a loaded question. What if I said "No, don't do that, don't just grab whatever job comes your way, even if you're new" and you happen to live in a country where jobs are scarce but tech jobs are somewhat easier to come by and you know something (or enough), well, now I've cut you off at the knees. What if you need a job? Now? And someone is presenting an opportunity you're not truly ready for but it's still a job with a paycheck and it might only last a few months but it's still a job?
I felt like a jerk to say "No, don't do that, don't just take what you can get" while you're sitting there worried about feeding your family.
But after a lot of thought, I've come to a pretty hard stance on why you shouldn't. Hopefully expounding on this will reveal why I feel it's a hard stance.
While a lot of this article could be applied to any job field, I think, in particular, as a programmer, there are some risks you take on that don't normally exist in other jobs. If you're in a tech-centric company and there are thousands, maybe millions, of users seeing or using the tech you're working on, imagine what happens when you make a mistake.
You will make a mistake.
The amount of scrutiny you go through if you muck about with a users experience and ruin it and introduce a bug can be intensive. If you're on probation, the risk factor is really high.
Imagine you're a fresh grad or you're in a country where jobs are scarce and you have a bunch of openings as a programmer even though some of the openings available to you don't suit your skills.
Ok well it's a start.
But what happens when you inevitably make a mistake? What if, especially as someone new, you make a big mistake? Even worse, what if you sell yourself as someone who knows the field they're being hired for (when you don't) and you make a mistake and questions are asked and suddenly it's found out you didn't know it as well as you said you did?
You've now created a negative view of yourself. You're not trustworthy. It could be because you lied about your skill set. Or maybe you were so ignorant that you didn't even know you were in the wrong job. Or insert any other number of possible negative reasons employers and colleagues could come up with about why you took a job that you couldn't really be successful at.
You know what's worse? If a company knows you're a back-end developer and they're so desperate for front-end developers that they're willing to hire anybody with any tech skills to do front-end, that's a really bad sign. It means they're already in bad shape and they think that just adding a warm body to produce more code will fix the problem. It won't. That company needs to hire strategically otherwise you're just adding people who will add more junky code to an existing junk pile of code. That's making the problem worse, not better. Why would you want to work in that environment when it's basically doomed to fail? Or at the very least you are doomed to fail.
So guess what? You're back to square one. As a matter of fact, if you've projected yourself in a negative view because your decision backfired on you and you lost your job, well, you're now limiting yourself in the future. You might not get a reference letter and word may spread about how you handled yourself. Now you're actually worse than square one. You're negative squares now.
If this career matters to you and you want to feel successful and see that happen then you have to take care of your career. You have to be aware of your own strengths and limitations. You also have to be aware of what you're jumping into when it comes to other companies. You want to find a job where you and the job/company are as evenly matched as possible. That, at least, removes a lot of risk around failure. Catastrophic failure, at least.
If you don't care and you're just clocking in and out, well, that's ok. Maybe get a government job then, haha.
You might be up against the wall. You have to make hard choices. But don't make choices that increase your risk of failure. Especially when that increase is huge by comparing the baseline risks. Especially if you don't really have to take that risk.
In my personal opinion, if someone is recommending that you just grab whatever you can, even if your skill and the job have a massive gap, they're probably not thinking very thoughtfully about you.
If you're tempted, for whatever reason, good or bad, to take on a job that's open to you when you don't really have the programming chops to do it effectively or, at least, decently, then please take a moment to re-consider whether you should take it. You could be making things worse for yourself down the road. The bad results from a decision like that may not be seen for months or sometimes years. It can be easy to fall into it. Take a moment, consider the context, make a thoughtful decision.