Programming for Non-Programmers Class

Business & Tech SignYou would think that someone who grew up in the heart of Silicon Valley, who worked at Google, and who has launched 3 tech startups now would know more about coding than I actually do—but the simple fact is that I am a totally NOOB when it comes to programming. More recently I have been motivated to learn about coding on a much deeper level (some of the reasons why are mentioned in my prior blog post here). Last month I decided to take a coding class called “Programming for Non-Programmers”, an online class taught by One Month for the technically challenged like myself. To be honest, at first, I was not sure if it was the best class for me to take since my goal is to eventually be able to program my own prototypes, fix any problems with my current tech ventures, and to fully know when I am being bullshitted by a developer. So I was unsure if spending 4 weeks learning more foundational stuff versus just jumping right into a hardcore programming class was going to be a good use of my time.

Needless to say, I am extremely happy I took the course. Not only did I learn a great deal about the foundations and history of programming (which I probably wouldn’t have really learned otherwise), but also I got a great introduction into the front-end programming languages, which include CSS, HTML, and JavaScript.

The course was four weeks long and each week held some new knowledge that I either a) knew a little bit about, but not enough or b) knew nothing about and didn’t even realize it was something I needed to know.

Week 1 specifically focused on getting your ideas out from your head and onto your computer. We learned about the art of programming. We learned about MVPs, different job functions and knowing who best to hire, how to figure out and answer key questions in a business assumptions worksheet, and visual design (both the important components and key concepts). We also went more in depth about the difference and importance of wireframes vs technical design flow diagrams and what their uses and functions are.

Week 2 focused much more on de-mystifying the back-end languages. We learned the different types of languages (high end vs low end) and why you would use one language over another (hint it depends on the project and whether it is a native mobile app or web-based). We also dug deeper on responsive design, different types of frameworks, and understanding tech stacks.

Week 3 was probably one of the coolest weeks because we actually got into some real coding using the front-end languages. We dug a bit deeper into CSS, HTML, and JavaScript. We learned some key terminology like arrays, functions, and conditionals–and we even got to build (okay, modify really) our own randomizer app and super simple website.

Week 4 was sadly our last week. The final week focused on content management systems (CMS), understanding how to get your site “live” (i.e. from your computer onto the internet), and how to actually update live sites. You can check out the cool 1990’s-esque website I built here for my final project using the front-end languages I learned. Having worked in the entertainment industry for many years, I really love documentary films, so my final project helped me showcase some of my favorite social impact documentaries. While my final project may seem very simplistic (it is!), however, if you put it in context–this is coming from me– someone who knew none of this stuff a few weeks ago. Needless to say, I am pretty proud of my old-school site—maybe I should share it on my MySpace page! 😀

Week 4 also gave us some great bonus videos about Git and GitHub. We also discussed the importance of a job scorecard when hiring a new employee. You can see the job scorecard I created for my hypothetical new employee for my side project, JabberCity. I think job scorecard’s definitely bring more to the table and get the hiring manager to think deeper about what kind of talent they need than a typical job description does.

So you may be wondering what my goals are going forward. Well, I am definitely a huge fan of One Month now and they offer a ton of classes. My goal over the next 3-6 months is to take a few more of One Month’s online courses. I want to become as proficient as possible in a few back end languages (mainly Ruby and PHP). 6-12 months or so from now, I would like to take an IOS class since my newest mobile venture, SWYK, is built primarily for IOS. As I stated above, I want to become proficient enough in coding so that moving forward I can fix bugs that I come across in my own tech projects, I also would like to be good enough to build my own simple prototypes should I have any other crazy business ideas going forward. I think having some programming skills will also help me make better hires in the near future for my companies.

I do highly recommend taking an online course if you want to learn something new. It’s an efficient and often affordable way to learn new skills. In fact, if you are curious about learning how to code, I highly recommend One Month’s Programming for Non-Programmers (PFNP) class as a great starter class. The class will give you a great foundation on programming and the overall fundamentals you need going forward. Not to mention that there is some great “live” support. Our teacher Chris was awesome. He hosted weekly office hours, answered questions on our shared Slack channel throughout the week, and gave us great feedback videos on the homework assignments. Plus the other students in the class are also there to help out and they really add to the enrichment of the class. PFNP really is a great primer for those who eventually want to go deeper into more hardcore coding.

That’s it for now. Happy learning!

Not Knowing How to Code Sucks…So, it’s About Time I Learn

ep_23I am a serial entrepreneur and have founded, consulted, and advised a number of startups over the years. I’ve recently realized that not knowing how to code really sucks. Besides the frustration of having a ton of ideas I would like to build and not being able to do it, there’s also the annoying little fact that I was recently screwed over by a developer who promised to help build the technology behind my newest venture and then totally didn’t produce anything. I am determined not to let that happen again. Hence, I have decided to take matters into my own hands. I recently enrolled in One Month‘s online class to help me learn the basics of coding. I am in the very beginner’s class now, but have plans to take many more of their classes so that I can become a lot more proficient in coding.

Part of my first week’s homework assignment was to interview current developers and find out why and how they learned to code. Both of the gentlemen I interviewed had helped me work on my very first startup back in 2011. It was interesting to see how different their reasons for learning to code were. Developer 1 wanted to learn to code because there was a video game he could not beat so he taught himself how to write a cheat that would help him out. Developer 2 decided to learn to code because a good friend advised him that it would be an important skill to learn for the future. They both had similar advice for me that basically boiled down to these key points.

  • In order to be successful at coding, it’s important to find a problem that I am passionate about and tackle it first so that I am more motivated to learn—especially since coding can be tedious and hard when you are first learning
  • I need to practice everyday. Be curious and try to constantly be learning
  • Don’t take on too big of a project as my first real project. Make it simple
  • They also said they would both hire me if I became more proficient because they think I am awesome (their words, not mine!) Yay!

I know it will be difficult moving forward as I already have a lot on my plate between launching a new company, being a mom of 2, and juggling the myriad of things that need to be done everyday, however, I am determined to learn this new and important skill.