Episode 50 - February 8, 2021

Teaching Computer Science & Preparing to Enter the Workforce with Professor Eva Sofianos

00:00 / 00:00

Shownotes

Overview

On today’s show, we speak with Eva Sofianos, computer science professor and an advocate for empowering disadvantaged students. As a lecturer at Lehman, Eva has faced many challenges and has swiftly adapted to the changes brought about by the pandemic. In today’s show, we speak with Eva about these challenges, her thoughts on the Java-Python match-up, and much more. After hearing about how she creates material for her students, Eva expands on her day-to-day tasks and touches on her hybrid approach to teaching. Following this, Eva walks us through some of the courses she teaches, like internet programming, Java, HTML, and CSS to name a few. Eva maintains that while coursework is beneficial, true learning takes place outside the classroom. We find out from Eva why Java is the preferred medium over Python. She goes on to list the range of benefits before she tells us more about the advantages of her program. Eva then tells us what goes into course design, as well as how she creates opportunities for people with limiting backgrounds. At the end of the show, we find out from both Eva and Brian, our panel expert, what they appreciate about their tech educational backgrounds. To close, listeners will delight in this week’s top picks! Tune in with us today!

Key Points From This Episode:

  • Introducing today’s guest, Eva Sofianos.
  • Eva tells us a little bit more about herself.
  • Some of the challenges Eva is facing teaching her students remotely.
  • Eva talks about her day-to-day tasks as a remote lecturer.
  • Hear about the other courses Eve teaches at the college.
  • Why Java is the preferred choice for learning institutions across the United States.
  • The advantages of going through Eva’s degree program.
  • What it’s like behind the scenes as a lecturer.
  • How Eva creates opportunities for people with limiting backgrounds.
  • Eva shares how you can make a transition from Java to Python.
  • Areas outside of coding where Eva provides value to her students.
  • What Brian and Eva appreciate about their tech educational background.
  • Stay tuned for this week’s picks!

Tweetables:

  • “I look forward to the day that we will all be back in the classroom together. They're trying. I'm trying. We're all trying together. I do see how challenging it is from the student’s perspective.” — @EvaSofianos [0:04:50]
  • “When you graduate you do know a lot more than when you started, but if you don't go out and explore further, you'll never be able to really learn. It's on-the-job that you really learn things.” — @EvaSofianos [0:09:29]
  • “Getting a bachelor's in computer science is much more than just being able to program. It's understanding the connection between the hardware and the software.” — @EvaSofianos [0:18:14]
  • “Find what you love, if you're lucky enough to be able to work hard and be in that industry, whatever it is, you can have a happy and successful career life.” — @EvaSofianos [0:44:10]

Eva's picks:

Links Mentioned in Today’s Episode:

Transcript

EPISODE 50

[EPISODE]

[00:00:10] T: Hi, everybody. Welcome to Enjoy The Vue. I’m Tessa. Today on our panel, we have Ben Hong.

[00:00:15] BH: Hello.

[00:00:17] T: Our special guest for this episode is Eva Sofianos. Eva, would you like to introduce yourself?

[00:00:22] ES: Hi. As Tessa said, I'm Eva Sofianos. I'm currently located in Long Island, but I worked in the Bronx. I grew up mostly in the Bronx, and well, I love the Bronx. Who doesn’t? It's the only borough with an article. I guess, we can go about my career history and other stuff throughout our chat. We don't have to give it all the way at once.

[00:00:49] BH: Sounds great.

[00:00:50] T: Yeah. Eva, maybe you can confirm for me, I heard from Long Islanders that people who are from Long Island always say that they're on Long Island and not in Long Islands. Can you speak to if that's true or not?

[00:01:03] ES: I always have an issue with that, because I don't even pay attention to how I say it. I’m not really from Long Island. We moved here a few years ago, because it met our credentials when looking for a place to live. In Long Island, or on Long Island. I guess, I'm situated in Long Island, but I'm physically standing on Long Island when I get up and I stand. I don't know.

[00:01:27] T: Maybe if we have any Long Islanders listening, they can let us know.

[00:01:30] ES: We're definitely not at Long Island. That's the only one that I know for sure.

[00:01:34] T: Let's talk a bit more about what you do, whether while you're on or in Long Island, or when you're in the Bronx, because you are a professor of computer science. How has the transition been during quarantine?

[00:01:47] ES: Difficult for everyone. Regardless of whether we are teaching, or learning, or employed, unemployed, whatever our status, we all recognize how difficult it is. If we want to focus on the teaching and learning, I find it very difficult to be able to express without the visual cues to my students, particular concepts. Even though it's mostly programming and sharing my screen and how to do things, I do need to explain the topics. I do need to do some drawings, and drawing with my finger on the trackpad, or stylus is not the same. Drawing on a small whiteboard at home is definitely not the same, especially when they need to see it on their screens.

It's challenging for me to think, how can I present this material better to my students, without having to recreate material? I have been doing a lot of recreation of material, such as slides and then annotating the slides, while I'm teaching, instead of trying to draw, which is very, very slow during the lesson, and then sharing my screen for the programming.

Then for my students, I recognize that not all of them have laptops, or desktops at home; even if they're studying computer science, it is just a fact of life. Especially students in the Bronx, financially, they depend on the labs. A lot of them suffered when we did our transition to online learning in March. A lot of them still suffer, because the computers that they were given may not necessarily be up to par for a computer science student, but could be up to par for an English student, or some other major where they don't need demanding resources, let's say. They don't use demanding resources on their computer.

Let's say they get the computer, they're great, they have the resources, and they're seeing me in this little screen, trying to draw something on the whiteboard, it doesn't work out. It's a give and take. They see me sharing my screen and that's more easily digestible. Or they see me sharing a slide and annotating it, that's more easily digestible. With this adaptation of me trying to learn what it is that helps them learn better, I don't think it's perfect. It's far from perfect, but it's better than what it was in March.

They’ve won some headphones from raffles to drown out their background noise; family members yelling, parakeets chirping, dogs barking. We're getting there. I look forward to the day that we will all be back in the classroom together. They're trying. I'm trying. We're all trying together. I do see how challenging it is from their perspective, even though I'm no longer a student. It's also challenging for us.

[00:05:09] T: I'm curious if the way that student performance is evaluated has changed since moving to remote program. Also, I'm curious about how you record these classes. When you were in person, did you use an overhead projector? Now that you're remote, do you use the same lectures from semester to semester, or do you film them again? Can you talk a bit more about the day-to-day?

[00:05:33] ES: Sure. In person, we weren't recording anything. Just before moving online in March, I had a few students who weren't sure about their health status, and didn't want to come to class, but they didn't want to miss class either. I started hosting hybrid, without any direction or instruction from the college to do so. What my students are telling me, that they can't miss class, they can't come to class, so how do we make this work?

I was sharing my screen in class, trying to talk in front of the camera while trying to talk to the rest of the class. That was step one. Then moving to online, fully online, where I'm also at home and my kid is playing cello while I am trying to teach a lesson. My other kid is coming downstairs asking me where they left their, whatever it was, thingamajig. When I'm recording the lessons for the students who couldn't make it, let's say in our synchronous session online, I have to sit there and edit those parts out. Sometimes I edit them all out, sometimes I don't, because it takes too much time to redo.

I just say, “All right. It’s for you. When it's time to teach this class again, I'll re-record live.” We'll go ahead and worry about that then. That's for the Programming 1, Programming 2 courses, I would say, and Data Structures, For Android, towards the end, my computer was making a lot of noise when I had Android Studio running, the emulator running and Zoom running. My students started calling it a toaster. If any of you see this, you know exactly what I'm talking about. It was going “zhzhzhzhzhzh”. They’re like, “How's your toaster?” All right.

For those, I started pre-recording the sessions, and then playing it while I was pausing and answering questions for them. Those are musical, the ones where I have people coming downstairs to enter my classroom, basically, asking for stuff, or any other little mishaps that come along with all of the world being at home at the same time, those aren't really reusable.

It's go with the flow, see what you can do, and just put in all those extra hours that are needed to either edit, or pre-record the content. It's worth it. At least, we can still be safe and healthy and learning and teaching and sharing our knowledge and still have human interaction, even if it is a two-dimensional format, instead of a three-dimensional format.

[00:08:28] BH: You mentioned that you, I think, you teach an Android class. Just to give some context to our listeners, who I think most of us are web developers coming from non-traditional backgrounds. What other courses do you teach at the college?

[00:08:42] ES: It depends on the semester. I have taught Internet programming, where we start out with Java, and just get our feet wet. Then introduce a multi-threaded chat server with a GUI for the students to practice with. We also do a couple of weeks’ worth of HTML, CSS, and JavaScript, so that they can understand how to build a website, and maybe even use a Firebase for their back-end and just try to explore a little bit beyond the classroom.

You graduate and you do know a lot more than when you started. If you don't go out and explore further, you'll never be able to really learn. It's on-the-job that you really learn things. It’s outside of the classroom that you learn. That's one class that's separate from what I usually teach. I'm usually teaching Programming 2, which is in Java, Program Methods 2; a lot of object-oriented programming.

I alternate between teaching data structures and algorithms in Java again, Android that we mentioned, and Programming 1. This semester, fall of 2020, we are offering our first super-extra jumbo, I guess you could call it, section Programming 1, where I have 200 students. Then they have their labs separate with lab instructors in smaller groups.

So far, it seems good, where we're trying to unify the Programming 1, so that everyone has the same experience. Regardless of which section they're in in the lab, we know that the lecture had one stream of content for them. We're going to be doing the same thing for Programming 2. This should prevent great inflation and also promote great integrity. This should provide students with a standard experience, regardless of their section.

When you're looking to register for a class, as a student, I would assume the expectation is to learn. I'm making a joke. You really want to learn, right? When you have these topics that need to be covered, maybe one instructor will cover it, maybe they won't, or they won't all cover the details due to whatever else might be going on in the class. Our goal was unification, covering all the topics and being sure that everything is met. I will let you know how it works out two semesters from now, because we'll see how they move throughout.

[00:11:50] T: I'm curious to hear more about why Java is the language of choice, maybe not just at your school, but if you have some insight into, I feel like, at least in the US nationwide. I know a few years ago, there were some conversations around some university switching from Java to another language, like Python. Is that a conversation that your department had as well? Why is Java so often the primary language of choice for degree programs?

[00:12:18] ES: We didn't just think about trying Python. We tried it. Yeah, we tried it. A few years ago, we converted Programming 1 for all sections, quite a few years ago, I would say, maybe over a decade ago. Trying to remember. That's beside the point. I have no sense of time these days. Programming 1 was originally Java. Programming 2 was Java. Programming 3, AKA Data Structures was Java. Programming 2 and 3 remain as Java. Programming 1 was converted to Python, to try and see if we would be able to provide our students with an opportunity to learn more than one language. Also, provide them with the opportunity to realize that programming concepts and structures, tools such as decision branching and iteration are the same, regardless of the language, the syntax changes, but the logic behind it, how these work is the same.

We tried that and we realized after a few semesters that starting out in Python and then moving to Java was not successful for our students. What do I mean by that? Python being a dynamically typed language, being shorter syntactically and easier to use, not focusing on the squiggly brackets and the semi-colon fiasco that Java is, but focusing on the whitespace taught students that they could get things running easily, without focusing on too many of the details, it seemed.

Now, this may not be exactly what it taught them as a bad behavior, but this is what we saw when they started trying to learn Java, that they weren't focusing on the squiggly brackets. They were focusing on the whitespace, which in Java doesn't matter. They were having issues with declaring variables, issues with declaring and using methods, issues in general with the syntax and finding it to be too complex for them.

The rules of the static typing and a variable having its type throughout its lifetime in Java just didn't sit well with them. As far as having to say, “Okay, this is an int. I'm going to say it's an int and give it a name and give it a value and use it and then change that value.” They wanted to just say, “Here's my variable. Figure out what the type is. I don't care.” When it would blow up in red on the IDE, giving them complaints, they would freak out. This is in Programming 2, where they were expected already to have an understanding of how to write their code.

This caused us to have to delay the intro to object-oriented programming, which was part of Programming 2, instead of the intro to how to write a for loop, how to use a for loop, how to write a while loop, how to use a while loop, how to use an if statement, and all these things, because of the minor differences in syntax, and also, variable declaration and usage.

Make this very long story short, we realized that converting from Python in Programming 1 to Java in Programming 2 wasn't helping our students, and so we decided a few years back, let's go back to how it was and undo that change, so that everything is in one language. Once they are proficient enough in Java to understand that these concepts can be applied in other languages as well, we will offer them in another class, so they can explore a different language, be it Python, be it C++, be it JavaScript, be it whatever that language might be.

[00:16:42] T: I'm curious, how you help the students transition in the end if they were having so much trouble. Did they have to take extra classes? Did the format of the usual classes have to change for Programming 2 and Programming 3?

[00:16:57] ES: For Programming 2, we did have to do a review in the beginning of the class and delay the object-oriented programming introduction. We also had to, I would say, water it down a little bit, until students became comfortable enough. This review, we've actually kept, even now that we've converted, because we do get a lot of transfer students who haven't programmed in Java. We want to be sure that everyone can be up to par, by let's say, the couple week. We're not spending as much time reviewing, but we are doing a rapid review in Programming 2.

In data structures, we've kept it the same. We can't water down data structures. It is what it is. We need you to study, go to tutoring, ask extra questions, the first few days, weeks of class to get ready. That was the message.

[00:17:59] T: When students reach the end of the program, ideally, what skills and knowledge are they graduating with? Or what do you think is the advantage of going through this degree program?

[00:18:14] ES: Getting a bachelor's in computer science is much more than just being able to program. It's understanding the connection between the hardware and the software. It's understanding when you write even a single line of code, what happens behind the scenes, memory management, the risks that you take by making a particular decision. I focus a lot on the programming portion, or the programming courses with my students, because I find those fun, and they get to have an immediate return on investment by seeing things happen.

The hardware is very important. The memory management, the understanding what's going on. Without that, you can only let's say, go so far in your career as a software engineer. It's a give and take. When somebody graduates with a bachelor's degree, they have a lot of theoretical knowledge, they have an understanding of algorithms and efficiency and decision-making beyond just writing code that works, or writing pretty code. Writing code that makes proper use of resources that doesn't expose systems to risks, be them resource network, whatever it might be.

I would say that it's very important to not rely only on the course contents, and explore outside of the courses. What I mean by that is, go to meetups, read, get an internship if you can, go to a boot camp and study something that you want that's very skill oriented. If you decide that you want to – I'm not going to name anything. You want to learn something quite [inaudible 00:20:17] and you want your focus to concentrate there, you can do it on your own, or find a group of people that also are interested in that. That's what the bachelors really provides, as opposed to say, a training session, or a boot camp. Everything has its purpose, besides just the paper.

[00:20:40] BH: Sure. One of the things when it comes to teaching, I know so I do a lot of conference workshops. This is like a one-day skill up events. In your experience, behind the scenes, I think that a lot of people don't realize there's a lot that goes on as instructors. What is it like for you as far as behind the scenes of getting all this ready for students?

[00:20:58] ES: Well, a lot. Do we have a lot of meetings regarding? Is our curriculum appropriate? Are we moving with the times? It's really hard to keep up with the times. We need to have a certain foundation that we set, so that our students can learn on their own and keep up with the times. That's one thing.

The other is, is our math correct? Do we need an extra course? In fact, right now, we want to introduce an extra course between Programming 2 and data structures to make that our Programming 3, so they can learn additional language. We have besides curriculum meetings, great appeals. I’m going to go with this big P word of plagiarism investigation. We have senate meetings, to determine what rules need to be passed and what rules shouldn't be passed.

We have assessments of courses, departments, the college and the university for [inaudible 00:21:59] purposes. There's a lot. Not just preparing your class. Preparing a class is a whole other boatload of information. Keeping the ball rolling as a full-time faculty member, there are many other obligations, beside the course content, the office hours and working with your students.

I'm glad you asked this question, because I don't think people realize. I didn't even realize all that work that goes into things going, until I was neck deep in it. Yeah, seriously. It's like, “Whoa, okay.” It's good to work, though. It's really worth the effort. Especially when you see results and your students come back and you're like, “Okay. I had something to do.” I didn't plant the seed there. They grew with it, but I had something to do with it. Whether it was that I directly taught them, or I helped in a decision that affected a curriculum, whatever it might be.

That's behind the scenes, not curriculum related, as far as a single course. Behind the scenes with a single course, it's how do I get the message across? How do I want to display this now that we're in this online world? Can I reuse anything from a previous semester? What's changed? What do I need to ensure I go over to avoid any misconceptions, or repair misconceptions? Because many times, students come in with misconceptions. That's even worse than not knowing nothing, or not knowing anything.

There's a lot that goes into a before class. Then after classes, just answering fun questions and helping students get up to speed and being proud of those who have struggled and gotten up to speed. Or they were just lucky enough that it came naturally and they got up to speed.

[00:24:00] T: A follow-up question I have for both of you, being that you're both prolific speakers and educators is, how do you find the process of putting together a lecture, or a class, versus putting together a talk?

[00:24:13] ES: I would say, a lot of the preparation is similar. The difference is, when you are preparing for a talk at an event, you need to have content that meets people with barely any knowledge of the subject, and they're just interested in it, a deeper knowledge of the subject, and maybe something enticing for the experts.

Whereas if you're doing a lecture for a class, usually you're building on previous knowledge. You have an understanding and an expectation of what their previous knowledge is. You focus more on an hour, or a two-hour topic and can drill into depth, as well as leave something for next time. With the event, the leaving something for next time, you don't know when that next time might be. It can be catch me after in social hour and we'll talk and answer questions. Or if you know that you have another talk coming up and you want to promote it, you can say, “Okay, we have part two of this then.”

There are a lot of similarities in determining what it is that you need to put into it. There are also the differences in, you don't know when your next time might be, unless you're lucky enough to know that. You don't know your audience’s varying levels of experience with whatever the topic is. Being able to spread that out a little bit on the spectrum of just heard of it, or expert is fun, but also challenging.

In the classroom, I would say, you might have someone who dabbled with something outside of the classroom, but usually, they're there, because they want to learn about that particular topic that you're teaching on that day, for that hour or two-hour, however many hour session.

[00:26:17] BH: I definitely agree with what you said, as far as really, when it comes to talks. I really also see it as a way of like, it's really about inspiring people to look into a topic later on. Because especially at events, you're hearing multiple talks at once, so it's really hard to definitely dive deep on anything that people can engage with. They're not coding with you and not live coding, that they go, “Oh, that's an interesting concept. Let me look into this later.” I tend to look at talks really as inspirational. Whereas, to Eva’s point, when you're in a classroom and they're looking to engage on a topic, this is where you get to be more flexible with how you engage students, as far as coding along, or having them involved in different activities that you might not really be able to do in a talk, otherwise, especially at multi-track events when it comes to giving those things.

I think those are my two differentiations, when I approach workshops versus talks is one, is to basically, let someone walk away with something tangible, when they go to a one-day workshop. They build something that they can take away and play around with later, versus like, “Oh, that was an interesting talk. Here's a link. Maybe I'll go check on it later and bookmark it.” That's the two mindsets, I think of.

[00:27:18] T: I'd like to revisit a point that you brought up earlier, Eva, about your students’ access to hardware in order to go to school. I think, at least in web development, I don't think every company has this, but I don't think it's uncommon for people to be in a situation, where you're pretty much developing for one client, which is usually the computer that your work gives you with the Internet access that your work gives you, which are generally pretty high-powered, compared to the average user. We lose a lot of opportunities to keep in mind and develop for people, who maybe have less powerful hardware, or less than ideal Internet access.

I'm curious, in terms of when you're looking at this from an educator standpoint, both how you create new opportunities for people from backgrounds that we may not see as commonly in tech, as well as, do you think that they are also able to make meaningful impacts when they go into the workforce, in terms of bringing awareness and attention to those types of constraints?

[00:28:26] ES: I'm glad you asked this question, because it allows us to address the fact that most people think when we say, underrepresented in a particular field or position, that we mean gender, and/or race. It’s so much more than just race and gender. It’s economic status. It’s family status, access to Internet, location, and maybe financial, depending on what your Internet status is, access to hardware.

In general, what I've noticed is people who struggle to reach a certain point will, or face challenges to reach a certain point in their life, will work harder, will give back more and will keep that door open for the next person. Now, I'm generalizing. That's what I've noticed. I'm really happy to see that.

I come from an immigrant father who didn't finish the fifth grade. My mother, she eventually finished high school, got her GED. First generation graduate. Not just of high school, but undergrad and then graduate school. All I can think about is giving back to my community. Now, I can't compare everyone to me, but those people that I've met who had hard times growing up, come from a background where resources were scarce, understand and value the opportunities given to them, really go above and beyond and giving back.

That shouldn't be taken as people who don't struggle, don't give back. All they do. What I've noticed is those who faced challenges, and they come from either a race that is underrepresented in a particular field, their gender is underrepresented, they come from an economic background, where resources were scarce, or they just they had a learning disability and they found it very difficult to learn something, and whatever else is considered underrepresented. I can't sit here and list them all, we'll run out of time. They tend to focus on giving back and helping others, because they understand the struggle. I'm happy that I noticed that and I wanted to share that.

[00:31:04] T: I think, sometimes it's hard to remember that it's not a zero-sum game and helping lift others up doesn't take anything away from you, but it's such an important thing to keep in mind and live out as a value every day.

[00:31:20] BH: You mentioned that you all cover a broad variety of topics when it comes to preparing students for their next steps in their journey as programmers, or just in the computer science realm. One of the things that a lot of – we know that with boot camps, we're getting this whole cohort of people who didn't have the opportunity to have computer science, like more formal computer science training. They basically, jumped headfirst into the industry. I know, a lot of people would really be curious, while it might be – not literally too late, but difficult to be able to definitely step back into a full-time student com sci degree. Do you have any thoughts as far as, maybe topics, or maybe supplemental courses that you think would be helpful for those who might be a little hard for them to go back to do the full degree these days?

[00:32:07] ES: If you're already in a position and working, that means that you have learned a lot that students who are graduating, haven't learned. You've been in the trenches. I would say, you don't need to go and get that particular paper. Unless, it's required by your employer. You can read on your own. You can sign up for a bootcamp. You can sign up for a course or two as a non-matriculate, if you want to take it at a university and you're contemplating going back for that paper, because you think you may need it to expand your opportunities going forward.

It's funny, probably to hear me saying you don't need that paper, because I teach in academia. Sometimes you need that paper, so you can move forward. you need to prove that indeed, you have that knowledge. I have met many people who have finished with a major in English, and have obtained positions as software engineers, and then they have expanded upon their knowledge, both on the job and outside of the job and their employer has paid for their either formal education, then going for master's degree, completing all the prerequisites for it, or bootcamp style training.

No one said you need to do it the other way around, like finishing a degree and then be gainfully employed. If you're able to move to the gainfully employed part and then finish your degree, fantastic. It's just not always going to work. There were a number of years, where just it was programmers needed to be hired and people were, “Okay, I can turn a computer on. I will learn.” That learning attitude is what made those people successful. That learning attitude is what will make any developer, engineer, professional in industry is successful. I'll learn to do it. I'll figure it out. I'll ask and I'll make it work.

[00:34:20] BH: Yeah, great advice. Something you mentioned earlier that I really thought was interesting, was you're talking about the transition from Python to Java. The fact that it's statically typed in this friction. I think, right now in the web community, we're experiencing something similar, where TypeScript is becoming really popular, as far as that discussion. JavaScript being one of the most loosely dynamically typed languages, loosey-goosey stuff.

I think, the community as a whole is probably feeling that very thing you talked about. I was just curious, as people – because people are basically forced to go through that transition, from JavaScript into TypeScript as teams to make that enterprise move. Do you have any advice for people out there as they're – is there book that was helpful in this transition or something?

[00:35:05] ES: I would say, it's more of a mindset. Yeah, JavaScript, you can be dangerous in a few days with both meanings of the word. You can be good dangerous. You can create beautiful things. You can be bad dangerous and make lots of mistakes. It's more of a mindset and being strict with yourself and saying, “I'm going to specify the particular type, stick with that type and understand that my variable needs to be treated as such, throughout the duration of its life.”

Don't leave room for guessing and inferences. Be strict with yourself, first, as a programmer and take the extra step to keep it in your mind. Don't let, whether you're using a compiled language, or interpreted language, don't let your tools do the work for you. Be a little bit obsessive. It helps. Before we were recording when I was rearranging the books, because I pulled one out and didn't like placing it just on top.

[00:36:12] T: Switching gears, one question that I was wondering, Eva, is I believe I remember you mentioning that you sometimes teach interviewing, or career-related courses. I was curious if you could talk about either skills that are not directly about coding that you feel the need to impart on your students, or areas that you feel that when people come into the program, they maybe leave either lacking, or you're glad that they came to your program, so you could imbue those skills upon them, if that makes sense?

[00:36:45] ES: Yes. I do teach a course. It’s called technical interview prep. It focuses not just on the hard skills, so practicing your coding, your data structures, your algorithms, knowing how to whiteboard and solve problems live. It also focuses on the soft skills, interaction, representation of yourself, to be sure that you're making the most of the short timeframe that you have available to you to impress your future employer.

For the hard skills, we use hacker rank, and we also use – the cracking, the coding interview book, so that students get more hands-on, because you can have the best soft skills in the world. If you can't get the work done, then you're not going to be hired. Part of the soft skills that you focus on are your 30-second pitch and making sure that you can sell yourself, if you go to a job fair. Nowadays, they're online and virtual. Even there, if you have a little breakout sessions, and you get with others. Making sure that your LinkedIn profile is properly advertising who you are and what your skills are. Making sure that your resume, for example, isn't using tables, because it would get lost, or some of the data would get lost in the tracker tool, depending on how updated it is.

Making sure that when you write a cover letter, you really write it with intention for that position. You could have a general template that defines your skills, but tweaking it each and every time, and making sure that when it says a cover letter is optional, and you take the time, work on it, submit it. During an interview, the soft skills that you would need to answer particular questions, you never ever, ever want to lie on your resume and your cover letter in your interview. You don't want to lie in general. You really don't want to lie, not just because it's wrong, but because if you get caught, you're going to be in super big trouble. Even years down the road, you could get fired for it.

Answering questions such as, express a challenging moment in your career, whether it was your professional, or academic career, and being genuine. Making sure that you do bring up something that was challenging, but it doesn't necessarily need to be something negative. It can just be a challenge in how to work with someone on the team, who maybe they weren't very outgoing and you took the extra step to get to know them personally, so that they would be able to feel more comfortable and then you would have a better working team.

Or you could bring up a technical challenge that you focused on and overcame by doing your research and spending the time and asking around for assistance, not being afraid to ask for help, or whatever it might be. You have your soft skills during the interview, before the interview, trying to get an interview. Maybe you're at like, I said job fair, an elevator. You have your professional portfolio, where you're building all your things that lead up to your interview and obtaining it. You have your hard skills that you need to practice, or you'll get rusty. I think it's a whole course. My students have told me that they've benefited a lot from it, and they get credit for doing things that they would have to do anyways, to be successful. I'm lucky to be able to offer it.

[00:40:36] T: Yeah, that sounds fantastic. To close, I noticed that we each have quite different educational entries into tech. I thought, maybe we could each share one thing that we appreciated about our tech educational background and one thing that we found challenging, or wish were different.

[00:40:57] BH: Yeah. For those who don't know, I have a psychology background. Basically, my training was basically, doing some HTML and CSS when I was a kid out of the O'Reilly book. Then, I'm thinking I needed to know Java before learning JavaScript, and making all sorts of fun and mistakes like that. Basically, yes, I think I have the self-taught route. Because when I tried to enter the tech industry, this was before boot camps really started becoming a thing. The one thing I appreciate it was learning how to persevere in a time where resources were desperately scarce and there wasn't a community behind it.

I think that's the one thing I think I found the most detrimental to this path is that while yes, it is possible to pull yourself up by your bootstraps, it can be a very lonely process, and especially back then, which is why I think boot camps have found the success and degrees have found the success they do, because when you have a group of people around you to help push you forward when you're feeling lost, those can be really critical in times where you might want to give up on yourself and feeling that imposter syndrome. Those are my answers. How about you, Eva?

[00:41:54] ES: I initially studied accounting. Decided that it was boring for me. Not that I couldn't do it. I just couldn't see myself doing it for even a few more years. I just couldn't see myself doing it. Then I discovered the well-known problem, the Towers of Hanoi. It reminded me of when I was a kid and trying to solve puzzles. That really piqued my interest. I went on to study computer science, because I could solve problems and puzzles and games.

Anyways, I studied Information Systems first, then I studied computer science. I went on through a few internships, startups, well, Medical Center, Cornell and then IBM, where I entered into research for a few years. Then I moved around through different departments. I went to technology services and federal cloud. I spent over a decade at IBM. How did I end up at Lehman? I am here now full-time since end of 2016, after leaving IBM.

When I was doing my graduate study and working at IBM, I was teaching as an adjunct part-time. I stopped teaching as an adjunct, when I planned on holding out a full-time job and becoming a mom. As I said, full-time job, becoming a mom and a part-time job. Like, what was I thinking? I left the adjunct thing aside. In 2013, while I was still at IBM, I started teaching part-time at Lehman College. I realized how much I missed it. I was teaching evening classes twice a week.

I was like, I need to figure out how I can do this full-time, figure out some path to transition and still be able to pay my bills. Well, it worked out. Here I am. Now it's 2020, end of it. I'm looking at spending the rest of my career at Lehman. Find what you love, if you're lucky enough to be able to work hard and be in that industry, whatever it is, you can have a happy and successful career life.

[00:44:25] T: Yeah. I took a couple of coding classes at camp and in school. Like Ben, I started with Java, but I started with a special flavor of Java, called processing. At the time, there weren't really any resources for it. I found it pretty frustrating. I think if that had been where I ended, I probably wouldn't have gone back to it, just because it was something that I was doing for fun. It wasn't something I was looking to do outside of school, I guess.

Then I went to a coding school. I think what I appreciated about it was being in class with other people, being in class with people who were there, because they chose to be there and not because they felt obligated to be in school, or they need a degree. Also, that the curriculum, while it did have very many faults, at least was something that had been tried many times, up until that point. It wasn't new or improvised or ad hoc. Although, immediately after I went, they switched from AngularJS to React. It was improvised and ad hoc.

One thing that I wish were different was because of the nature of the program, it's very much about giving you enough skills that you can get a job, so they don't really focus on, I guess, things outside of the coding, because that's the part that you presumably don't know. It seems like, the stereotype of the programmer being anti*social and working alone in a dark room and never having to talk to anybody is still fairly prevalent. I see a lot of potential students coming in with the expectation that they can switch into a job like that. The school doesn't really cover communication skills, or people skills, or even accessibility skills. I wish that we had room to talk about those things as well.

[00:46:13] ES: I think that it is important to, I guess, specify that as programmers, or as developers, yeah, we do spend a lot of time hands-on and head down in front of our keyboards. There's so much communication and so much decision making that goes in beforehand. It's really important. I'm glad you mentioned that.

[00:46:38] T: Yeah, a 100%, especially developing my talk for the conference, working alone, I realized how much having to constantly communicate statuses and things like that to my product manager and my manager, my teammates really helped me organize and prioritize tasks, even when I was working solo. That was pretty interesting. [00:46:58] ES: Communication is important.

[00:47:00] T: A 100%. Speaking of communication, Eva, where can people find you on the Internet?

[00:47:05] ES: They can find me on Twitter. @EvaSofianos. You can spell my name, I'm sorry. It’s E-V-A-S-O-F-I-A-N-O-S. It’s not always clear what the spelling is. Then you can find me.

[00:47:21] T: Perfect. We'll be sure to include a link to Eva’s Twitter in the show notes. With that, it's time for us to move on to this week's picks. Ben, you're up.

[00:47:32] BH: All right. For this week, my pick is a Chrome extension. It is called Volume Master. With a lot of the remote events now, sometimes I find that and you have audio open in multiple tabs. You can actually control the volume on them. It's either on a 100%, or it's off, which means, basically, conflicting audio becomes really challenging. Volume master lets you basically, do exactly what you want, which is control the volume on individual tabs, which is super nice, given that unfortunately, it is not a native feature inside of Chrome.

No, I have one more. I have a fun pick. My fun tip for this week. I [inaudible 00:48:03] –

[00:48:03] T: Controlling the volume isn’t fun for you? I feel it's very on-brand for you to have a tool just for volume.

[00:48:09] ES: I think too [inaudible 00:48:10] a new life by being able to do that. I have to try that now.

[00:48:15] BH: Yes, yes. It works wonders. For my fun pick, for those who might not find tweeting as much fun, I just started watching The Queen's Gambit. I've only watched the first episode, but I realized what I saw –

[00:48:24] T: Is this the chess show?

[00:48:26] BH: Yeah, this is the chess show on Netflix. Watched the first episode, liked what I saw so far. If you're looking for something new, check it out.

[00:48:32] T: Nice. How about you, Eva?

[00:48:35] ES: I can't compete with that at all. I've been watching a show with the kids. It sounds like a curse word, but it's not. It's just the name of the town. Yes, something creek and then say it and have people think that I am saying a curse word. It starts with a S and ends with a T and let's just leave it at that. It's fine. It's safe enough to watch with the kids and still get a good adult laugh out of certain papers. I guess, TV I'm also waiting for Queen of the South. It’s another show that I can say, not risk cursing, right? It’s not for kids, though. Basketball season is over, so I can't watch basketball. It's raining out, so I can't go outside. I don't have any cool Chrome extensions to offer. I'm sorry.

[00:49:34] BH: Not a requirement.

[00:49:36] T: The first time I’ve somebody being like, “Oh, I have imposter syndrome, because somebody recommended a really cool tool for controlling volume in an Internet browser.”

[00:49:45] ES: Seriously, right? Imposter syndrome is real.

[00:49:51] T: Yeah. Ben has a tool for everything.

[00:49:54] ES: Ben, I need to hang out with you. What other tools do you have?

[00:49:57] BH: A lot. We'll follow each other on Twitter and we'll have lots of DMs. I have so many tools.

[00:50:03] T: Finally, my picks for the week are – I might have recommended him before, but Ethan Becker on YouTube is an artist and professional animator, who does humorous crits of other YouTube artists’ work. He has a shtick about people coming for his dog and he's going to tear them apart. Then he gives a really kind, thorough and well-delivered critique of what all these other artists are doing well and what we can learn from them. Just every time I watch, I'm appreciative of A being able to see feedback given and also, it's to somebody else, so no worries about your ego getting bruised there. Also, just watching somebody doing it well and hopefully, learning from that.

Yeah. Then my second pick is my friend, Kristen, was asking on Twitter for songs that give you all the feels and I was reminded of the song Kurumi by Mr. Children, which is a Japanese band. The story in the music video is that there is an older man who always wanted to run a band. He gets together some of his friends, who are also just working men and they formed this band called Mr. Adults. It doesn't work out, but they had a great time. One of the names that they had decided not to go with was Mr. Children. I guess, it's a Mr. Children origin story. Yeah, those are my two picks. That's all for this week's episode.

Thanks for listening. Until next time, enjoy the vue.

[END]