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 would say it's bad to have nobody to monitor you.
I have the experience of working on a 10+year old project that was started by one guy who learned programming alone. Also no stackoverflow at that time. I am sure you can guess what mess is the application right now.
That guy learned the hard way, and is still, today, not able to correctly split an application in modules that do not intertwine together and has no idea of best coding practices.
Don't be that guy.
As said in some other comments, try to solve on your own, then ask a senior to check after you. Another approach is to consult a senior about different solutions you want to try, and they'll tell you the best solution regarding parameters like your level, the task difficulty and the technology that is involved. All that is not possible as junior.
Last thing, many juniors will be in it works, it's good mentality.
I would say it's bad. Only making things work is not enough, it has to work beautifully.
It's very personal, but you'll get to that in your career.
We are working with new technologies such as Node.js, React.js, Docker, Kubernetes etc.
Don't judge yourselves as junior developers. Knowing and using docker, etc. is not really under a hood of childhood.
Stuck in some issue?
Shit! We're making big mistakes everyday~!
Ah, we're making much more progress~~!!
* Best of luck *
Fuck those who banned or down-voted you. I could understand comments like "RTFM" but banning is just plain idiocy.
You know what, if you are really interested and genuinely want to learn, pm me (links are in my profile). I will help you. I don't know much about Node or React but I can help you with Docker + Kube.
As for "if it is a good choice or not?" I would say no. It's better to have a guide, however I won't say it isn't possible to build without a senior developer. The problem with completely new team is lack of the vision at larger scale which comes with experience.
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.
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!
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:
Like you said, a Senior developer will give the shortcuts your team needs. I think is a good alternative from a startup that need to grow fast.
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.
Good luck.
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.
Software Engineer
Vishwadeep Kapoor
I will despite suggest u play with the code as much as possible to learn all the if and buts of the coding by ur self, in my suggestion if any senior will tell u the right answer in 10 mins. you will not able to learn the 10 different thing u might go through when u have searched by ur self.
Happy coding!!