In a shift from our regularly scheduled programming, today I’m delighted to share an interview with one of the Genesis’ communities finest, Tonya Mork of Know The Code.
Know The Code is a new membership site designed to teach you how to be a developer (particularly a WordPress developer) from the ground up.
Of course it’s not the only online resource out there for learning WordPress but with it’s slightly different approach – and it’s focus on Genesis in particular (in fact, this month is Genesis Framework month on Know The Code) – I wanted to hear more.
She’s also generously sharing an exclusive discount code for Know The Code for GenesisWP.guide readers and doing a giveaway for a year’s membership to the site at the end of this interview.
I hope you enjoy.
NICK: For those that don’t know, tell us a little bit about yourself, where do you live, what do you do and what makes you tick?
TONYA: Hello, I’m Tonya. I’m a happy-go-lucky gal who happens to be a software teacher, electrical engineer, and software engineer. I live in the states in a quiet, small fishing village on Lake Michigan in NE Wisconsin.
What makes me tick is kindness and helping. It comes in the smallest gestures of making someone laugh, holding a door for them, helping our neighbors, or sharing what I know to help here in this software community.
Things that I like are acid jazz, hot lemon water, baseball, and glorious sceneries.
What do I do? I share what I know to help web developers better themselves by teaching them how to evaluate and build clean, quality code…from scratch.
You recently did a (fantastic) interview with HeroPress on Finding Your Purpose In Life in which you explained some of the health challenges you’ve faced. Without wanting to make you repeat everything you already said there(!), for those that didn’t read the interview yet (and I encourage everyone to read that too) can you tell us a little more about what you went through and how it eventually led you to WordPress?
I used to build mega-million dollar high-tech systems for the major manufacturers in the world. But then my health failed and threw me into isolation, as I struggled everyday to survive.
During this period, I was lost. I started dabbling in WordPress for a non-profit and blog I started. It ignited my engineering self. I wanted to really know it; so I dug into the core code to reverse engineer it. Then I found the WordPress Community, which gave me purpose again.
I received a miracle (go read my essay on HeroPress for the details). In that moment, I was changed forever. In this third chapter of my life, I just want to dedicate myself to teaching and helping.
After getting into WordPress, how did you first get into Genesis and how long have you been working with it?
I found Genesis in the either late 2010 or early 2011. I believe in focusing your time and energies on those things that are unique and custom.
I had a choice of writing my own theme or using something in the market. Writing my own meant I had to invest my time to write and test it. Then over the years I’d have to maintain it. That didn’t appeal to me. Why? Because it is too costly.
Every website has custom features and components. These unique bits are why a client comes to you. That is where you do your work and make your money.
In a theme, there is a huge amount of redundancy from site-to-site. Genesis takes care of that for you, giving you a solid platform from which to do the custom bits. It enables you to spend your time and efforts wisely. You are not having to maintain the entire theme or adjusting it for SEO, WordPress, security, microdata, or HTML markup changes. No, you just maintain your custom bits.
I think I first came across your work, in a major way at least, last year when you were chatting to Carrie on OfficeHours.fm. It was just around the time you were rolling out the WP Developers Club (and I know you put together a pretty awesome team of advisors for that) and and now you’ve launched another new project, called Know The Code. For those that don’t know can you tell us a little more about those projects, how they came about and how they’re related (if at all!). From the outside looking in it seems like Know The Code is now your main focus?
WP Developers Club was in the works for about two years before it launched. I had the idea of creating a club just for WordPress developers. In engineering, we have clubs and associations such as IEEE and Society of Women Engineers, which provide education and services for their members. I wanted that for our community.
We started down a path of creating a formal school and apprenticeship program. But then we discovered that the market wasn’t as supportive of these educational programs,, due to the amount of time a person would need to invest to level up through it. The time and effort it would take to build these far outweighed the support. We had to rethink and make adjustments.
I turned WP Developers Club into a community, where you can join our Slack group and help one another.
But I still wanted to teach and help our community to redirect their time away from “searching for code and solutions” to building it themselves. I wanted to help each person to be capable of sitting down, putting his/her hands on the keyboard, and just writing the code from scratch. No more spending hours searching for how to do something. No more relying on bloated plugins to provide the features you need. I wanted to help each developer be able to maximize his/her time and have the confidence and ability to build anything.
So I took the educational component of WP Developers Club and shaped it into Know the Code.
Yes, I spend the majority of my time focusing on KnowTheCode.io now. As I release content nearly every day, my days are filled with planning out materials, recording, editing, releasing, and helping in the Pro forums. But I do spend time too in the WP Developers Club community answering questions and talking with fellow developers.
How’s it gone with Know The Code, so far? Any surprises (good or bad) or stories you can share?
The response from those who have signed up is incredible. I’m completely humbled by the by the response from the members who give me a chance to help them. People are so kind to share how it’s helping them and filling in those gaps.
I had one member who asked what one of the quips had to do with the PHP foreach in the Docx that he was reviewing. The quips are these silly, witty phrases that we embedded into the middle of the articles to break up the content. Code is meant to be fun. I wanted to inject a bit of humor to make you laugh.
Another person asked me why I leave some the errors and whoops in the videos. I want it to feel like you and I are sitting together working on code. In normal workflow, there will be some boo boos and backtracking as you are thinking through the code and problem. The videos are lightly edited to make them more real, i.e. more of unplugged, real world feeling to them. I don’t like over-produced showmanship, as it detracts from the code and learning.
Shoot, sometimes I’ll laugh and say, “Well I messed that up. I bet you caught that and are laughing at me.” It makes it more real. I like that.
A lot of your focus with Know The Code, particularly this month with your Genesis Framework month, is on Genesis. Obviously we’re big fans of Genesis here at GenesisWP.guide but what are the biggest reasons to work in Genesis for you and why did you decide to make it a core part of what Know The Code teaches?
I teach PHP, WordPress, Genesis, JavaScript, and jQuery. I selected Genesis as one of my focal core technologies because, in my opinion, it is a developer’s theming framework.
I talked about why I use Genesis early. As developers, we have to focus ourselves and our limited time on the custom bits. You don’t have time to write a theme from scratch for every project. There are far too many features and custom elements to each project. Just the styling alone is very time consuming. Genesis abstracts away the theming stuff and lets you do what professional developers do: write the custom bits.
I use it because I can customize anything in it easily and with minimal effort. I want to share that with you. I want you to maximize your talents and gifts. I want you to focus on the money making bits of your projects. Genesis helps you to do this.
You’re currently in the middle of Genesis Framework month, what other plans do you have for that and Genesis education in general?
This month I’m focusing on Genesis to kick off the theming component of web development and to begin building the knowledge libraries. It’s only a drop in the bucket of what will come.
I will be thoroughly documenting (Docx) each and every construct, even, constant, and data type for the technologies (PHP, WordPress, Genesis, JavaScript, and jQuery). These Docx will take time. I build them incrementally to support the hands-on building Labs.
As a WordPress developer, even if you specialize in Genesis-powered sites, you must have a solid foundation in PHP, HTML, CSS, and WordPress Core. It all works together. Then you can get the most out of Genesis.
For Genesis specifically, I will continue building the Developer’s Guide to Customizing Genesis, as there are many more components to add to it. Then I’ll be doing various Bootcamps and one-specific feature labs for you.
Over the months and years, you will get to build a lot of code, some of it will be feature-based plugins while others will be front-end presentation in a child theme. It’s code. Therefore, the possibilities are endless on what we can build together.
After Genesis Framework month, what’s the next focus?
Well in May I’m starting a bootcamp series for the absolute beginner to teach them the core fundamentals of web development and programming. I have an Object-Oriented Programming (OOP) Bootcamp that I’m working on which I’m not sure yet when I’ll fully release it.
I’ve barely scratched the surface of Genesis, WordPress, and PHP. I’ll continue building up the libraries for each of these technologies. Remember that Genesis runs on WordPress which runs on PHP. You have to have a solid proficiency in PHP first in order to build anything from scratch. OK, no problem, you’ll get that here.
Then in the summer, I’ll start working on jQuery and JavaScript.
What do you think of the current state of the WordPress education market in general?
I started Know the Code because I couldn’t find an online source in this ecosystem which focused on building adaptable, fundamental skills. Everything focuses on a single edge case. Education in our space is focused on “showing.”
The “showing” model creates a copy/paste mentality. You go and watch a video. For that one thing they are showing you, you can take the code and paste that into your project.
But are you able to turn that code into something else, some other feature? Did they thoroughly explain the thought process of why the code is constructing in this way, how it works, or what other alternatives are possible? Did they talk about potential side effects? If there’s a bug in that code or some side effect that conflicts with something else, did you get the skills from the educational source to properly troubleshoot that code?
Being self-taught typically means you learned little bits of information when you needed for a specific task you were doing. That creates these gaps, where something may work, but you don’t understand why. Plus you may have hidden bugs that cause the viewers or your client problems or nuisancy issues.
For example, the Event Registry system in WordPress’ Plugin API is a huge part of what we do, as it allows us to customize WordPress, Genesis, and other plugins. But do you really understand what an `add_action` or `add_filter` does? I see a lot of questions on problems with callbacks, arguments, and priority levels.
The fundamentals are so important to fill in these gaps.
Let me give you an example that might be relatable. This weekend I was with my in-laws. The family is very musical. My niece was teaching me how to play a small scale in this song on the piano. I don’t know how to play the piano. But I copied what she told me to do. I was able to get the notes out of the piano. So it sounds like I could play. But I can’t play any other part of the song, read music, or play any other song. I just copied what she showed me. I didn’t learn adaptable skills.
Other educational and tutorial resources are valuable. Don’t get me wrong. If you have a solid baseline knowledge and know the code, then you can really get a lot of these other sites for those specific edge cases and features. You’ll know how to take what they are showing you and alter it for your specific needs.
Of course, there’s a reasonable amount of WordPress and Genesis courses out there already (though I think the market is far from saturated). For Genesis, I’m thinking of Carrie Dils over at Lynda and Sridhar’s own membership site particularly – have you given much thought about how you’ll distinguish what you’re doing from other offerings or how Know The Code complements them? If so, how do you plan to do so?
Absolutely. Know the Code is very different.
Those sites are focused on a specific edge case. When you need a specific feature to add to your website, such changing the top navigation bar when scrolling down the page, these sites are awesome for that. Sridhar, for example, provides creative tutorials for you to add cool features to your site. Carrie teaches basic theming in Genesis. These resources help you to see code and site design in different ways.
But they do not teach you the true essence of code, code construction, clean, quality code techniques, root cause analysis, or how to think logically and solve problems. They do not empower you to take what you learn and expand it in real-world, professional programming and development skills.
I’m teaching you how to not only work in Genesis or WordPress, but in any web development profession. Code is code. Once you learn how to think about code, you can get that computer to do what you want it to do.
Isn’t that what you want? Don’t you want to quote a project and know that “Yes, this is the way to do it and I know how, on my own?” Don’t you want to be able to just sit down, know exactly what you are doing, and just let the code flow out of you into the keyboard? That’s what I teach.
I think the current resources are valuable and we complement one another. But what I do is very different. While yes, I will give you something pretty to build or some cool feature to add to your project. But those specific one feature edge cases are a cover to teach you true programming and web development.
I want you to be able to own that title “Web Developer” and have it mean something not only in WordPress but in any market or technology. I’m teaching you this profession and craft.
I think that distinguishes Know the Code and me. I’m here to serve a different purpose.
Are there any other WordPress businesses you particularly look up to, either inside or outside of the Genesis community to copy get inspiration from (and why)?
I’m very drawn to people and businesses who live integrity. It is who they are. They are about helping you to be more awesome. They know that community-first and value-first approach helps for the betterment of the entire ecosystem. They do not employ the sizzle, flash, or over-the-top salesy stuff. You don’t feel pressured or icky when you visit their sites or read their stuff. No, you get insightful information and real value.
Integrity. Character. Value. Quality. Focusing on your core strengths. Solving a real problem. Being there with real customer support. These are attributes which catch my eye and draw me to their services, products, and websites. They go above and beyond to give you, not only a quality product or service, but to support you.
I’m inspired by this approach and philosophy because it’s good for the entire ecosystem and the individual. Then when you need what they are offering, you go directly to them because they are the authority and you trust them. You know they will deliver and help you.
Our community is filled with such companies and people. It’s a huge reason why I stay here. People have integrity here. They want to help one another.
More specifically, I’m a big fan of WP Ninjas, StudioPress, ServerPress, Pippins Plugins, and many others. These companies stay true to their niche and fulfill a need in the marketplace with quality products and excellent support. They give of themselves to help you. You buy from them, not only because their services and products are awesome, but because you believe in them. You know they have your back and are there for you.
On the people side, Tom McFarlin, Carrie Dils, James Laws, Marc Benzakein, Jackie D’Elia, Alain Schlesser, and Gary Jones are some of my favorite people. They have integrity and go the extra mile to reach out and give of themselves. They truly want to help you fulfill your potential.
Outside of WordPress, I really like what Jeffrey Way did at Laracasts as well as Ryan Bates at RailsCasts. I was with both of them when each launched. They give a ton of value to each web developer. Jeffrey nails it with clean, quality code and proper testing methodologies.
Have you set targets for Know The Code (financial or otherwise)? Is there a point you have in mind where you’d consider it a ‘success’?
Of course I have. I keep a close eye on the financials as any business owner does. I have metrics in place and have set milestones to let me know if the community wants me to teach them or not.
As I said in my essay, I’m not interested in acquiring stuff. I’m not interested in building a big company or lining my pockets. That has no value for me. I just need enough of an income to support my family. I need enough income to allow me to dedicate myself to helping you.
I’m talking with some companies to become sponsoring partners, companies that I believe in. I’m asking help me fulfill my mission and be here for you. Their backing and support will definitely help me to stay right here and help you.
Will Know the Code provide enough income so that I can do just this and nothing else? Well, that’s up to all of you and the WordPress developers’ community to determine if I am providing you with value to be a better programmer and developer.
Do I have a point where I would consider it a success? I think success will be measured in the success of each developer. As I’m here to help developers, it’s not my success that matters, but rather each person and the results they get through my teachings.
Having launched now, what’s the one piece of advice you’d give to other creators in the WordPress space that are thinking of launching their own projects?
Do what you know and are passionate about. Find a way to take that thing which is uniquely yours and match it up with a problem that others are having. Solving a problem in a unique way helps to differentiate you from others. And then deliver it with integrity and value.
Away from business, what are the biggest improvements, if any, you’d like to see in WordPress core and the Genesis Framework?
As a software community, the biggest improvement we can make is to level up each developer, fill in those technical gaps, and ensure each person knows the fundamentals of computation and programming. Once we do this, we will innovate and continue to propel WordPress into the future.
Software and digital computing makes huge leaps and bounds each and every year. It’s our job to keep pace and ensure WordPress and Genesis are not getting left behind. I want you to prosper and be in this profession for years to come. It all starts with a solid foundation. And then in this profession, continuous, relentless learning is an absolute must.
Listen to me. Code is code. You combine the building blocks together in a clean, quality manner. It allows you to build a small ma/pa website to powering up financial centers, robotics, and predictive monitoring systems. It starts with knowing the building blocks, practical clean, quality code techniques, and testing practices. Knowing how to think about code, getting the most out of the computer, logical thought, problem solving, and code construction are what determine your ability to future-proof yourself in this business.
More specifically for the software itself, I’d like to see more attention to clean code in Core. In both WordPress and Genesis, I’d like to see us handle legacy systems differently to remove the bloat and baggage of old, out-of-date technologies.
For WordPress Core, I’d like to see more emphasis on modularity to allow us the ability to decouple components and spin up only what we need.
Any other hidden talents or passions you’d like to share?
I’m passionate about saving animals who are unwanted. We’ve filled our home over the decades with many loving furbabies. Eddie, the Min Pin in my picture, is a Puppy Mill rescue. He’s a biter to anyone other than us. But to us, he’s the biggest baby, who is almost always curled up on my lap. We have two other kitties who were strays and starving. Now they live their lives watching the birdies in a home filled with love.
I love writing and drawing. In my younger days I was an avid sportswoman in basketball, software, and volleyball.
Game of Thrones or Downton Abbey?
Neither.
Ha, you know I’ve been around a long time. I remember sitting in the theatre for the opening of the first Star Wars in 1977. My friends and I sat in the front row and loved every minute of it!
Along the way and over the decades, I lost my zeal for sci fi. I really enjoy shows and movies that make me think about the strategy and intent. I watch a lot of documentaries and strategy-based shows, such as Elementary, Madam Secretary, and Enemy of the State.
What’s the best way for people to get in touch with you if they want to learn more?
I’m very accessible. You can reach me on Twitter at @hellofromtonya, forums or contact on KnowTheCode.io, or in multiple slack groups including GenesisWP, WP Developers Club, and Post Status.
Discount code and your chance to win!
If you’re keen to try Know The Code, Tonya is generously sharing the following exclusive discount code for GenesisWP.guide readers to get 20% off a yearly Pro Membership on checkout for a limited time:
GENESISWPGUIDE
(And don’t be put off using the discount code right away, if you win the giveaway and you’re already a yearly pro member, Tonya will refund your fee!).
For your chance of winning a 1 year Pro Membership of Know The Code (worth $290), just enter your details below.
(Competition closes 11:59pm PST, Sunday 24 April 2016)
This giveaway has now finished *sad face*, but look out for new chances to win cool stuff in future articles *happy clap*.
This is awesome and Tonya is awesome! What a fun and natural person with an enviable brain too. Thanks, as ever, for the great read.
My pleasure, Christina! My huge thanks to Tonya for taking the time.
Hey Christina,
Aw thank you for your kind words. I don’t know about “enviable.” We all have gifts and talents that contribute in our world. I just really enjoy helping web developers to stop wasting their precious time by empowering them to read, evaluate, and write code from scratch.
Great read, Nick and Tonya!
Thanks Jon!
Hey Jon, thank you!
Since meeting you last year – speaking with you both by video and text, I have had the honor of hearing your abbreviated story and now a more detailed account. I admit that my own story resonates and I totally understand being humbled and the humility of having a ‘handicap’ –
Tonya, you are a unique individual and it has been a great joy learning under your direction. In fact, I have all of my browsers set to open to knowthecode.io so that I do not go a day without learning, relearning or refreshing this craft.
WordPress has been a huge blessing my family and I and I continue to grow in a career in web development. First understanding the difference between and implementer and a coder.
I know I can count on you to fight the good fight, share your vast & proven knowledge and wisdom. Know that you are fulfilling your mission in phase three.
May the Lord bless you with all that you ask for.
Hello Paul,
Thank you for your kind words. I know you know the challenges that life can present toss in your path. We are not powerless and can make choices, even if those choices are to simply smile and be happy in spite of it all.
You are on a path to be a more awesome developer. You made the decision to focus on continuous learning and improvement. Incrementally, step-by-step, you are getting better and better. I’m honored to help you grow in this profession.
I wish much success, happiness, and joy to you and your family. Cheers!