I joined the cross country team my freshman year of high school. I knew nothing about the team and little about the sport, but I figured running wasn't too difficult and was certainly less dangerous than football.
It turns out the team was one of the best in the state. They had a legacy of excellence for well over a decade. They consistently won their league, placed in districts and regionals and sent at least individuals, if not the entire team to state.
These guys were good. And I was terrible; slow, gangly, poor form, clumsy.... I had limited natural talent for running (or sports in general it would seem).
I was determined to get better. I was determined to letter my freshman year. So I hung out with the junior varsity and varsity whenever I could. I would run with them for as long as I could endure before falling off the pace. I got obliterated every day in practice and I finished "last."
Some of my team mates made fun of me. "Norton, why do you run with those guys? You finish last every day. Run with us. Don't be a moron."
But I lettered as a freshman. I went on to do fairly well. I lettered all four years. I ran varsity for a couple of years and rounded out my senior year as team captain.
I am much older now. And I still run. And I still remember the lessons from my freshman year.
Software isn't a competition. But like cross country, it is an individual task executed as a team. And the entire team relies on each individual; from the top runner to the seventh. On any given day, one team member's performance can suffer and it is up to the rest of the team to make up the difference.
If you want to improve, surround yourself with people who are better than you. Push yourself every day to meet their mark. And if you finish last, come back the next day and try again.
I'd rather be in last place among the lead pack than first place among the second-string.