Join us for interesting conversations about technology and the business of IT.
Dave Erickson 0:00
Global industries and software development are changing quickly. How can you learn or teach others to change their tech stack and coding experience? On this ScreamingBox podcast, we are going to discuss how you can be successful at either learning or teaching code. Please like our podcast and subscribe to our channel to get notified when the next podcast is released.
Dave Erickson 0:45
Want to learn how to code? Maybe you're an experienced coder who wants to teach code. So what will make you as successful at either learning or teaching code? Welcome to the screenbox technology and business rundown podcast. In this podcast I, Dave Erickson and Botan Seres are going to explore new and effective means for learning how to code and examining new models for teaching code with Jen Kramer, Director of Learning Design and Technology at Annie Cannons. For over 25 years, Jen has been educating clients, colleagues, friends and graduate students about the meaning of quality websites, an award winning instructor for over 25 years, Jen has taught web design, educational technology and storytelling principles to students from Harvard University and other academic institutions and students learning in conferences, workshops and corporate environments. Annie Cannons is focused on helping survivors of human trafficking learn, grow and become successful and productive members of society. She is currently serves as the Director of learning, design and technology at Annie Cannons, training, preparing and connecting individuals who have experienced human trafficking to sustainable careers in technology. Jen is a prolific video author creating over 90 training courses for LinkedIn learning front end masters and others covering HTML, CSS, UX, website planning and no code technology. Jen's most recent book is, Before You Code, Validate your idea, build a better product and plan your way to success, co-authored with Heather O'Neill in 2018. Jen is a returning guest of this podcast, and we look forward to catching up and finding out about her new positioning experience. So Jen, welcome back.
Jen Kramer 2:26
Hey. Thanks for having me. Great to see you, Dave.
Dave Erickson 2:30
So maybe we can start off talking about your current position at Annie Cannons and what is the mission of Annie Cannons.
Jen Kramer 2:38
So Annie Cannons is a nonprofit. It was founded about 10 years ago, and Annie Cannons trains survivors of human trafficking how to code. So it's basically a coding boot camp, but again, targeted to people who are high school graduates, who live in the United States, who have survived human trafficking and are interested in learning some kind of job skill to set up their new lives.
Botond Seres 3:07
And Jen, you've been teaching web design and educational technology for over 25 years now, (yeah), and I suppose what I'm most interested in is how has your approach to teaching coding evolved over time, especially with the rise of new tools and technologies?
Jen Kramer 3:25
Yeah, yeah. One of the downsides to teaching technology is that every time you teach a class, you have to completely rework it over again, and that will serve on an annual basis, and that's because all of the tools are constantly changing. And, and, of course, we cram in more and more and more into the time that we have. So your introductory web development class, which would have started in, say, July of 2000 which was the first time that I taught such a class like that, over at July of 2001 then you would have spent your time on HTML, on iframes, on coding in notepad and displaying in Internet Explorer. And as we've gone forward in time, of course, we've had to add to that CSS. We've had to add to that, bits and pieces of JavaScript. We've had to add to that different kinds of layouts, responsive design, it's just exploded over the entire time that we have been on, on the web. Every year, there's more and more to learn. So it what, what used to be advanced material is, is no longer advanced and now considered very basic level material. So it, it's, it's always a process of trying to figure out what is, what are the absolutely critical things we need to learn today, especially to teach to beginners, what becomes advanced and we push out, what are we going to leave to our students to learn on their own? How do we pare back to get to like the very core of what we want to teach right now and then? Have. Students explore and learn more about various things as time goes forward.
Dave Erickson 5:06
Yeah, I bet the course curriculum for introductory web development has changed dramatically in the last 20 years. What are some of the things in the last couple of years that you feel have been the most important for web design or for web development. You know you talk about, kind of narrowing things down to a core. You have a person who is not technology oriented, who decides they want a career in technology, they want to start developing websites or something that would be useful in business. What does that core curriculum kind of look like nowadays?
Jen Kramer 5:46
So in our first four weeks at Annie Cannon, so our students enroll in this program, they will be spending a little over a year with us, like 14 or 15 months with us over the course of this process. Many of our students come in with a high school education; that's our minimum background that we accept to the program. Only a handful of them are college graduates or greater than that, because we do have people who come in with master's degrees and so forth. In general, sort of our, sort of generic student at Annie Cannons would have been somebody who didn't necessarily do all that well in school; they don't necessarily have really good study skills. They've probably never had this kind of job in front of a computer before, and so one of the first things that we have to teach people is, because it's really a job training program, is, how do you organize yourself to sit in front of a computer for five hours a day and how do we emotionally regulate ourselves so that we can focus on learning technologies? How do we make sure that we're set up for students' success as we start to learn code and move forward so our first four weeks are pretty much spent on that. Some things we know about traumatized brains is that they forget things very quickly and often. And so trying to combine the fact that our students forget everything with the fact that they have poor study skills coming in because they've never been taught how to study, we've had to put those two things together and start to put those aids around our students so that they can be successful. Because, as you know, coding is complicated, and there's so much to remember along the way. So one of the things that we do with them is set them up with a notion dashboard that has places where they're expected to record certain pieces of information, and we have a lot of scaffolding and structure over what they need to write down, and making sure that we give time in class to make sure that they write those things down. And our hope is that they'll wind up leaving Annie Canons with a very built out notion dashboard. It's going to document like CodePen that they've worked on bits and pieces of code along the way. It's going to document like their preferred, preferred working styles, other various pieces of information that they learn along the way will all be in one location, and they'll be able to take that into their new job and leverage it in their new working environments. So that's how we start, want me to continue on?
Botond Seres 8:18
You mentioned something I'm quite interested in, (yeah), the majority of our listeners will also be interested in. And that's how do you emotionally regulate in a job like this, which can be extremely frustrating, not, (yeah) at times, but as per usual?
Jen Kramer 8:37
Yeah, yeah. So, so one of the one of the hardest things about we, we find with our students, again, is that human, human traffickers, one of the first things that they take from you is your self confidence and your belief in that you can do something. They, they make a person feel like you absolutely have to rely on them for all of the things In life, and that you can't possibly exist as your own independent human being. Our students have gone through the process of getting away from their traffickers, getting into therapy, working through a lot of what had happened to them, and they're at the point now where they need to learn some job skills so they don't ever have to go back to that kind of life ever again. And so our students are not, they're not completely through therapy, they're still dealing a lot with what had happened to them previously in their traumatic experiences, and they come into technology with a lot of self beliefs. They believe that they're not necessarily good students. They aren't sure that technology is particularly the right fit for them. They, many of them are going to hear a lot of triggering words that we have in the text space. So just as a, one example, GitHub, by default, has you send, send your code up to the master branch. Master is a very triggering word for a lot of our students. So in our instructions and how to work with GitHub, for example, one of the first things that we have them do is change the name master to main.
Botond Seres 10:10
Sorry, I'm terribly sweet to interrupt, but that's actually a thing they fixed. It's main. Now,
Jen Kramer 10:14
Is it finally main? Yes. Like we just did this a couple of weeks ago, and it was still master at that point in time. Oh, maybe I'm from them. Yeah, they said they were going to change it, but they we just went through this like two weeks ago with the students, and it was still set to master.
Botond Seres 10:29
It's about time they do.
Jen Kramer 10:33
Yeah, yeah, yeah, yeah. So, so that's just one of, of many, you know, penetration testing, there's another one, right? So we have all of these words, right, and we have to train our students like there's a lot of ugly words that we use in tech that that many people don't think are really all that ugly or all that triggering, but for them, these could definitely be an issue, and we have to teach our students, how are you going to deal with that when you hear these words in technology? And so, does that answer your question?
Dave Erickson 11:07
You mentioned something that was kind of interesting for your students, they're coming in with a lot of self doubt, and a lot of you know, questioning whether technology is really for them or can they learn it, and are they a good student? A lot of that is just normal people feel that way anyways. So these techniques of trying to build up this confidence, I think, are really important, not just for your students, but also for anybody. They're almost very similar, right?
Jen Kramer 11:40
Absolutely. So well, what we do is we do a lot of a little, lot of tiny little steps, lots of quick wins. And if you've followed me for any period of time and heard me talk about code, this is what you have to start with. You have to start with quick wins. You have to start with a quick ramp up that you can totally do this, and you have to eliminate as many variables as possible. So when I read in Annie Cannon's the very first week of code education was, let's talk about get GitHub, GitHub, downloading, pulling and pushing and all of this crazy stuff. We don't have to do all of that, and we have a misconception in the tech world that we have to teach our students the way we do things in business. And I'm here to tell you that, that nothing could be worse. So it's come in and and think that GitHub is the way that we have to do things initially, right off the bat, is so frustrating, even for those of us who have been in the field for a while. Why would we start our students off, frustrating them with file management and so forth? So we put our students into CodePen to start with that focuses them specifically on HTML, and in our case, HTML and CSS, that is where we start, and specifically with HTML by itself for a little bit, we make ugly web pages for a little while. And the idea there is again, quick wins get up and running quickly. So those of you who have seen me teach HTML before know exactly how I do this. HTML just identifies the elements that are there on your page. Here's some text, where's the headings, where's the paragraphs, where's the links. And by the end of that day, the students are like, this is nothing like I thought coding was going to be. This is, this is, makes more sense and is more straightforward than I thought that this whole environment was going to be. And that's exactly the kind of outcomes that we want. So then we build on that, adding a little bit of CSS along the way. Right now, our students that, who started at the middle of August, right now, they are just finishing up the very first html and CSS site that will be put up on GitHub pages. So everything from here's the design guide; build this little two page coffee site, because, of course, it's required by law that all boot camps have a coffee site. So this is our little coffee site. We'll put it up on GitHub Pages and, and then we're going to be moving on to JavaScript next week. Is where we're at.
Dave Erickson 14:18
So you're kind of breaking it down, starting with something simple and easy to accomplish, so that it helps build a little bit of confidence. And then that's a base that you can start building on, and later you'll go into a lot of other things.
Jen Kramer 14:31
Exactly, exactly. So in fact, in this arc with HTML, basic CSS, responsive design in the context of Grid or Flexbox, and then, and then GitHub pushing, just pushing to GitHub, GitHub pages. So that's sort of the general arc of what we did for this first part of the course. So we put that file management stuff at the end. And the reason why is, they worked in CodePen. They know that they can code. So when you get to GitHub and GitHub pages that it doesn't work, which we always love, when students say it doesn't work, this is the we can narrow it down. We know that you can write code. We know it was working in CodePen, for example. Now when we put it up on GitHub Pages, if it doesn't work, most likely it is due to something with Git or GitHub.
Botond Seres 15:26
I'm really happy to hear that someone is actually teaching using CodePen, because, like, my experience, the worst way to teach programming is, like, on paper. The second worst is in Visual Studio, because it takes ages to just see any results. And then there you have CodePen where you can just edit stuff, and it immediately does all the deploying, the fire management, everything in the background. I'm really happy to hear it. Just to circle back a tiny bit, actually, GitHub did fix the master main issue. It's main now.
Jen Kramer 16:03
Thank you.
Botond Seres 16:04
Just check the repo we opened to go. It's been fantastic for a while. I suppose, glad to hear it. But yeah, I think info security, like you said, penetration testing and all is still a very, very much a guy's field, I suppose, like half the acronyms and are jokes, (yep, yep,) yeah, it's just the way it is for now.
Jen Kramer 16:29
Yeah, it's very, it's very unfriendly, unfortunately. And a lot of what's done with technology and in teaching, it is this concept of, it's a hazing process, to be honest, right? And I think intro to computer science is one of the worst offenders in this category, which is, you enroll in this class, and we see if you're good enough. So, many people are lucky enough to have started coding when they were 8, 9, 10, years old, on their father's knee, most likely their father's knee and, and so when they come into quote Intro to Computer Science, they already actually know quite a bit coming in. And for students who are joining at that point in time, it's their first programming class, it is extremely difficult to catch up by that point in time. So and that sort of goes around this whole school of you have to be good enough to be in this field. It is really just not true, and it's why we don't, why we're very comes in, yeah, exactly.
Botond Seres 17:32
If you're too good in this field, it's, it's quite difficult to to keep a job
Dave Erickson 17:37
(that too. Yep,) You know, there's a lot of tools now that are available for people who are learning coding to get understanding. YouTube is very valuable. Some of these forums are also very valuable when you have questions and stuff like that. How does that fit into teaching curriculum or students' learning? Can you talk a little bit about that?
Jen Kramer 18:07
Yeah, those are absolutely parts of it. We have, for example, Pluralsight, Udemy front end masters have donated subscriptions to our students so that our students have access to those resources, which is a fantastic thing, and we're very grateful for that. We, of course, there's plenty of free resources out there as well. We, we teach our students that MDN is kind of a primary source for these things at other various sites like that, JavaScript dot info, for example, these are places that you can go to look for very reliable kinds of information. And of course, we do incorporate a lot of that into the teaching curriculum, because where we want students to go is to build that inner confidence that they can learn this on their own, and that they learn how to learn as part of this process. They leave Annie Cannons and they're not able to learn anything new. They're not going to be in this industry for long. So one of the most important things to for us as educators is to make sure our students feel excited when they're asked to learn something new, to feel confident that they can actually break that down and learn it on their own, and that they are clear about exactly where they need to go to learn this new material, what is reliable, what is going to be consistent, what is compatible with the way that they learn, whether that's a reading format or a video format or combination so forth, that is what we want our students to take away.
Dave Erickson 19:37
One of the things that's always interests me is user experience. And for me, the most exciting part about development is really the creativity of creating a user experience. How is that? It's hard to teach. Quote, creativity. It's, you know, you can teach using creative tools, but then the creativity side of it is something that comes within people. Maybe you can talk a little bit about what it is like teaching user experience and the artistic and creative side and for your students, does that excite them? Or is that the part that they're most afraid of, or or a little bit about that experience?
Jen Kramer 20:25
Yeah, so our, our outcome is that we want our students to leave being capable of building a very basic, full stack application. To that end, we actually have four classes in our curriculum, so they start with the introduction to programming. They go on to front end, a front end class where they dive deeper into JavaScript and they do a little React. Then we have a back end class where they're going to be working with APIs, some basics about, like, what is a database and how is a database form, but not necessarily building those databases on their own, or making any relationship diagrams or any of that kind of stuff. So those are the first three classes and by the end of that, they're able to make a very basic, full stack application. Notice I haven't talked about user experience anywhere in there or design. Our last class our students have with us is an independent study, because what we know is that our students have different interests along the way, but we feel like if they can create a full stack application in that independent study, they can either go on to further those skills and get even more experience with that, or they can go in a different direction. One example would be diving into user experience. We have a student right now who's working on project management and, and so knowing how to build a full stack application makes you a great project manager if you know how to do those kinds of skills. We have students that are going to probably going to go more on that design track, but they come in already with a lot of like, artistic background, and so that that's one of the things that makes our boot camp a little bit unique, is the fact that we offer this independent study there at the end.
Botond Seres 22:11
So Jen, I'm wondering, what do you consider a basic full stack application? Because I'm sure that there are many, many definitions out there.
Jen Kramer 22:21
Yeah, yeah. So, like I said, so 3 15, week classes to get them from, from nothing, literally nothing, to that point in time. So it's probably more basic than you're thinking. Let's just put it that way, and we are in the process of writing that curriculum right now in terms of exactly what that back end class is going to include, but there, you know what? What do we leave out a lot, a whole lot along the way. So it's very, very focused kind of track to get people through that process. We are partnering at this point in terms of getting our students up to speed and ready to go into the workforce. We have a couple of things that go on. One of the things Annie Cannons offers is the ability to work on real tickets on your own. So we have two applications at Annie Cannons that are actual, real applications that we have out there working in the world, called Resourceful and Lighthouse is the other one. They have to do with human trafficking and finding resources for people who need help getting away from traffickers and so forth. Those applications, we have clients for those and our students actually will come on and work on real tickets while they are students at Annie Cannons and work on those applications. So that's, that's one of the things that makes our program a little bit unique. Another thing that we do, of course, our, our whole boot camp is free to students, so all of the tuition and so forth is paid by our funders. Our students receive a hot spot so that they can access the internet, bear in mind that many of our students may be still living in a shelter or kind of environment where they can't afford their own internet access. So they, they have a hot spot where they can access the internet. They receive a Mac computer. And if they get through Introduction to Programming, they get to keep that going forward. And we actually pay our students $20 an hour to be in class once they get out of the introduction to programming course. So for those last three classes, those last 15 week classes, they are actually paid $20 an hour, times five hours a day, or 25 hours a week, in order to attend class and to learn what they're learning, to help defray whatever housing costs that they have going on, food and all the rest of it so that they can stay focused on their studies and stay with us. So these are all very unusual things that you would ever find in a boot camp that, but they're really important to supporting our, our students and making sure that they are successful in our program.
Dave Erickson 24:54
It sounds like Annie Cannons, which is an organization I've actually never heard of, (Yeah), is really focused on helping these people who have been in this situation, and they seem to have good support, are the students, after they get through Annie cannon. Is there other things that they're able to do to grow as developers or in tech? And does Annie cannon or you provide, you know, kind of help or consulting to help them figure out their direction?
Jen Kramer 25:27
Yeah. So some of the things that we do, we have mentors. We work with all of the big companies and so forth to get mentors that will come and mentor our students, individually and on whatever tracks that they, the students, would like to explore. We also part, are partnering and making more and more of these partnerships with a lot of the big employers that offer internships. So there are actually a lot of internships in the tech world. I had never heard about any of them, to be honest before I got to Annie Cannons. So many of these internship pathways require you not to have a college degree. So if you are a high school graduate, they want you to come in as an intern and work with them, and they can help train you up on that. So Microsoft, for example, does a, does a program like this. We've been working with Intuit, for example, on some of these things as well. So there, there are a number of these kinds of internships that are out there and available, and we try to train our students such that they can go and get a seat in one of those internship programs. And we would see that very much as a win for our students leaving the program. Obviously, if they leave with a job that we're not concerned with our graduation rate, because we'd actually like them to all leave before they finish the program, go get work.
Dave Erickson 26:51
Yes, being able to sustain yourself is important, and that's kind of the sounds like the purpose of the program. Exactly.
Botond Seres 26:58
I had no idea that internships were actually for people that don't necessarily hold degrees in computer science, (exactly). It's always been weird to me, like, if someone already has a CS degree, then why would they go for an internship? But if they don't, then, then it makes all the sense.
Jen Kramer 27:19
Right, Exactly.
Dave Erickson 27:20
The whole job market in it is changing dramatically in the way people work and interface with companies doing development is changing almost on a weekly basis. What are some of the the advice that you have for students who are fresh out of a course like this, who are looking for work or trying to to develop something.
Jen Kramer 27:48
Yeah,yeah. Unfortunately, I think everybody knows that it's a really, really hard time right now for junior developers. I'm not sure what the companies are thinking. They're thinking they can just hire senior people, and the senior people will do the work, and AI will take up all the slack we, we in the tech industry knows that nothing could be further from the truth. I do tell our students like, if AI can do your job, what what is the point of having you? So when we make sure that our students are always looking for ways to bring extra value beyond what it would an AI could possibly provide in that kind of work, I would encourage employers out there to, once again, start thinking about junior developers and start thinking about their pipelines that that we just can't suddenly generate a whole bunch of junior developers. You know, at some point you wind up with only senior developers, and there's, you know, they want to do certain kinds of work. Junior developers exist for a reason. So but, but for the junior developers themselves, I always encourage them to continue learning, because even though you've graduated, if you don't keep learning, then you are behind, and then you are pretty much out, right? So hopefully you've learned if you're at a regular boot camp, or if you're learning on your own, hopefully you learned how to learn. Hopefully you can continue to identify trends that are happening in the tech industry, and you can continue to try to stay up with that and continue to create things for your portfolio, continue to try to solve problems that are out there, partner with your local nonprofits, local small businesses, see if you can help them out with anything that any any problems that they have along the way, again, for your portfolio,
Botond Seres 29:37
It is quite difficult to me that for junior developers, the more up to date on tech they are, the more valuable their skill set is. But for senior developers, it's quite the opposite. The more outdated, the more niche technologies they know that makes their expertise more valuable. It is true, because no one wants to. You learn that or deal with that anymore? Yeah, no one does. So I've been wondering if, if you could give a bit of advice to maybe more senior people who are looking to expand their horizons a bit for new technologies. So when starting out, it's easy to to find an internship or a field that we are interested in and just go for it, but as time goes on, it, as we accumulate more and more and more experience in that field, the other fields, uh, start fading out, fading into the background. And how, how does one, I don't know, keep, keep their eyes open in tech. (yeah) I assume you have to do since you have to keep track of new and emerging tech, (yeah), all the time.
Jen Kramer 30:55
One would hope, yeah. So it kind of goes together with what you just said about the longer you've been in the field, the more niche you get, right? So I've certainly seen that. I've consulted for many years. I've gone into places where people are, you know, working on ancient versions of whatever, because we have still to support Internet Explorer 6, so we can't use whatever in our in our code. We have all kinds of crazy situations like that, particularly people that are in like government, for example, where we tend to have a really long shelf life for, for technology in general, you get very, very behind very, very quickly. So it always behooves anybody in this field to watch the emerging trends right and as we get older, our first impulse, as we see new things is to say, That's just terrible. I can't believe that we're doing that. Where would that possibly fit into my life? So, you know, no code, for example, being one of the things that I really enjoy. A lot of people look at that and say, Well, you know, no code, why would you ever want to do that instead of building your own custom solution? Try to reframe and come back to what, what kind of problems would say, in this case; what kind of problems would a no code solution solve such that I get to do more interesting things with my time right as a senior developer? Yeah. So for example, right now, I'll just, you know, Annie Cannons has a React based website, because that's that was part of our curriculum. We built a website, you know, ground up using just regular old HTML, CSS, react, all the things. But guess what? We need to make updates to the website on a regular basis, and now we have to find developers who know react in order to make those updates, in order to update the website, which means that the website doesn't get updated as much as we would like.
Botond Seres 32:56
Is react getting outdated?
Jen Kramer 32:59
Now I can't speak to that. All I can say is, I see React in pretty much every job ad that's out there. And we can, we can say that I don't know what people want to be teaching these days, but there's certainly an enormous code base out there for React in whatever people have already built, right?
Botond Seres 33:14
I completely misunderstood. So you're saying, yes, React is more popular than ever. Yeah,
Jen Kramer 33:19
yeah, yeah, most likely. But, but for on a day to day basis, our, you know, informational website, you know, which is whatever, a 10 page website that just has basic information about the nonprofit is built in React, and it's, it's kind of dumb, but it's, it's the way that the website was done. So it means that,
Dave Erickson 33:37
and that's because it's, it's almost overkill for a 10 page marketing website. It's really why do you need React?
Jen Kramer 33:47
Right, right, right? Why would we ever do this to ourselves? But for whatever reason, that decision was made a while back, and it means that our person who is in charge of chasing money, as nonprofits do, our development person can't go in and make updates to the website that we have to actually like, have to put it in the ticket system and have to get it to our technical people in order. And it takes time, right? So no code is a far better solution to that. Just let people, like our development person who doesn't know a thing about code, jump on in there and go and make those updates. So that's just, that's just one small example as to how a no code kind of environment might help you.
Dave Erickson 34:28
So a senior level developer who, you know, has 10 years experience in CSS, PHP, HTML, all this and built lots of websites, you know, and is in this niche, right? If you wanted to grow or find more opportunities, he might want to consider learning something like a no code tool, because, yes, he can offer a quick solution for someone who needs a five page marketing website. And then he can, you know, go on to something else and he can find some other work as well, because he's not spending all this time developing a React marketing website.
Jen Kramer 35:06
I think that's fair to say. And I think we can look at what's just happened with WordPress as an example of this that you can completely immerse yourself in these communities.
Botond Seres 35:17
Didn’t half of WordPress’ website go down? Is that what you just mentioned, like, what happened with WordPress?
Jen Kramer 35:22
What happened in WordPress, are you, did you guys hear about the whole blow up in the WordPress community, and
Botond Seres 35:28
I think half of the websites went down or something like that?
Jen Kramer 35:31
Yeah, I haven't followed it all that closely, but there's some sort of conflict,
Dave Erickson 35:34
Maybe you can kind of update what happened?
Jen Kramer 35:38
Yeah, there's, there's some kind of conflict that happened between WordPress, the main WordPress itself, and WordPress engine. And like, now when WP Engine, when you go try to log into a WordPress website, you have to, like, check a box stating that you're not affiliated with WP Engine in any possible way. And like, there's lawsuits that are getting flown around. And you know, the community is, is very divided on this issue. And again, I haven't really followed all that closely. It's just been in my social media feed all these people, you know, mourning WordPress and what's happening. And, you know, WordPress has been very much a bedrock of the web now for, you know, 20 odd years. Yeah, and people thought that when they got into WordPress that, you know, whatever it's it's never going to change. Well, when I got into Dreamweaver in 2001 What, What could possibly displace dream weaver? Right? Okay, when people were learning jQuery in 2010 what could possibly displace jQuery. All right, be fair, okay, it's still around, yeah, you know, so is Dreamweaver. All right, the mistake that we make as tech people, and the thing we actually don't really have a model for is that things come and go, and they come and go in very short timelines. So if you specialize your career very, very narrowly on like, I'm a WordPress person, this is all I do. What happens if WordPress goes away, or what happens if the community blows up, or what happens if it gets displaced by a new technology? What are you going to do? So yeah, you need to be thinking about in what directions are you going to go? There's only three things we can count on for the front end, at least at this moment in time, HTML, CSS and JavaScript. That's it. That's what a browser understands, Yeah,
Botond Seres 37:35
Right there, that's the bedrock of the Internet right now, right?
Jen Kramer 37:38
That's all the browser understands, HTML, CSS and JavaScript. If you're a framework person, and that's all you know, you need to learn those basic
Botond Seres 37:46
No, but the all the frameworks are just different flavors of these, right?
Jen Kramer 37:51
Exactly, exactly. But there are plenty of people that, like, I am just a React person. I couldn't possibly go work in Vue. I don't know how Vue works. I just know React right,
Botond Seres 38:04
….to retrain someone, but don't think the switch would be that hard, but, but, yeah, you do bring up an important point, and that's kind of what I was trying to ask earlier, about keeping all these opportunities open, (right) Because I think that there is a bit of a mental game there, like trying to convince ourselves that, oh yeah, we are great at, like Vue, but not at all at React. But it's the same thing. It's all just JavaScript in the end, (yep). And as long as someone has got a strong foundation, and as you said, HTML, CSS and JavaScript, they are good to go. But the real question is, what will happen when those go?
Jen Kramer 38:49
Well, it could happen, right, but we're going to have to completely change the way browsers work.
Botond Seres 38:56
True
Dave Erickson 38:57
Yeah, it would be hard to if that change were to occur, it would not be a fast change because there's so much code written in that platform, it would, it would. It would be a change that occurs very organically, over a decade, maybe, right, but I don't see any kind of technology out there right now that would change browsers in the way people view the internet meaningfully. I don't see it, and I think maybe that's one of the, kind of, the traps that an experienced slash senior level developer falls into, is that they think they have all these advanced technologies that they've used and applied, and they forget all about the basics, right? And sometimes I've seen this in projects where they're really struggling with a project with all these advanced technologies, and in the end, the solution turns out to be something basic using JavaScript or HTML and takes care of a lot of the problem. They have to junk all the advanced stuff and just work on that to get it to work right.
Botond Seres 40:11
I see this all the time. Dave, people would rather import a massive library than write two lines of JavaScript code.
Jen Kramer 40:20
Right? Or what's happening now, thank goodness is people discovering that CSS can do what they've been doing, these massive workarounds in JavaScript now we can write just we can write a little CSS and solve the same problems.
Botond Seres 40:34
Yeah, CSS is great, but there is a massive gap in the job market for people with great CSS knowledge.
Jen Kramer 40:43
Don't I know it? Come by, Don't I know it.
Dave Erickson 40:46
For a senior level developer, you know, some, one of the things that I've seen is that they, at a certain point, they're kind of like, you know, I've been there, done that, I've done all the kind of work I can do as a senior level developer, but I'd really like to kind of teach and help people learn. So maybe we can talk a little bit about that. If you are a senior level developer and you've decided, okay, I want to start, you know, a side gig or full time, just teaching people how to code. Not so much about the mechanics of how to do that, but more about what does a person who is a coder, who isn't used to teaching others, how would they prepare themselves or train themselves to teach the knowledge and experience that they have in coding?
Jen Kramer 41:35
Yeah, Yeah, that. It's a great question. The first thing I just want to throw out there is that education is a topic that we have studied as a species for hundreds of years, and that the answers are out there. You can go and read about all kinds of different ways of thinking about how to educate people and so forth. It's all out there. You just have to figure out how to apply it to code. You're not inventing anything new. So that would be the first piece that, that I would say that's very large. You could go and do a lot of reading in the educational realm, an adult education theory and how the adult mind works, proper ways of thinking about how adults learn anything but, but more specifically, going to code. The first thing I would say is it's far easier to teach advanced students than it is to teach beginners. So I would suggest, if you're a senior developer, start teaching something advanced.
Dave Erickson 42:33
What? How do you define the difference between beginning developers and advanced developers?
Jen Kramer 42:38
Yeah, so an advanced developer. I mean, obviously that's a moving target, right in the realm that we've been talking about. Maybe you can assume that your audience already knows. What is HTML, what is CSS, what is GitHub, what is how do I configure VS code? How do I set up my file structures that you really, truly can just say, NPM, whatever on the command line. And here's the repo, and off we go to the races. Right? When you're talking about a beginner, you can't do any of those things. You don't know that they know what NPM is, or a command line is, or the difference between a file in a folder. To be honest, we as an industry have gotten away from files and folders. I actually, when I was teaching in 2001 my students knew the difference between files and folders. Not anymore. They have disappeared from our phones. I mean, they're still there. We know this. We can get to them in an app, but on a regular basis, if you can look at your phone or tablet, and you use them, you don't see files and folders anymore.
Dave Erickson 43:45
You just basically see apps.
Jen Kramer 43:48
Yep,yep, that save whatever, somewhere magic, and it doesn't matter. We see, like our photos, for example, they're somewhere in a photo app somewhere. They're totally in 1000 folders. It doesn't matter. My app knows where they are.
Botond Seres 44:03
I mean, if I may, I would offer an alternative definition of an advanced developer. Sure, the difference between an advanced and beginner level that's in the amount of time spent shouting and crying at computers.
Jen Kramer 44:16
That could be, yeah, fair, fair or perhaps the difference is the ability to know whether to blame yourself or blame your computer.
Botond Seres 44:26
I always, always blame the computer. There’s no point in being hard on yourself.
Jen Kramer 44:36
Yeah, yeah. Beginners blame themselves most of the time.
Botond Seres 44:41
There's, there's no point. Yeah, there's no benefit to gain. Yeah, and that might be the difference, actually.
Dave Erickson 44:48
Well, lately I've been studying a lot on Python and machine learning, since AI is, is a part of what people are looking for in applications, and I'm trying to understand it. You know, I think a lot of people, when they, they make a course, or they have a training or set something up, I think they try to bite off too big a chunk of material. But maybe sometimes you need a large amount of material, I don't know. Maybe that's something, you know, if you're going to set up kind of a training or a teaching, what is the scope of what you're doing? How big or how small should you go? And what are some of the things that you should focus on when you're trying to put together a concept of a training course or something?
Jen Kramer 45:40
Right. So, so one of those educational models that I was just talking about is this concept of called backwards design, which is very simply, begin with the end in mind, right? So by the end of this training, users will be able to right, whatever the thing is that they're going to be able to do. Then we can, then we can also make assumptions about where they are when they start. So users who attend this training must know, right? So those are your bookends, right? So we have…
Dave Erickson 46:13
And those are bookends that, at least in a lot of stuff I've looked at, are forgotten, exactly, meaning that the teacher doesn't talk about that.
Jen Kramer 46:20
Right, right, right? So the example that I often use is we're, we're first grade teachers. Let's say we're in the first grade and we live in New England, which is where I live, and it's beautiful weather outside, and the apples are, the apples are in, in season. So we're going to pile all the first graders on a bus, and we're going to take them apple picking, because, you know, that's super know, that's super fun. Great. Okay, so what else are we going to do? We're going to count apples and we'll sing the Johnny Appleseed song, and, boom, we have our apple curriculum all done. But isn't it better to think about instead, like, what is the purpose of us going to the apple orchard? Perhaps we want to. we're we're wondering if children know where food comes from. Children live in the city, they don't. They don't know where food comes from. It comes from the grocery store. It springs fully formed from the buckets in the grocery store. So instead, let's set up a curriculum for our first graders where we go to the apple orchard and we see how apples grow around trees. Maybe we go to the back, in the back at the grocery store, that'd be very exciting to go see the apples coming off the truck, because they go from the orchard on the truck to the store. And what about apple pies that are for sale there in the store? What happens then, so that we've actually got a far, a far better learning experience and better arc of what we're teaching, as opposed to it would be fun to go to the apple orchard, right? So the same kind of things here with tech, you know, if we think about what our goal is here at the end, we're not just thinking about like, oh, I should also throw that thing in, and we should mention this and this is a pet peeve, and I want to talk about along the way, which often are these little dog legs that come off of our curriculum that just confuse people who are trying to follow along. We want to keep that end in mind and break that into whatever we need to teach along the way, because we know where they started, however we define where they started, these are the exact pieces that they need in order to build the thing at the end.
Dave Erickson 48:23
So it's almost like, if you wanted to make, like, I don't know, an introductory Python course, your first bookend would be okay, You know how to, you know, do some HTML, and you know what a script is. And at the end of the course, you'll be able to do a Python query of a database and produce an output (exactly) that way. Those are your two bookends. Then you just got to figure out, kind of in the middle, how do you get those steps, and how do you teach those steps? Right?
Jen Kramer 48:56
Right. Do we do we have to talk about like, what is the command line? How do I find the command line? What are these random things that I'm typing on the command line? Yeah, yeah,
Dave Erickson 49:06
Do you need to know what Notepad is?
Botond Seres 49:10
Can you even navigate the file structure on the command line? (Right, right, right, exactly.) An extremely underrated skill.
Jen Kramer 49:17
Oh, yeah, absolutely, absolutely. And it and then, then you can say, well, if you don't know what the command line is, we recommend, so if you're in a library of courses, it's often easy to say, we recommend you go to the introduction to command line course, or go watch this YouTube video, or whatever, whatever your resources are, so that people are able to bring themselves up to that beginning point, those would be very helpful to offer.
Dave Erickson 49:44
We've kind of talked a little bit about, if you're a developer who is going to teach, what are some of the things that you could do. What about the other side? You're somebody who wants to learn some tech or. Or, you know, I, I've been in the tech field. I want to learn Python. What are some of the things that a student can do to prepare themselves for that learning? You know, what are, what are some of the things that they can do to make sure that they don't waste a lot of time as they're learning or forget a lot of stuff? Or what are some of the learning practices, and maybe this is stuff that you work with on your own students with Annie Cannons as well. What are some of the things that you can do to make it so that your learning experience is more productive?
Jen Kramer 50:32
Yeah, so unfortunately, it all boils down to study skills, doesn't it? So if you were a reasonable student in high school or college, whatever you've learned how to study like I find myself a good textbook, and I start on page one, and I do these readings, and I answer these questions, and I look things up online, and I take notes. If you've got all those faculties about you, then you are you are set to go, you're probably okay to go if you don't know how to study I think you're going to find it fairly difficult to try to learn coding along the way, and that you may want to start with a study skills kind of course, that would give you some of those suggestions about how do I take notes, and what do I actually write down? And how do I organize my notes along the way? Those would be and of course, there's a bunch of study skill courses that are out there that might be a good place to start. The other, the other thing, of course, is that a well constructed course that will walk you through the material should in theory, along the way, give you activities to do, and, you know, maybe quiz you along the way, I mean, there's little multiple choice questions to test your comprehension. Maybe there's little projects that you do along the way, and maybe you can come up with your own little projects to do outside of the course as well. But again, a lot of it boils down to study skills and you'd be surprised how many people don't have those we take that for granted in the tech world, that people know how to study it to learn something. It's not necessarily true.
Botond Seres 52:13
Study Skills are extremely important, I would agree. But another note, maybe time management.
Jen Kramer 52:21
Yep, that's another one. For sure.
Botond Seres 52:24
I definitely share my parts of failures in that regard.
Jen Kramer 52:29
Oh, don't we all, don't we all? I mean, YouTube's right there in the same tab, and you're watching a YouTube video learning how to do a thing, and it's right there next to, you know, whatever, yeah, the latest viral or whatever that you'd like to watch as well. You know?
Botond Seres 52:48
Jen, what do you think is the future of Annie Cannons?
Jen Kramer 52:53
Oh, well, we are in the process of growing and serving more and more students all the time, and I'm very excited for the direction of Annie Cannons and for our students as they move through the courses. Right now, our students are thriving in this environment. They are creating interesting code, they're asking great questions, and I am so so proud of all of the students that we have there. They're delightful people, and they are probably my of all the students that I've had. They are probably some of my favorite, because they know why they are there, and they are making a better life for themselves. And I just love the economic impact of the work that we do in making people have a better life. So I'm excited to continue doing the work that I'm doing there, and so excited to see what our students will do next.
Dave Erickson 53:50
And it must be therapeutic for them to complete a course and to feel like they can actually achieve something on their own.
Jen Kramer 53:59
Yep, yep, and many of them, poor students in the past, they feel like they're actually, they're learning something. They're having a positive school environment. They're and that they're, they're getting good at something very exciting for them.
Dave Erickson 54:15
Jen, thank you so much for coming back to the podcast and talking about your mission of teaching individuals who have experienced human trafficking to get a great career in tech. This is always something that is positive for the industry and also for walking us through some of the effective means for learning how to code and teach code, and examining all the new models that are out there. Well, dear listeners, we are at the end of the episode today. But before you go, we want you to think about this important question.
Botond Seres 54:48
What kind of coding do you want to learn next for our listeners, please subscribe, create notifications to join us for our next screaming box, technology and business rundown podcast on. Till then, learn something new about coding.
Dave Erickson 55:05
Thank you very much for taking this journey with us. Join us for our next exciting exploration of technology and business in the first week of every month. Please help us by subscribing, liking and following us on whichever platform you're listening to or watching us on. We hope you enjoyed this podcast, and please let us know any subjects or topics you would like us to discuss in our next podcast by leaving a message for us in the comment sections or sending us a Twitter DM till next month. Please stay happy and healthy.