Does coding experience make you a better PM?
It vastly depends on the product you are developing and the technical dimensions you are working with. Generally speaking coding can be very important depending on the job and your position within the company. Some companies value a Product Manager with a bit more coding experience, some do not put a big emphasis on coding abilities.
By any means, you do not have to be an expert developer and know how to code the next Facebook clone, however situations can arise where you could be limited in your abilities to lead a development team efficiently.
Imagine this scenario
You are the Product Manager of a development team currently working on a search function feature to enhance the online shop experience for your customers. When planning a new feature as a Product Manager you’d normally come up with the requirements and a user story and maybe build a prototype using a wire framing software to demonstrate functionality. Most importantly come up with an explanation of why this feature would significantly enhance the users experience (business value). Your business value in this case would be the fact that you’d provide the customer with an option to search your entire website and filter their desired product/s. Ultimately it’ll shorten the users navigation process to the purchase and checkout point. You shorten the conversion funnel.
Your next step would be to communicate it to your developers and discuss technical dimensions (ideally before the Grooming already when discussing new stories). The more you know about coding at this point the more you can already write down in your requirements and nail down what would have to be done on the developer side. That can save time for the developer and let’s be honest, it would make you feel great too to contribute using your coding skills.
What would the Developer have to do in this example? There are different ways to approach implementing a search function on your website. I am not going into detail but it involves some html work using a form and different tags (labels, input fields, buttons, method=“get or post”; action). The action attribute would define where to submit the search request to on your server (that can be a PHP/CGI script for example). If you have a server large enough to handle big chunks of data + you have CGI support then the best way would be to host the search engine on your site. You also have the possibility to host it with a third party service, however you will be limited to their features then.
Now let’s explore some opportunities out there on the web to learn coding more deeply and/or to get started.
I will introduce you to a few websites and online courses that I thought were valuable one way or another. I will concentrate on covering three, while I am aware that there are many more out there.
Three ways to learn coding
1. Code Academy
Code Academy builds on providing an interface that combines learning material with a practical component. When learning new tags and elements you are directly asked to use them explaining a certain situation and then encouraging you to solve the coding challenge. Now this is a great way to go about learning how to code as you see the code come to live.
While Code Academy succeeds on providing a platform that creates opportunities for those committed to step their game up and learn how to code, for me personally it misses that instructor part that I very much enjoy. A human component and having someone take you through coding lessons is irreplaceable. Nevertheless Code Academy does a great job on getting you started.
It is free to use and great to start off with coding. Code Academy have steadily improved over the years, particularly by providing the practical courses that put your newly-developed skills to the challenge. The only disadvantage may be that you get stuck completing various lessons at times and have to look for a solution on the forum. I can’t help but think especially for those starting out an answer section at every step would be beneficial. Telling from the conversations on the forum, some struggle for hours to complete a section.
2. Rob Percival – web and iOS app development courses on udemy.com
Rob discovered his passion for coding when building websites for his relatives and friends. He runs code school in Cambridge every summer to help kids aged 16 to 19 learn how to code and develop apps, games and websites.
Rob offers a number of online courses via Udemy including a web development course (using HTML, JS, CSS, PHP, MySQL, Bootstrap, WordPress, APIs, Mobile Apps) and an iOS8 and Swift course on how to develop apps from the get go. Now these courses are not free and priced at $199.
Having purchased his Swift course iOS8 and Swift course myself I can say that Rob finds a way to really easily communicate knowledge and help you achieve your coding goals step by step. Consider making this investment in yourself to broaden your skills.
Personally I have found that having an instructor, which guides you through learning a new coding language is more beneficial than just simply reading through the material and trying to pick things up along the way. It doesn’t stick long term if you are only reading up on theoretical concepts and can’t practice it or use it right away.
The courses introduce you to the world of coding in a very engaging way and Rob is a great teacher. The only downside may be the price here. In comparison – for nearly $200 you get a basic subscription package ($25/month) at Treehouse for approximately 8 months. However it has to be pointed out that Rob’s iOS/Swift course for example includes a set of extras incl. free webhosting for 12months, an asset pack with 1000+ of images for your App, an ebook and 75% discount on his web development course.
Treehouse has without a doubt established themselves among the top providers of coding knowledge and may be the most prominent one.
Treehouse offers two different pricing packages on a monthly basis starting at $25 and also offer an opportunity to try it out for free for 14days and explore their platform. The free trial is a good way to find out if the experience on Treehouse and the way knowledge is presented, is working efficiently for you and your needs.
What sticks out here is that the lessons are easy to follow (3 – 10 minute videos), cover a broad spectrum and teachers at Treehouse are really pleasant to listen to. You never feel like you are lost or not taken care of. Whether it is to learn how to build a Weather App or a simple Story App, Treehouse offers a large library of lessons and videos. An additional benefit is the forum for members only, which lets you interact and connect with others pursuing a career in coding or trying to rank up their coding skills.
Treehouse combines what make Code Academy great and Rob Percival’s courses engaging. The videos teach you what you need to know and the quizzes and challenges make up the engagement part and test if you have carefully listened to the teacher in the video. Absolute recommendation here, if you are serious about coding.
If you are unsure about rather to go for a Basic ($25) or Pro ($49) package I would advise you to first try out the basic one and then determine for yourself if you are missing anything.
To have coding experience as a Product Manager is a definitive plus and can help you juggle tasks and write requirements you may otherwise need assistance with from a developer. If you have a new feature in mind and know how to smartly implement it before even talking to a developer, this is great. Generally speaking the level of coding experience needed depends on the kind of job you are doing. If your product is a highly technical product that requires you to have coding experience and a technical background it is beneficial to read up and learn some coding. If you are working on a Product without a great technical aspect, you will be more focused on the requirements and making sure you come up with something to improve the user experience. Developers are there to build the application, you are responsible to lead them on the way to achieve this and translate customer needs. After all that is what separates developers and Product Managers.