X-Ray vision when managing developers & vendors

5 minute read
Scroll this

What follows in this section might sound foreign to some readers, but don’t skip over it. I consider these my core elements of development success, that is, they are non-negotiable. Even if you don’t understand it all, it’s important to get familiar with these concepts. Later, I’ll provide tips on how to manage it all from a high level perspective.

Cream of the Crop

The top 10-20% of developers will have a setup that includes three essential elements:

  • GitHub
  • Code Climate
  • Continuous Integration

If you, or your team, are not fluent in these tools and services, then you’re not keeping pace with the industry leaders. So get up to speed!

Know Why Testing Matters

One of the most important aspects of development is testing. If this issue does not come up, it’s a warning sign for poor quality. The best developers in the world are also testing experts. If you do not have this knowledge, hire someone who does. Avoid hiring anyone who doesn’t. If they tell you testing will slow the project down, they’re probably covering up the fact that they don’t know how to test.

My first book

I remember, about a decade ago, I read a book for the first time. Really. I was in San Francisco working on a project, and I had a free afternoon. So I strolled into one of the world’s largest bookstores to see what was on the shelves. Before then, I had read maybe two books in their entirety all my life. At the store, I discovered tons of books about programming written by successful pros that had years of experience. Then I thought, “Wouldn’t it be cool to read every book that exists on Ruby?” So I scooped up all ten and read them all, cover to cover.

I was blown away by the idea of books, not just about programming. A books takes an entire person’s experience and sums it up in a few hours of reading. You could never spend that amount of time with the person and pick their brain. A book lays it all out there for you, and you can go back to it again if you want. The value is incredible. Since then I began to consume books voraciously.

In my course of reading, I learned about testing. Every single great programmer and developer raved about the importance of testing.

Types of Testing

There are many different types of testing. There’s no general consensus about the best type of testing or the timing. I prefer to execute low level model tests, controller testing, and high level integration tests. That being said, I don’t do all three all the time. Experienced developers will implement testing as they see fit.

Train, Learn or Hire?

Can you train someone to learn about testing? Yes, but the learning curve is quite steep. While you should update yourself, the most practical solution would be to get a testing expert on board sooner than later.

Tests Save Time and Money

Once you have the tests in place, they’re useless unless you run them. For example, you might want your code to do A, B and C. Then a second set of code says I want to make sure A, B and C are working. You run the tests before you deploy your next version of the application.

Two sets of code may sound redundant, but in a project lifecycle sense, you save time. Manual testing takes 3-5 times longer than using testing code. Plus, embedded test code is always there. You always know the code is working which makes the intrinsic value greater. Otherwise, you have to go back into the code to check every single time – big waste of time.

Don’t Be Afraid of Commitment

Currently, I use GitHub. It’s is a version control repository (“repo”) service that uses Git technology to track code versions. Subversion is another service used by many. These services allow you to visualize every line of code, when it was written, and who wrote it. If, for whatever reason, a client denies you GitHub access, you might not want to work with them. It’s that critical.

When using GitHub you should see frequent commits, say every two hours or so. Google’s engineers make about 45,000 commits (changes) to their repository each day. This record of changes to a file should also be specific. If you see one word commit messages like “update” or something ambiguous, there’s a problem. Instead, you want something much more detailed like “move exhibits and transitions as inner route switch”.

High Level for the Less Tech Savvy

Another great feature of GitHub is that it integrates smoothly with Code Climate. This allows you to go in and check your test coverage for a project. It looks at the style and quality of your code, and it’s great for non-tech people to oversee work teams. It can also show you if you’re hitting the 80% test coverage threshold that I demand for all my projects.

Another vital tool is Circle CI (Continuous Integration) which determines if your tests are running before a deployment. So you run your tests before things go live.

Again, if you aren’t an expert in these tools, hire one. Also, get as familiar with these services as you can, for example, by understanding the dashboards.

What should you do?

It’s not always clear when you deep in the situation.  If you are in a difficult spot with managing developers or vendors, I have experience that you can leverage. Tell me about your situation so I can help. To set an appointment with me simply click this link to reach out. Something else on your mind? Whatever you need, I’m here. Life is meant to be done together, just reach out.

This post comes from my upcoming book, Modern CTO. Pre-register for a copy here

Joel Beasley

Joel Beasley founded the Modern CTO Podcast in 2017 while writing his book, the Modern CTO book, with the goal of interviewing CTOs and sharing their experiences with others in the tech community.

Joel’s conversational style and insightful questions quickly gained traction, attracting high-profile guests such as Microsoft’s CTO, Kevin Scott, and T-Mobile’s CIO, Cody Stanford. With each episode, the podcast’s popularity continued to grow, and soon, Joel found himself with a waiting list of future guests.

Today, the Modern CTO Podcast has become the number one leadership and tech podcast in the world, with over 150k active listeners, including CTOs, lead developers, and rising tech leaders. Joel’s commitment to creating a conversational atmosphere for his guests to share their experiences has inspired a new generation of leaders and innovators.

As the success of the podcast grew, Joel founded ProSeries Media, a podcast production company that helps companies worldwide create their own podcasts. With a team of producers, content creators, and podcast bookers, ProSeries Media produces over ten shows, providing a platform for companies to connect with their audience and share their expertise.

Through his work on the Modern CTO Podcast and ProSeries Media, Joel Beasley has become a respected voice in the tech industry, inspiring others to share their knowledge and insights with the wider community. His passion for creating engaging content that informs, inspires, and entertains has made him a sought-after speaker and advisor on all things tech.

Read more about Joel

Reach out to Joel

If Joel can be helpful to you, send him a message
or schedule a meeting.

Send Message Schedule Meeting
Fresh CTO Content 24/7

Fresh CTO Content 24/7

Join our mailing list to receive relevant content hot off the press.

You have Successfully Subscribed!