I work for a small enterprise development team as a junior engineer. We have 15 people and most of our development work is very reactive and shoot from the hip simply bc many are self taught and nobody has really done software on scale before coming here and hacking together something.<p>Anyone who has worked at a large company that focuses on technology, what are some best practices for things that you would recommend?
Your advantage as a small team is in your ability to move quickly. The bigger a team or a company is, the more inefficiencies there are in making decisions and sharing ideas. While you're small, do every thing you can to take advantage of how nimble you are.<p>One concrete things you might want to consider is setting up a good code integration workflow and an automated release pipeline. This is, without doubt, the single best thing you can do to reduce friction and help you get faster - and speed is your secret weapon. It will also help you stay disciplined since everyone will have to follow the same process to integrate and deliver their changes. But before you dive in to set up the latest and greatest CI/CD setup, remember that you have different needs and requirements to a big company. Keep it simple and only add what you need and what clearly adds value (ask yourself is it worth the time[0]).<p>Another way that your small size is an advantage is in being able to communicate clearly with each other and make decisions quickly. In larger companies, decisions can get complicated. A small team has the potential to make coherent and strategic decisions without nearly as much fuss. Use that to your advantage.<p>Don't be too quick to adopt all of the practices of bigger companies and work to your strengths.<p>[0] - <a href="https://xkcd.com/1205/" rel="nofollow">https://xkcd.com/1205/</a>