Advice From an IBM i Developer: Just Get Out There
IBM i developer Joseph Wright on lessons learned as a first-time presenter, which include the value of saying yes and admitting you don't have all the answers
Charlie Guarino: Hi everybody. Welcome to TechTalk SMB. Today I am meeting with Joseph Wright, who is an independent consultant. His company is Wright 400 Inc., and he is located in Southern California. I had the unique opportunity and pleasure to meet with Joseph at a recent conference at the OCEAN User Group in this past July, and I have to say that after speaking with Joseph, I was truly inspired and I can tell you why. Joseph for the very first time presented a session, and that’s kind of new in our community to have a new speaker. It's a great thing. It’s a wonderful thing. But I was so inspired by his motivation and more importantly, actually watching him in action, and I thought this would be a very interesting topic to discuss for anybody else who is considering getting into the speaking—maybe not the business but certainly just the idea of presenting a session somewhere. So Joseph, what a delight it is to be with you here today. Thank you so much for coming.
Joseph Wright: Yeah. Hi everyone. Thank you, Charlie, for having me and that was a fantastic introduction. Thank you so much.
Charlie: Well thanks, thanks for that. Joseph, I got to tell you that when I first saw you, I attended your session and I sat in the back of the room but it was a completely full session and I was blown away by that. Clearly the topic was of interest to a lot of people, but before we even get into that, let’s talk about you a little bit, give people a little some of an idea of who you are and things like that. So you are a developer.
Joseph: Yes, I am.
Charlie: You’ve been developing, I think, for about a dozen years or so.
Joseph: Since 2011—straight out of high school.
Charlie: After speaking with you in July, I had the sense that you really embody to me what I consider a full, modern developer. So let’s talk about that for a minute or two. What is your typical day like? What are your tools that you use in your everyday life?
Joseph: I use Visual Studio code. I use it for all sorts of languages, but primarily RPG, and I use Liam Allan’s Code for IBM i extension. So that’s where I do my RPG development. I have to confess I still have RDi (Rational Developer for IBM i) open; I go back and forth so I can keep making improvements in Code for IBM i, because I help contribute to that. I use ACS for my 5250 emulations; for SQL I’m using a combination of the Db2 for i plugin for VS code and an older tool called SQL Explorer. I’m trying to migrate over to Db2 for i, but SQL Explorer is a holdout for me at the moment.
Charlie: That’s okay—and surely, eventually, I would imagine you are going to run up on run SQL scripts.
Joseph: I go in there all the time. Scott Forstie has some amazing examples there, and oftentimes you’ll find examples there before you find them in the documentation, so it’s a fantastic place to look so long as you keep ACS up to date.
Charlie: Right, right. There certainly are a lot of great tools out there, and there’s really everything I think that we need for modern development.
Joseph: Yeah, absolutely.
Charlie: And I also feel that IBM is very receptive to adding new things as the community requests them, if they can make a good case for it.
Joseph: Yeah, IBM has been amazing. Like all the people at IBM I had an opportunity of speaking with—you know, the friendliest people, always willing to listen. They take constructive feedback and they’ve been making lots of improvements every since I’ve been on the platform.
Charlie: Yeah and the cadence at which these updates come out is really impressive as well.
Charlie: So let’s talk about what you do everyday, or the topic that you decided to present at the OCEAN User Group. By the way, this is TechCon, which is held once a year in July in Southern California. It’s a great group and I know Joseph is a volunteer for that group. What inspired you to even volunteer for the group?
Joseph: My first company I worked for was a member of OCEAN, so we would attend the annual conference, so I’ve been attending OCEAN ever since then and yeah, I just know a lot of the board members and again it’s a fairly small group. So everyone gets to know each other and yeah, I’ve just been more inspired to help out. I’ll say Patrick Behr has twisted my arm to help out a little bit more now that he’s taken more of a leadership role there as well. So yeah, it’s been fantastic.
Charlie: It’s held at such a great time of year in July in California—who can beat that? I mean with the extra things we do at night there, it’s a wonderful opportunity. So Joseph, what do you do during the day? Like for example, what topics or what tools do you use? Not the tooling per se, but I know you did a topic—I think it was on Python if I recall correctly.
Joseph: That’s correct.
Charlie: Right. So you’re a full or most time Python developer?
Joseph: No, I am a full-time RPG developer. I spend probably 90% of my time writing RPG— you know, full Free Form with SQL, really heavily rely on SQL, love SQL. So one of the reasons my talk was Level Up Your RPG with Python is because I come from the point of view of an RPG programmer who learned how to use Python to, you know, level up. So yeah, I hoped in that talk I could give an RPGer’s perspective of using open-source, which I think a lot of the community is coming from the RPG mindset.
Charlie: Which I think spoke to why it was so well attended.
Charlie: Were you surprised at the number of people who showed up at your session?
Joseph: Uh, shocked at first, yes.
Joseph: Yeah. I knew it was either going to be five people or 50, because it was my first time speaking. So it’d either be no one and I’d be like oh no, no one wants to see me, or it would be everyone, and it seemed like it was everyone in that conference.
Charlie: The room was filled. They had you in an auditorium and it was full.
Joseph: Yes, theater seating. You know the last ten years OCEAN has been held in small classrooms and hotels where you could fit 20 chairs maybe max, and this year we have this beautiful community center in Tustin with this giant theater seating—you know, 100+ chairs—and of course it’s the year I volunteer to give my first session. So yeah, as someone who is not used to speaking, that was fun. That was a fun twist.
Charlie: Terrific. I thought it was fun. So here you are doing this RPG development using Python, things like that, and you said it a couple of times already that you’re not a traditional speaker, or you’re a new speaker as we said.
Charlie: Well, let me just back up a second. Do you even consider yourself a speaker?
Joseph: No, for my entire life I’ve been extremely shy and introverted. There was a point where I couldn’t even place my order as a child. So yeah, ever since I got out of high school, started working professionally, I’ve been pushing myself. I did like IT help desk type work where I was answering the phone. That got me out of my shell a little bit, to be able to hold a conversation with someone, and yeah over the years I’ve just constantly been pushing myself to get further and further out. Obviously this is the next step for me.
Charlie: How does one get motivated to actually make that leap from thinking about this to actually submitting an abstract to see if it will get accepted by the conference?
Joseph: Yeah, that is a fantastic question. You know I still look back and wonder what really was going through my head to push me out there in the first place. I definitely think for me it was sort of everyone I work with—all the friends, the board members at OCEAN, I had a lot of people telling me hey, the work you do everyday is fantastic. I remember this project you did. You know you could give a talk on that. It was amazing. Everyone kept giving me ideas of what to do and they’ve been doing that for 2-3 years, so it was really just like the final reason I decided this year was—it was not a New Year’s resolution but it happened to be at the beginning of this year where I just said, I’m going to say yes to things. I’m just going to go out and say yes, and see what happens, if I survive. And I survived... and so far, that’s worked out well for me. I mean we’re nine months in and I’m quite happy with how things have gone.
Charlie: It’s a good strategy.
Charlie: I know when you and I spoke—I guess it was the day before your actual presentation—you mentioned to me even back then you were nervous, I guess which is completely normal and anybody who is doing this for the very first time I imagine will have some level of anxiety or some nervousness. But I think because I had the opportunity to watch you present, you didn’t seem—it seemed completely natural while you were up there speaking.
Joseph: Well thank you. From my point of view I felt very nervous, like everything coming out of my mouth I was like over-analyzing as I was saying it. I was tripping up a little bit with my words but I did a lot of preparation beforehand, to get notes and kind of run through what I was going to say. So if it came across that way, I guess I did a good job, so thank you.
Charlie: You came across with complete confidence, and that’s actually the magic bullet right there. The magic bullet is if you know your topic well, you are literally bulletproof, and this is a topic I think you know all deep and wide.
Joseph: Yeah 100% knowing the topic and being able to ad lib and answer questions when the audience had questions, that was a big one for me. Because that you can’t prepare for—and we should definitely talk about that because I had two people throw me some curveballs at the end. I think I handled that well.
Charlie: Sure, well let’s talk about it then. You know if you have the confidence and know your topic well, then you really can’t be thrown. There’s always people who will ask these questions, either deliberately or not. You know they have genuine interest, but let’s talk about that. So you are presenting this topic and as you said, you got two questions that were—I imagine they were on topic but not within the context of the presentation.
Joseph: Correct, they were on topic. It was about Python, the language itself, but both were performance-oriented I would say, which isn’t an aspect that I spend a lot of time thinking about because RPG is my performant language—SQL, I leverage the database when I care about performance. Python, I look at in a completely different light. It’s a utility language that is low code, high output as far as just importing, packaging, and getting something done without having to rebuild the wheel from scratch. In RPG so oftentimes that means performance can go to the wayside. You submit the job, you let it run. So one of the very first questions was how do you deal with Python being so slow? I know where that came from because for the last 5-10 years if you ever go online about Python, you will see everyone talks about how slow it is, and it is true. Compared to super high-performance languages, it is slow. But in the context of an RPG application running, it’s going to execute in a second or two—you won’t notice it. That matters when you’re doing high level machine learning, big data processing, millions and millions of rows, and it’s just not something you or I are ever going to hit up against. So that was an interesting curveball for me, and then the other question was about Python’s ability to handle floating point numbers. Long story short on that one: if you go out enough decimal places, it gets imprecise. And you know my answer to that is I personally don’t use Python to do large decimal precision floating point number calculations. If I’m going to do that, I use SQL and I know SQL can handle that just fine. Db2 is fantastic you know, and in Python you can run Db2 SQL scripts and I’m calling Python from RPG, so it’s never been an area I’ve had to tackle. So I mean he’s not wrong, but it just wasn’t something I was expecting to have to talk on.
Charlie: I think you gave the perfect response though.
Charlie: Yeah, and one thing that we tell each other, other speakers what was we tell each other there’s absolutely nothing wrong in saying I don’t know, but we can talk offline. I can get back to you on that. You know we can research it together, things like that. That I think is a misconception in the speaking industry, is that people feel they have to know everything about everything, and I think that is what contributes to sometimes people’s level of fear, because they’re afraid that they’re going to be thrown. There’s a term that’s used in the industry called imposter syndrome—people are going to find you out. But it’s not true. You know the topic and you can explain. As you told me you just did very well the response and you gave somebody good guidance on how to proceed with that particular problem.
Joseph: Right. Yeah, I was in that crowd of perceiving all speakers as experts. You’ll often even see the user groups advertise, you know, our panel of experts. So to me the word expert meant I had to know everything. That was probably one of the roadblocks to speaking in the first place, was I never considered myself an expert on any topic. I know I’m good and I try to remain modest. I’m probably above average when it comes to RPG programming and Python on IBM i, but there’s so much I have to learn. So for the longest time it was, you know, do I have enough to contribute and be among the group of experts? You’re right, I don’t have to be an expert. You know, no one is an expert. It’s really just a group of people wanting to share the knowledge they have, and saying I don’t know if I don’t know.
Charlie: Especially in a volunteer situation.
Joseph: Yeah, and I was more than happy to answer questions before and after the talk. People could reach out to me. I gave my GitHub; they can message me there. So I kind of went into it thinking okay, I might not be an expert, but I’m willing to help anyone after the fact. If they say something or need help in a scenario I don’t know, we’ll research it together. We’ll find the answer together.
Charlie: So we started the conversation here by saying you’re doing this 12 years already?
Joseph: Yes 12 years, started in 2011. My father is an RPG programmer, in case you’re curious about how I got into RPG. He’s been doing it his whole career, so it was pretty natural for him to suggest bringing me into this industry.
Charlie: I think 12 years an expert makes.
Joseph: Yeah, thank you.
Charlie: Provided you’re doing a real 12 years and you’re not doing four years three times or three years four times or whatever.
Joseph: Yeah. I know on paper you hit regular developer around like three to five, senior around eight, so I never felt like I hit senior developer at eight, even though I probably did. It’s just that imposter syndrome, right?
Charlie: Hmm. So—
Joseph: I feel like 2011 was yesterday.
Charlie: Oh, I know. I think we all do. You know there’s an old saying in the industry that says if you want to learn something, teach it. You’re shaking your head. What do you think about that saying?
Joseph: I’ve had to think a lot more on Python ever since I said yes to speaking. I probably did more cramming on Python just to prepare for the unexpected questions to make sure I was 100%. So yes, speaking on a topic with the right individual will drive you to just, you know, further your knowledge.
Charlie: Has this given you any new perspective on people who do speak in the industry?
Joseph: Yeah, yeah. I still extremely admire you guys for sure. You’re much more approachable. You’re less rock stars, more just other people who want to help and share, which is definitely a good perspective, I think.
Charlie: I think that’s common for all the speakers that I know. Everybody is willing to share and I think that’s what makes the IBM i community so great, and the community that it is.
Joseph: Yeah, and it really taught me that anyone can share and be a part of this group.
Charlie: Absolutely. So let’s talk about the audience. I mean when you were preparing the contents for this presentation, who did you envision coming into the room? Who—and did you even keep that in mind or did you have that in mind? You know, who am I talking to when I’m giving this presentation?
Joseph: Yes, my audience—you know I was always taught, think of your audience when you’re speaking. I’ve never spoken professionally but I remembered all the guidance I’ve gotten over the years. I just thought back to every company I worked for, all my coworkers as if I was giving a speech to all of them. That to me is a group of people who are friendly, open minded, but they’re not well versed on the topic. So I need to start at one, give some intro, move quick but slow—I guess slow and quick into the more advanced topics, because I wanted something for everyone. I wanted the intro section for people who have never used Python. I wanted the more advanced stuff for the people who have used Python and want to get a little bit more out of the talk. So it was a weird balance, and to try to keep it in about 50 minutes was definitely challenging. I have to say even after making my first presentation, I already had enough notes and material I probably could have made two or three more [laughs].
Charlie: Yeah, you better be careful. It becomes quite addicting very quickly.
Charlie: You kind of make me think that that’s where you’re going with this.
Joseph: Yeah, it’s definitely a very high probability. I mean I’m quite busy professionally, but I still want to remain very active. So yeah, you’re going to see more of me.
Charlie: I have these old sayings. The next one I can throw at you is if you want something done, give it to a busy person.
Charlie: They somehow have good time management skills, apparently.
Joseph: Yeah, and I’m already being hit up to go to other conferences. I am attending COMMON in Sweden and Denmark next, and Liam has asked me to help on his workshops.
Charlie: Terrific. So you’re actually going and presenting in-person in Sweden and Denmark?
Joseph: Not presenting, helping out on the workshops. So I might be standing at the front of the classroom for those, but otherwise I’m just an attendee for the other days.
Charlie: Wow. That’s amazing.
Joseph: Exploring the countries for the first time.
Charlie: You see what happens? You dip your toe into the pool, into the water, and the next thing you know, you’re on a plane.
Joseph: Yup, yup so very excited about that. It’s about six weeks away.
Charlie: That’s really great. So when you first had these thoughts to give this presentation in the beginning of this year or even late last year, whenever it first started, did you ever imagine you’d be going to Sweden and Denmark?
Joseph: No, absolutely not [laughs].
Charlie: As a complete aside, I’ve been to both of those places and the people there are just wonderful. You’re going to have the best time ever.
Joseph: Yeah. I keep hearing that that they’re the nicest people. It’s going to be amazing so yeah—
Charlie: Well good for you.
Joseph: I’m really looking forward to it.
Charlie: As you should. You’re going to have a wonderful time. When you were doing this one session, I’m just curious if you rehearsed it or did any mock presentations, or did you sit down with anybody who listened to you and you know, test your timing, things like that?
Joseph: Yes and no. So, funny story: I did do that with my wife. She’s been volunteering with OCEAN as well, big help on my presentation. So I was going over my notes and I gave one or two read-throughs of my presentation to her first. But then I attended OCEAN, and then I overanalyzed and overthought about my speech. So the night before my speech I basically completely rewrote it, so I was unpracticed for you know, the day of.
Charlie: That’s not uncommon. I see many speakers, minutes before making changes to their presentations. That’s very common actually, so the night before is hardly unheard of.
Joseph: Well, it may have been minutes before for me if my laptop didn’t die on me the hour before I was supposed to start presenting. And thank you so much. You were a lifesaver lending me your laptop for my speech.
Charlie: Actually I had forgotten all about that, but you’re very welcome. I’m glad we were able to help, glad we were able to get—well, it’s just another thing to throw at you for a good story, right?
Joseph: Yeah, it really did make the story.
Charlie: Okay great. That’s very funny. So here we are now, two months after this whole event, and you’re still standing and as you mentioned, you’re going abroad which is amazing to me. So what words of wisdom perhaps,, or words of just how you are feeling that might inspire—because now to me you’re a professional. You’ve faced your demons—if they were even your demons. You faced some of your fears head-on and you gave this presentation, which to me is amazing. Again, having the opportunity to sit in that very session, I was really struck by how well you did it and it really just speaks to your experience in this topic. But what words of encouragement could you give to anybody else who might be sitting on the sidelines today, thinking about doing this on their topic, whatever it happens to be?
Joseph: Honestly? Just do it. You know, get over whatever reservations you have. Trust me, I still have reservations about talking, but it felt amazing. I completely changed how I viewed speaking, how I viewed everything, even the platform. I know there are so many programmers out there who are let’s say apathetic towards the state of the industry, the path forward, and RPG as a language and whether or not it’s going to be around. Just getting out there and being more active with the community and sharing your knowledge, you know you realize you could really be a part of fixing that. If you think there’s a problem there, go out there and teach and bring more people into the fold. I had a fantastic conversation with a guy named Alexander who, you know, long time programmer but first time RPG, and he had a million questions. It just felt so good being able to help someone out like that, and he really appreciated it. He kept finding me the next couple of days, asking more, and it was like a kid in a candy shop with him. So yeah, it’s definitely fantastic. I would highly recommend the experience to anyone. Just you know, get out of your own mind if you’re the type like me who is overanalyzing, overthinking, and just go out there and try it. You will survive is what I will say.
Charlie: Well, you have survived and it seems not only have you survived but you’re actually—you’re growing as a result of this as well.
Joseph: Yeah. I certainly hope so. I mean that is the goal. I want to keep growing knowledge, personality, everything. You know I believe everyday I can improve myself, and that’s what I try and do.
Charlie: And this is going to go in so many other areas of your life as well. You conquer your fears—you hit them head-on, you conquer them and it just changes your whole perspective, your whole career trajectory, really. It does make a big difference, and it’s fun. It’s fun to be out in the front of the room—I think anyway. I think you were having a good time while I saw you doing it.
Joseph: Yes, you know I’ve been to what? Ten years of OCEAN conferences and yeah, that was my favorite by far, and it’s not like the others weren’t great, but you know the one standout thing was I actually was able to get up there and speak this time. So yeah, I thought it might be my worst and it turned out to be my best.
Charlie: So you mentioned your wife, that you were practicing with your wife presenting the content. Is she in the industry as well?
Joseph: She is not, so yeah, admittedly, a lot of what I was saying probably went over her head, but she still gave great feedback and it definitely helped just having someone to talk to. I know some programmers believe in, what is it?, the rubber duck method where you have a little rubber duck on your desk and you just talk out your problem to it. My wife is a bit more conversational than a rubber duck, so it definitely helped.
Charlie: Yeah, I had the good fortune to speak with her as well and one thing that I really loved also was that she was your biggest cheerleader there, too.
Joseph: Oh, she was. That’s one of the reasons she volunteered to be a session manager, was to make sure she could get in on my session and be able to sit there and watch me.
Charlie: I think that’s really great. When I first started out, I used to practice with my dog. My dog could have been the best presenter at some point because my dog knew more about RDi than anybody else I knew at one point, [laughs] but didn’t happen. So you mentioned Denmark and Sweden, which again is just amazing to me, and you mentioned future OCEAN conferences. What I think is going to happen is you’re going to be asked by many other groups I would imagine, down the road in the future either virtually or in-person. That’s a normal path of people who are really passionate about their topic, and I really see you going down that path provided that’s something you want to really pursue.
Joseph: Yeah, I definitely see that happening as well. Like it or not, a lot of people are going to try to drag me into conferences and you know, I’m probably going to say yes.
Charlie: Yeah. Well, if you’re going to say yes, then you’re not being dragged, hopefully.
Joseph: Yeah, true. I’ve already been asked if I’m going to [COMMON NAViGATE 2023 in] Virginia Beach this year. Unfortunately, because of Denmark and Sweden, I won’t be attending that one but yeah, I fully expect a lot of invitations looking forward.
Charlie: Well, I think that’s awesome and I’m so glad that we had this conversation and I’m just also glad to have met you there and to work with you. I have a very strong feeling that we’re going to be seeing your name in a lot more places in the coming year and coming years ahead in the IBM i community, so thank you.
Joseph: Yeah, thank you, Charlie. It was fantastic meeting and being able to speak with you. We went out to lunch, it was awesome. Yeah, so thank you so much for having me.
Charlie: Oh, it’s my pleasure. It’s my pleasure to meet and again, California—Southern California in mid July—how could you say no? But everything about that group is wonderful, the OCEAN group. I’ve been going there for many, many years myself and yeah, like all groups, the people are really passionate. It’s a volunteer job and everybody is really passionate, so it’s easy to be with those kinds of people because their passion just overflows and gives you a lot of inspiration, I guess is the right word.
Joseph: Yeah, 100%. Everyone has been super encouraging, super supportive. One thing about this community is they will be behind you 100%. Yeah, don’t worry about that. I don’t think you can get up there and fail.
Charlie: That’s true, I totally agree. Joseph, it has been a real, real delight speaking with you. Thank you so much for sharing some of your thoughts on being a new speaker. I think if there’s anybody out there who is considering it, listen well to what Joseph has said, because he has gone down a path that is very familiar to a lot of people, and there’s nothing holding anybody back. If you want to do this, if you even have a glimmer of thinking of doing this, think about it. As far as Joseph is concerned, I think you’re going to be seeing his name for many, many years to come.
Joseph: Yup. Thank you.
Charlie: Joseph what a delight speaking with you. Thank you again for your time today and thank you for what you’ve done so far and for all things you’re going to be doing going forward. Thank you very, very much on behalf of myself, and from TechChannel as well. Thank you very much for joining me on this podcast today.
Joseph: Yup. Thank you for having me.
Charlie: Terrific. All right, everybody, that’s our podcast for this month. We do look forward to giving other podcasts down the road. I do encourage you to visit the TechChannel website. There’s lots of good content, reading, and listening too over there. So Joseph, all the best and we’ll see everybody or speak to you next time. Thanks so much, everybody. Bye now.
About the author
Charlie Guarino // President, Central Park Data Systems
See more by Charlie Guarino