3

I decided to check if there are any interesting job opportunities in my area. Several words about my job experience and skills: I am self-taught. I have 2.5 years of working experience:

1.5 years in ER-Telecom company - I and another junior guy worked together as full stack developers (Flask + Bootstrap + some JS)

1 year as backend developer (aiohttp, asyncio) in one production company where I work in presales team. I cooperate with frontend developer who is also team member.

From my point the both jobs are really good for noobs since I do everything from designing to coding the whole solution. So I can choose any database (PostgreSQL), messages queue (RabbitMQ), cache (Redis), http framework (aiohttp, flask), create Docker containers and use Docker Compose, etc. On the other hand there is no place to grow any more in my current team.

I had interviews with two companies this week and I honestly told them that I did not work in big teams, I did not receive any answer from them yet, but it seemed to me that it was really red flag for them.

So my question is if it really so important to have such experience, since I saw many posts that some members of big team just do some dirty job and do not see the whole picture?

I was told that I just do "child programming" by one of interviewers only based on the fact that I have not worked in "big" (5-10 persons) teams despite the fact that I answered many previous questions.

7
  • 4
    I'm not sure what you mean by "child programming" and in no way do I consider a "big" team to consist of 5-10 developers. Perhaps your lack of experience is really the problem here. Plus as a self-taught developer you're going to have a tough time selling yourself to begin with.
    – jwh20
    Jan 14 at 18:40
  • 5
    By my experience working in big teams requires totally different personality. Big teams its much more like a factory worker, where you repeat same task over and over. You dont get involved in the whole business process. While small places will involve you from a to z in the processes and you need to have much wider area of knowledge. If you look like a person who dont have the personality as a factory worker, they might not consider you, even you have all the skills needed.
    – Mr Zach
    Jan 14 at 19:06
  • @jwh20 sorry I am not English speaker, so "child programming" = "you code like a child" or "you never did real programming". Unfortunately Russian university education is very weak, so the majority of programmers in my country are self-taught, so I am not exception at all. Also I have STEM education ( Physics ). Jan 14 at 19:54
  • @MrZach yeap, I've also read many posts that in really large teams, some developers don't see the whole picture and work in a really narrow role. On the other hand I do not have e.g. knowledge how to work in one repo with big number of other developers, so it could be beneficial for me to get the skill. Jan 14 at 19:56
  • 1
    @ArtiomKozyrev, In the future, accept the kernel of truth in their criticism, and tell them that's the reason you want to work for them. That's probably what they wanted to hear. Also, check out this guy youtube.com/watch?v=iL6Iphg77DA His channel is not going to be good for your ego, but it should help. Then, practice interviewing on pramp.com Jan 17 at 9:13
7

An interviewer referring to your experience as "child programming" is insulting and unprofessional to say the least. That's not even a grey area. You've probably dodged a bullet with that one.

As for your actual question: Yes, experience working on large teams is important, but it depends on the position you're going for. Most companies require people to work in teams, and many positions (specifically senior ones) require people to be able to interact and understand processes relative to a team. In larger companies, these teams tend to be of considerable size to match the effort and investment.

That doesn't mean that it's absolutely critical, and instead of focusing on the concept that you haven't previously worked on a large team it might be useful to answer in a manner expressing a significant interest in working on a larger team. Describe a desire to expand your collective experience and business/technical interactions.

And as always when job hunting, keep trying.

3
  • Actually it was not a question from that interviewer (who is one of team leaders in that company), I always give the most detailed information about my skills to potential employers, that's why I paid their attention to the fact that I worked only alone or a in a very small group and also told that it will be beneficial for me to get such experience. And I paid much attention to words about "child programming" since it is really rude and offensive from my point of view. Jan 14 at 19:48
  • Imho your answer is missing the very important fact that you'd be missing experience in some technical topics, which only become relevant in bigger projects. Other answers have highlighted that. Honestly, I will handle people who never worked with more than 2 other project members as juniors - no matter how many years they are working. Calling it "child programming" was unprofessional, but I know exactly what he meant.
    – Chris
    Jan 16 at 15:47
  • 1
    @Chris: I don't disagree with your sentiment. I will suggest they could be missing technical topic experience. It's not a guarantee. I would agree there is a junior quality to them because senior individuals in large teams are expected to have experience with communication and influence at this scale. Jan 16 at 17:24
6

Depending on what types of jobs you are looking for, working in a large team is not necessarily important. However, there are elements of development that either do not make sense, or do not really show up, until there is a large enough project, or a large enough group of developers working on something.

One example can be dealing with source control and various branching strategies. When there are only two developers on a project, you will very rarely run into situations where commits have been made that can cause large merge conflicts for other people. This is much more common, though, in a larger project and with a larger group of developers.

Another example, one that I remember from comparing the classroom to the real world, is understanding of interfaces in languages such as Java and C#. In a classroom, interfaces might make sense, but there's no real need for them when everyone is working in a single file with only one class that implements the interface. Out in the real world, though, those concepts become much more important when you are in a large project, focused on only one section, and having to deal with implementations that you can't look through or even access.

If issues such as these can have an affect on a job search, then identifying these issues and figuring out in advance how to respond to questions such as "How would you handle..." would not be a bad way to go. You may not have the direct work experience, but it would demonstrate how you have already worked through the issue on your own.

1
  • Thanks for the answer I really agree that I need more Git skills to work in one repo with many developers. Jan 14 at 19:50
3

There are things to do differently in a large team. For example, if you are a team of two, you won’t have many merge conflicts (which are a pain), so if you let things go a bit little harm is done. If you’re in a team of 15, if the team doesn’t handle pull requests immediately, you can get into a pretty bad mess. Anything you do affects 14 other people, not just one.

However, if you are flexible and not stuck in your ways, that should be something you can learn quickly and easily if you are told once or twice. So this lack of experience is something you should be able to overcome quickly.

3
  • Absolutely agree, thanks for the answer Jan 15 at 7:36
  • There are only conflicts when everyone works on the same files. Jan 15 at 21:27
  • @BernhardDöbler So what would be different between a two person team and a fifteen person team?
    – gnasher729
    Jan 17 at 9:00
0

A small team is often more likely to ignore design elements that contribute to maintainability and scalability, i.e. SOLID design principles:

  • Single responsibility
  • Open/closed (extensibility)
  • Liskov Substitution (Implementations with the same interface should never give different results)
  • Interface segregation
  • Dependency inversion. High level modules should not depend on low level modules.

Large companies are severely impacted when these principles are not enforced. It can cost a ridiculous amount of money to make changes as a result. The importance of these principles is understood from the executive level all the way down to the lower management level, and built into architecture, project plans, and the budget. No place is perfect, and compromises are made. But at least there's an awareness.

Small companies often have non-technical managers running the show, and things just don't go so well as relates to implementing SOLID.

https://en.wikipedia.org/wiki/SOLID

1
  • 1
    I guess that it depends on people who work in company than on the company size, on the other hand I absolutely agree that good practices are important Jan 16 at 10:48
-1

So my question is if it really so important to have such experience, since I saw many posts that some members of big team just do some dirty job and do not see the whole picture?

Teamwork is important but the size of the team doesn't really matter. With this in mind I would say that you work in a larger team than you are making out. This is because you don't just work with programmers you have also worked with other profession i.e. non-tech people. These are just as important as the programmers in the team. The next interview you go on make sure to include these when speaking about your experience of working in a team.

I was told that I just do "child programming" by one of interviewers only based on the fact that I have not worked in "big" (5-10 persons) teams despite the fact that I answered many previous questions.

This is quite insulting I would say that's a red flag from the company and that you dodged a bullet. In the future I would mention that you are interested in being part of a larger team. Any reasonable company wouldn't see this as a large negative.

1

Not the answer you're looking for? Browse other questions tagged .