So, you aren’t a developer. You don’t know a line of code from a line at the grocery store, but that’s fine. Terms like “Java” and “Swift” only pertain to coffee and the speed at which it comes to you. But that’s okay! Not everyone who has built a successful software startup began by knowing computer science. Managing a development team is a skill they may have learned over countless years of challenges and growth.
All of these steps below are written like a path you can follow to grow your own skills. These have all been learned through painful experiences and long-nights and weekends from countless founders we’ve spoken to throughout the years. While each step is individual, they all trickle into each other, and for that reason we recommend you follow them in the order presented below. We hope they help you gain confidence and realize that not having a technical cofounder is not the end of the world. It may take some more work and added stress, but it is possible! Remember, you can never do worse than Vince Vaughn and Owen Wilson, and they got an internship at Google, right? 🤔
Step 1: Do Your Research
Computer science is a very confusing topic. When you first look at a line of code or read the resume of a freelance developer, it may feel like an alphabet soup of letters and languages. They’ll reference tools they use, programming languages they have built products in, and course curriculum you probably would have slept through in college. But that’s not the point. The goal is to have the skills to ask the right questions and identify the team member you can trust to bring your idea to life. In order to do that though, you need some skills yourself. Whenever you are interviewing a new developer, you need to realize they are only going to answer the questions you ask. If you do not know what to ask, you have no idea what you will end up with.
A great way to gain this knowledge is to spend time learning about computer science. There are countless great resources online such as the “Crash Course” YouTube series we posted in our “How Do I Build a Mobile App?” blog article. There are some videos as simple as…
…to full courses you can find online for next to nothing. Once you watch a few hours on YouTube or read enough blog articles, you can take this learning to the next level. For example, most people don’t know you can take the entire Harvard entry level course about computer programming called Harvard CS-50 online…. for free. This is a much larger commitment though, since it’s a college course with over 50 hours of video courses and homework. If you want to get excited, just check out their intro video. Full course available here https://online-learning.harvard.edu/course/cs50-introduction-computer-science?delta=0
Remember that you are your stand-in CTO. That means you need to grow your skills or risk making major mistakes early on.
Step 2: Find a Mentor
This step cannot be overlooked because, while we think any individual can get a base knowledge of what computer science is about, it’s very difficult to make high-level technical decisions without having someone more experienced on your team. This individual can be someone you know who you can ask for a quick coffee or bite to eat. Maybe chat about upcoming trends they are seeing or challenges they recommend you avoid. It could also be an individual you find online on a website like www.upwork.com who is based in the US and will consult at an agreed upon hourly rate. This individual doesn’t mind jumping on video calls and helping you identify what you as the founder are missing. The world of technology is very confusing, and it is extremely easy to end up going down the wrong path. There were a lot of founders who hired a programmer early on who built their product in a programming language or tech stack that was not in alignment with the founder’s vision. A lot of times founders don’t see this happening until it is too late, so please meet or hire at least one person who can help guide your decision-making while you are learning. Always remember to be cognizant of their time because, especially if they are a mentor, you are getting more out of the relationship than they are. For those reasons, at the end of every meeting always be sure to ask them if there is anything you can do for them— even if it’s as small as leaving them a review on a website or liking their Instagram account. There are always easy win/wins that you can find.
Step 3: Learn How to Guide & Manage
This is another common mistake I see all the time from first-time founders. They believe that they can just hire a developer to build their product and be done. The thought that they will be dedicating tons of time to this process never crosses their minds. This is a major issue because even the best developers need a commitment from you as the founder to bring your idea to life. This can be something as simple as making rudimentary mock-ups of your app using Microsoft Word or something more advanced like Marvel Prototypes. There are countless ways you can communicate the vision for the app, and every hour you invest in this effort has exponential hours (and money) saved when it comes to building your product. I remember early on I was able to convey the goals of how I wanted our first app to function just by creating simple pencil sketches and putting them into a prototyping tool like Marvel.
Most people don’t realize that guiding a software development product team is extremely similar to many other industries, such as construction, event planning, or any other field that requires heavy organization, deadlines, and communication. Never forget your strength is that you as a founder know your vision better than anyone else. Too many times along the way founders do not realize they are miscommunicating their vision. Simply put, this sets your team up to fail. The end product will never be what you want if you don’t choose to learn how to manage. Become your own project manager and take ownership over it because you’ll never be able to fully outsource this role.
Step 4: Use the Right Tools
The beautiful thing about Software-as-a-Service products is that almost all of them have a free tier for people like yourself. I can’t tell you how many tools we use that have a direct impact on the bottom line of our business that we pay absolutely nothing for. This is not meant to come off as a “humble brag” but more so to inspire you to check out the thousands of tools used by software project managers all across the globe. Just to name a few:
Use the Right Tools (pick ONE from each category)
Project Management: Trello, Asana, Basecamp, Clickup, Microsoft Teams
Chat Communication: Slack, Clickup, Skype, Whats App
Video Calls: Hangouts, Whereby,
Video Recording Software: Loom
Automate: Zapier, IFTTT
*Our personal company uses a combination of Trello for tasks, Slack for chat communications, Hangouts for video calls, Loom for recording bugs we find, and Zapier to help automate our reporting and make our processes all tie together.
Also, realize that each tool is meant to solve a specific issue for you, and there is no reason to use two different tools for the same exact purpose. Spend time researching the problem you face and pick the best tool that solves the issue for you. For example, in today’s world there are literally tens of thousands of “To Do Lists” tools, and you want to pick the best for your scenario. I have found that a simple way to research companies is by searching for specific problems like, “Best tools for Project Managing Agile Development teams,” and spending time combing through the results. Once you have a set of potential options, then you can spend more time searching things like, “Trello vs Asana vs Basecamp,” and you will find articles showing the differences between those tools. This way, you can see any tool’s limitations right upfront.
Here’s a great result from one of those recent searches:
Step 5: Constant Communication
Take it from someone who has met over 100 individuals who have been “burned by a development team.” The #1 reason they failed was because they were under communicating their business and mistrusting that the development team would simply understand their idea and figure it out. While it is idealistic to say every development team should take ownership of the project and ask you the right questions to make sure your product comes to life, we know that this is just not realistic.
Usually, when I ask a founder how they communicate with their developer, they say, “Oh, I send them an email every week or so.” What they don’t realize is that this breakdown in communication causes many of their issues. Developers are working on schedules and have lives of their own. If they ask you for something and you take 3-4 days to reply, then they have already moved on to another project. Getting them back and focused is a miserable process, and this usually causes delay after delay. It’s very rare that a founder is willing to put in the late nights or early mornings to make their schedule work for the development team that’s abroad. This is a huge sign of potential failure. If you are project managing an international team, that means you have to create the overlap in time zones. For me, when I was launching my first product I woke up at 5:00 AM every morning to have 3 1/2 hours overlap with my international team members in India. This enabled better communication about the project and allowed me have video calls (with cameras on).
During those video calls, I ask the developers to share their screen and walk me through what they have been working on. Unless it’s the first week or two of your project, you as the client will always have something tangible to help test or review. If your team is not pushing you an updated build to your local device every week, I would highly recommend switching teams. Nothing should ever be considered “finished” until you physically have tested it working as expected on your device. No developer will ever push you bug-free code or features that are exactly as you requested, but any developer whose worth it will show you noticeable improvements build after build.
I feel very blessed that we live in a world with Slack, Google Meets, Trello, and all of these tools that are here to help make sure our projects run smoothly. But they are only as good as the person managing them. Make sure you never go more than 24 hours without touching base on your project and making sure the team always knows what is next in the project. You can do this by creating Trello cards for specific tasks with screenshots of the issues and by just checking in during the mornings over your Slack channel. Something like, “Morning team! How are the Trello cards going today? What are our goals to have accomplished by the end of the day?” allows me to stay connected with the progress made by the team.
The final point I want to drive home is that there is never an excuse for not leading the communication for your project.
Step 6: Make Sure Your Mentor Audits Regularly
Let’s say you are following these steps perfectly and you are a few months into building your new app. This is a great place to be! To me though, it sounds like the perfect time to have your mentor check in. Hopefully they can install your beta app or review snippets of your developer’s code pushes on Github. This will give you the peace of mind that you are on the right path, and this will make all the difference in your startup.
On that note, we figured it was a perfect place to end. If you ever have any questions about the above topic, never hesitate to reach out. We are a company built on the steps above, and we hope you follow a similar path.