Software Development: Putting in The Extra
By Nick Suwyn
Wrestling played a lead role in my high school life and I often find many of the lessons I learned then transcend the mat even now. However, as a young and ambitious athlete, one of my coach’s proverbs seemed to sink a little deeper than the rest. He would often say, after a grueling and relentless practice, that just attending practice is not even close to enough; those who dream of becoming champions must put in The Extra.
Everyone who participates in wrestling goes to practice and the required duels and tournaments. These requirements alone are not easy, they take hard work, dedication, blood, sweat, and tears (not to mention over-intensive dieting to make weight!) but they alone are not enough. At most they put an individual on the same playing field as everyone else. For those who wish to rise above the rest, those who dream of becoming the best, those who are not satisfied with participating in mediocrity and grasp for excellence, they cannot just do the minimum. They have no other choice but to put in The Extra.
If at this point you are wondering what does any of this have to do with software development, keep reading; it has everything to do with it!
So what Is The Extra? In wrestling, it is sacrificing extra sleep to wake up early to lift weights and run with the purpose of becoming stronger, faster, and better conditioned than everyone else. It is dieting and cutting weight in order to attain the weight class where your body performs at its best. It is choosing to run home after an intense and agonizing practice rather than getting in a car like everyone else. Finally, it is pushing yourself to your furthest physical and mental limits until you can hardly breathe, and then straining to push one more inch. This is The Extra it takes to become a wrestling champion.
As I often remind my programming students, these same principles can, and should, also be applied to software engineering.
Applying The Extra to Become a Champion Software Engineer
1. Like early morning running and lifting for wrestlers, software engineers should also include exercises that stretch our minds and take us out of our comfort zone. Don’t feel content with knowing just what you know. You should constantly feel a burning desire to gain more knowledge, to learn something new, to continuously expand your horizons. Take online training, earn certifications, attend conferences; we have access to a myriad of invaluable opportunities that one cannot afford to overlook
2. We then must diet; this is the prioritization portion of success. Acknowledging and pursuing the best use of our time, while skimming away the fatty, nonproductive endeavors, will undoubtedly lead to a higher place on the podium. Are you spending too much time playing video games, loafing around, or mindlessly watching twelve hours of The Walking Dead? If so, reprioritize. What things should take precedence if you wish to excel? Knowing your stack, for one. Get to a point where you don’t have to reference the manual when building a new application from the ground up. Experience time better spent by researching a new technology. Read highly rated books, thought provoking articles, your core language’s most common (and even not so common) APIs. There are so many ways we can utilize time to our advantage if we only put in the effort! I am not suggesting you give up all other pastimes and relaxation but if you don’t make coding a priority, then it won’t make you a priority; think about that before you ask for your next pay raise or promotion.
3. Another piece of programmer dieting is consuming philosophies and attitudes conducive to success. A lot of people complain. Too many software engineers are too talented at pointing out everything that resembles a problem. Now, pointing out problems is not the problem – constantly complaining for the sake of complaining is. Do not follow suit here, cut out the poor attitude from you diet and take a more active stance in both finding and solving pain spots, as well as improving the morale of the workplace as opposed to tearing it down. It may be cliché, and highly overstated, but that is because it’s true, that a positive attitude will lead to success. Don’t bring a personal Eeyore cloud to work with you. Be happy! Once work is over, or school is out, do you rush home and try to forget about programming until you punch the clock the next morning? Do you leave your code in a mess, or in the middle of writing a method because the clock just changed from 4:59:59 to 5 pm? If so, you are the wrestler who rides home in a car. Rather than stalking the clock, you should be writing great code and enjoying it. If you attend a conference and have a question about the subject – make sure you stay and try to ask the speaker for clarification; you will find priceless nuggets in staying a few minutes later in many situations, whether that is an answer to a question, a remedy for a broken algorithm, or that “click” that comes and you realize the perfect architecture for your project. Sometimes putting in The Extra does mean putting in extra time, but you will find that it is worth it!
4. Finally, practice. While attending practice is the minimum requirement, you can turn the minimum into The Extra if you approach it with the right mindset. If you go to school and just glide along, putting in zero effort, and just barely graduating, then you are failing. If you are comfortable with showing up to work, lackadaisically clicking a few keys and writing some sloppy functions, then it is a good thing you are at least comfortable, because you won’t be moving on anytime soon (unless you get fired).
Conversely, if you show up to school or work ready to learn something new then you will, and you will love it, and you will succeed! If you step up and take on more responsibility to stretch yourself and grow, then you will do just that, and the growth will not stop! Be that developer who grabs at user stories like the zombie apocalypse is occurring and they are the last sustenance on the shelves! With an attitude of wanting to learn more, to take on any challenge, and to push oneself until you cannot even crawl off the mat, you will find something so satisfying you will wonder how you existed without it.
If you are already doing these things, then hats off to you and keep it up! If not, cue “Eye of the Tiger”, throw on a robe, do some jumping jacks, and start putting in The Extra. Because that is what it takes to be a Champion Software Engineer.
Nick Suwyn Co-Owner of Suwyn IT Solutions and a Full Stack instructor for Coder Camps.
Nick Suwyn LinkedIn