I'm currently a junior software developer and I'm working in a startup. Currently, the team contains 8 junior developers (including me).
We are working with new technologies such as Node.js, React.js, Docker, Kubernetes etc.
Personally, I sometimes face some issues and problems that I need the help or the opinion of a senior or someone who is more experienced than me to solve them or to discuss them. Searching through the net or asking a question in the forum or in the StackOverflow is not sufficient because you need some real conversations to discuss some problems or some solutions.
In the forums if you ask some 'stupid' questions you will be downvoted or banned and you don't understand the mistake. So, is it a good choice to continue with a team without a senior or mid-level developer?
I'd say no. Although it's a great way to get real hard-earned experience, it's not ideal, especially when working with multiple technologies you're not familiar with. There are issues or bugs with projects even when you're familiar with frameworks or technologies so don't aggravate your learning curve with being unable to get someone on the team to help you.
I'd say, join a team with experienced senior developers that can guide you when in doubt but do try to resolve as much on your own as possible because it is the best way to learn. I always keep dash close by for any references to anything.
Last but not least, buy a book, a course online on the subjects you're not familiar with and get on these today. Over my career, I took thousands of hours of courses online and off (on weekends, evenings, every hour I could spare) to get quickly up and running on anything I wasn't 100% with. Still do.
Hashnode is a friendly and inclusive dev community.
Come jump on the bandwagon!
💬 Ask programming questions without being judged
🧠 Stay in the loop and grow your knowledge
🍕 More than 500K developers share programming wisdom here
❤️ Support the growing dev community!
Any forum that HAS downvotes or would ban you for asking questions isn't worth using. Might I ask which sites have given you that type of response? Lemme guess, suck-up sycophant hives of scum and villiany like SitePoint where any dissension is met with hostility and bans?
I mean, you might get some harsh answers, answers you might not want to hear, but downvotes and bans?
There's a saying I use a lot:
There are no stupid questions, only stupid people. Smart people ask questions when they don't know something.
Basically, ignorant is not an insult. It means you don't know... so ask, we can fix ignorant. Whilst Ron White was right, you can't fix stupid.
As to having no senior dev or project leader, THAT is problematic even under the best of circumstances. It pretty much means you've got a bunch of greenhorns plodding around directionless. Who's supervising who works on what? Who's handing out tasks? Deciding how to divide up the workload? Reviewing commits for security reasons or changes that don't match the end goal.
Admittedly, I'm from the age when a project manager handled all merges and submissions, rode the herd on the entire project, and actually did their job instead of sitting in their office playing Farmville all day blindly hoping that version control software would do their job for them.
NOT that I'm saying there's anything wrong with version control software in and of itself, but like a great many tools projects are becoming over-reliant on them instead of putting more responsibility in the hands and laying accountability at the feet of the PEOPLE involved in a project.
A team with 8 juniors and no seniors? That doesn't sound good. The usual approach would be to have mid/snr devs around to guide and mentor the juniors. It's not impossible to learn on your own, but it's certainly faster with guidance.
There are so many things that could influence your decision... maybe think about these questions:
- are you happy going to work?
- are your skills growing the way you want?
- does the business have any plans to hire a senior to lead the team, or to arrange any training for the team?
- does the business give you and the other juniors time for studying and learning? ie. do they support you learning new stuff?
- can you find a mentor outside work? eg. through meetups?
- are the 8 juniors good at supporting each other? can you form a study group together, perhaps?
- do you like this job for some other reason that makes you want to stick it out?
- do you have other job opportunities, on teams that do mix junior and senior devs?
In a way it's possible, but that's going to be really hard for you guys heading coherently in a best logical way. You'll code. You'll make it ultimately - but that's not the same quality and as performant as that of an experienced developer.
But that doesn't mean you are useless. You don't need to have exceptional coding or management skills but super googling skills. Every problem that you'll face has been gone through by at least a couple of developers... which means you'll find answers too - only condition that you need precise search terms.
But I would recommend you to work with a senior developer. Just because you'll learn how to do a single task in many ways, that opens up your mind to solve many more challenges. A good way is to build relations with senior developers on LinkedIn and they might recommend you with a good dose of information occasionally.
I personally have learned a lot working under a senior developer. The way they write code and breaks down the logic for you is an impeccable journey of learning and growing as a software developer. Good Luck!
I would say it's a really bad idea to work with 8 juniors. Most juniors have a lot of wrong ideas about how to build applications, and if there's no senior around to weed out the bad ideas, you will likely not learn them on your own.
Worse still, some of the juniors can be really enthusiastic about their bad ideas and try to spread them around, so now you could have two problems: the bad ideas your originally had, and the bad ideas you learned from your colleagues.