• iTunes
  • Stitcher
  • facebook
  • twitter
  • Home
  • About
Mentoring Developers

Mentoring Developers

Helping software developers thrive

Episode 42 – Can software testing be a good career for you?

August 2, 2016 By arsalan Leave a Comment

Episode 42 – Can software testing be a good career for you?
http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode42-jennifer-cable.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

What would you do if life throws a hurdle at you and you lose the only kind of job that you’ve ever know? It’s what you were trained to do. It’s where your skills lie. One moment, everything seems to be fine and the next minute you’re out the door with a pink slip in hand. That is one of the unfortunate moments in real life. It happens, but when it does, how you react to it can make a difference in the road ahead of you.

 

Our next guest experienced just that scenario, not once, but twice. Rather than diving back into a career field that, at the time, was in a decline, she chose a different path. She used her time between jobs to return to school and study tech. But, there is a twist to this tail: it doesn’t involve software development.

Meet Jennifer Cable, software manual tester extraordinaire. Jennifer came from a background blended in fine arts and graphic design in the newspaper field. With news now available online, Jennifer soon discovered that a change in career field was in order for her and her family to thrive financially. Listen in to episode 42 to find out more about Jennifer’s tale and the journey she took to get there.

Don’t forget to stop over on Twitter to say hello!

Jennifer Cable’s Bio:

Jennifer Cable is a Software Test Technician at CoverMyMeds in Columbus, Ohio. She works with a team of Software Developers and Test Engineers to deliver a quality product that meets standards for a reliable, consistent user experience.

 

Jennifer likes to help promote women and girls in the field of development by supporting Girl Develop It and Cool Tech Girls in Columbus. You can connect with me on LinkedIn or Twitter @jkcable.

 

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today, my guest is Jennifer cable. Jennifer, how are you?

Jennifer: I’m good, thank you. How are you?

Arsalan: I’m fantastic. I’m so happy to have you on the podcast, especially because you are different from all the other guests that we’ve had so far. Also, there’s something very interesting. That has happened to you. You got laid off. You were working, and you are probably pretty happy, but you are not doing development. You’re doing something else. You are passionate about it and went to college for it and then you got laid off. Then, you resurrected your career a little bit. Tell us a little more about that moment when you were laid off. What led up to it, and how were you feeling about it?

Jennifer: I was working in graphic design for a newspaper for many years doing ad design. I was very content and what I was doing. I enjoyed it, and I did not think that I could lose my job to outsourcing, but I did. During that time I felt very disappointed and I was also shocked to learn that I would not have my job anymore. At that time I felt that it was time to look for a new opportunity.

Arsalan: Was at a time that was difficult for you and your family? Perhaps you had some questions about how you’re going to manage your finances. Is that something that you went through?

Jennifer: Yes, definitely. My husband and I worry two-income family. So, it definitely had an impact on our family finances. While I did receive unemployment, it was not 100% of what we were used to. So, there were a few years where we had to tighten up her budget and make ends meet until I found full-time employment again.

Arsalan: So, you did find full-time employment, but there was a gap between the time you found full-time employment and the time you were laid off. How long was that gap?

Jennifer: That gap was probably about three years.

Arsalan: That’s a long time to go without a job. In the meantime, while you were unemployed, what did you do?

Jennifer: I was fortunate enough to be able to go back to school. Because of the way my job was outsourced, there was a federal grant program that would help pay for education for people who got laid off due to outsourcing. So, I decided that since I wasn’t working at the time, I would take advantage of that opportunity and I went back to school at Columbus State to study web development.

Arsalan: I think this is going to be an inspiring story for a lot of people who might have been laid off or might fear being laid off because of outsourcing, automation, or various reasons. Outsourcing and losing your job are facts of life. Having to look for another job is something that we all have to deal with. Although it took you three years, you were able to overcome that. Then you got this new job. How long did you work there?

Jennifer: I have been at my current job for two years now.

Arsalan: Great. But, in between, there was another layoff.

Jennifer: Yes. What I’ve been telling you up till now is after the second layoff. The first layoff was before I had the opportunity to go back to school.

Arsalan: Okay, so there was a layoff that was unexpected. Then you got another job and were laid off again. But then you weren’t able to get a job right away, so you went back to college. You took advantage of the available time that you had and you were able to transform your career and get into a more technical role. But, you’re not a developer, exactly, even though you did take software development in college. What do you do?

Jennifer: I am a software test technician. My job title would be similar to what some people might know as a manual tester or a QA specialist, meaning quality assurance. I think that role is changing right now to become a little more technical. I do more technical things, but I also do more manual testing. I’m also in the process of learning to do a little more coding. Where I work now, they focus is on Ruby and Cucumber. So I do a little of that.

Arsalan: Okay, for people who don’t know what Ruby and Cucumber are, we are not talking about the gem and the vegetable. Ruby is a programming language that you can use to do wonderful things, especially automated testing. Cucumber is a framework that uses Ruby. But, cucumber and Ruby are not your only choices. You can use other languages and frameworks.

Arsalan: It’s so important for us to realize that people want to be in the tech industry and wants to be developers and some people who think that software development is a cool industry to be in. There are a lot of people in this industry. Not everyone writes software code and not everyone is a programmer. But, they all contribute to the development of a product. So, you are critical in your organization.

Arsalan: There are people who are writing software programs and then there are people like you who are testing and making sure that they were correct. We all have our roles. Some people may be really interested in software development, but they’re not skilled at coding, yet their very detail oriented and they do a very good job at assuring quality or to do testing. Testing can be done manually, like what you’re doing, and was going to get into how you’re doing that. But, it can also be done using automation and that automation usually entails some programming.

Arsalan: So, I know that in your industry. There are people who write in Ruby and use Cucumber and other frameworks, perhaps, and they do test using some automation. But you went the other way. Was there a reason for that? Did they ask you to do it like this? Is there a reason why you’re not in the automated testing area?

Jennifer: I do a little bit of automated testing. I help run some of the Cucumber features and I help run our Regression suite, which is a group of tests that we use to ensure that there are no bugs before code is deployed. So, I do a little automated as well.

Arsalan: Okay, now let’s circle back. I want to learn a little more about you. How do you describe yourself?

Jennifer: I feel that I am a detail oriented person and that helps me greatly when I do manual or exploratory testing to ensure that I find test cases that other people may not find. I also like to investigate and dig deeper into how things work.

Arsalan: Okay, so you mentioned a few things. You mentioned exploratory testing and some people in the audience may not know what that is. Can you explain a little about the different types of testing that you have to do?

Jennifer: Sure. I do manual testing which is similar to what our users would do. Our company produces software as a service. So, we have a website that’s available to our users. So I just go in as if I were a user and test to make sure that all the buttons, links, and everything like that are working as they should. I also do something called exploratory testing, where I just go to the website and click around and try and do things that a user would do that maybe people wouldn’t think of to try and find a problem or an issue. It’s basically just being like an explorer, trying out different things in different combinations of things. I also run the Cucumber tests and our Cucumber tests Regression suite. So, those are probably the three main ones.

Arsalan: Okay, you use the term “regression suite” and “regression testing.” How would you describe those terms?

Jennifer: I would describe regression testing as a set of tests that would cover all of the things that a user would normally do to operate our website. We keep those tests; and each time a developer right some code that would change the current function of the way our website runs, we run that code against our set of tests to ensure everything runs correctly. If a test should fail, we would look into it to see if the code is causing a failure that needs to be corrected and then makes sure that that code passes all the tests before it is deployed on the website.

Arsalan: That’s an excellent description. If I were to describe it, I would say that it is a big snowball that is rolling down the hill of this project. It collects more snow along its path and gets bigger and bigger. If you can imagine the snow being new features and product improvements, what can happen is that it hits a snag or hurdle along the way and we lose some of that snow. We regress. We go back to a place where we were before. So, something used to work, but now it’s not working anymore. That’s a regression. We don’t ever want to be in that situation.

Arsalan: Every iteration, every cycle and every release we want to improve or enhance the product. So, how would we know that we are not regressing? If you had a set of criteria that could evaluate the product on every release, then you would know if you are making forward progress or if you are going back. It’s important to know that you are moving in the right direction.

Arsalan: Manual testers are very, very important. A lot of companies that I know don’t do any manual testing. They don’t like manual testers because they find that inefficient. They would like everything to be automated instead. But there’s a problem with that. Regardless of how many automated tests you write, you are never going to have an intuitive and common sense test that covers common sense, normal user scenarios in all cases. It’s impossible to do without manual testing and an intelligent and conscientious qualified human being testing your product to make sure that it works appropriately for the user, you will probably always have a product that is kind of wonky. So, I really appreciate Jennifer and all the manual testers who are doing manual testing. Sometimes it’s a thankless job because a lot of times they don’t get appreciated as much.

Arsalan: let’s get your impression, Jennifer. What do you think? Do you think you get a lot of appreciation for the work that you do?

Jennifer: Probably not as much, but thank you for those words. I agree with you that you can’t have 100% automated testing. There are some things that you must manually test. I think that is something that gets forgotten along the process. It’s very important to have some hands on human eyes looking at something and clicking through it because there might be something that you’ve overlooked. So, yes, I agree with you.

Arsalan: I think that it’s always good. If you are a startup company or someone who’s starting a new project and you’re thinking about testing, I would advise you against automated or overly automated testing initially. Start with some manual tests and figure out what you need to test.

Arsalan: Decide on your criteria and a test plan. Maybe have some written down test cases if you need them. Create your regression suite. That’s something that should happen regardless. If you are doing driven development, which means that your code is being guided by tests, then go ahead and do that, but that doesn’t really correspond to automated testing.

Arsalan: The type of automated testing that I’m talking about is something that happens after the code is written. Even if you did test driven development, that doesn’t mean that you don’t need any more tests. You should, but first start with manual tests. Figure out what you really need and how your application behaves from a user’s point of view and then sometimes you can extract that manual test case and manual test plan and automate it. You can automate some of the redundant or repetitive tasks so that it makes it more interesting for manual testers. It allows manual testers to be a little more creative if you automate the noncreative part. That’s my recommendation to new projects. A lot of people struggle with it, though. What do you think about automated testing?

Jennifer: I think I agree with some of the things that you just said. I’ve read that it’s good to have automated tests for those simple, repetitive tasks because it does free up a manual tester to go on and explore some of those other areas that might be a little more complicated. That sounds like some good advice.

Arsalan: Now, I want to talk to you about your college experience because you got a bachelor’s degree in fine arts. You were not thinking about becoming a developer or a tester. You were thinking about becoming a graphic design artist or graphic designer. You did get a job doing that, but it didn’t quite work out for you. I think it was, perhaps, the education that you received was not geared towards getting a job. Do you think there is a way to be successful in the graphic design business and have a secure, good-paying job that I’m sure you were looking for? Or, is that an industry that is in decline?

Jennifer: At the time when I got my degree, there was a demand for graphic designers and I got a job in the newspaper industry. My experience and degree were very helpful and helped me get that job. My problem was with the newspaper industry that I was working in. As you and your listeners probably know, the newspaper industry has been in a big decline since a lot of people get their news from the Internet now.

Jennifer: Print production of newspapers has since decreased. That’s the reason I was laid off from my position. I think that people in graphic design today are learning more web design skills that they use to get jobs now. I think there probably is a bit of a decrease because of the reduction in print production today since more things are being done online. I think more graphic designers are learning those web design skills that they need. For me, though, I wanted to go back and learn more web skills and backend skills.

Arsalan: So, when you went back to college, you didn’t try to do a specialization in some part of graphic design. You went into web development. That was a two-year degree that you got. Tell me about your experience going to the community college for that two-year degree. Was it hard? Did you like it? Was it worth it?

Jennifer: I found it very challenging. I still find it challenging because I came from more of a creative side. The logic side, a programming was very new and different for me. It was a challenge and at first, I really struggled with it, and sometimes I still continue to struggle with it. But, I think it is something that you can overcome. I know that when I’ve told former graphic designers that I’ve worked with that I am now doing software testing, they say that they could never do that. I think you can do it if it’s something that you want to do and you put your mind to it.

Arsalan: I’m sure that quality assurance, which is a term that we’ve heard a lot and now people like to call them testers, they are underappreciated for sure. But software testing is sometimes considered overhead by a small team that has budgetary constraints. So they’d rather hire more developers to build new features and thus, testing becomes a necessary evil.

Arsalan: There’s another approach to this where you can look at software quality as an equal or maybe more so than actual development. What your users see when they interact with your product is what really matters. Software quality assurance people or testers need to ensure that they are not putting out substandard products that people don’t want to use. That’s especially true of the manual testers.

Arsalan: The problem with automatic testing and a suite where there’s no manual testing, a lot of the times the automated tests are written by the same developers that are writing the product. So, if they have a bias or a deficiency in their thinking and they’re not thinking about a particular part of the problem, then were going to end up building a product that is not good because we’re not getting enough perspective. Having outside people that are not developers and are not thinking like developers, they can be the representatives of the users, like you, Jennifer. They could come in and use the application like a user would. Maybe you would have an insight into some of the user ability problems. I just want to stress again that manual testing is very important and many of my listeners want to be developers, but perhaps some of them may be better suited to be testers.

Arsalan: Testing is a vast field. You need testers in almost every organization. You can start off being a manual tester with your analytical and organizational skills. Perhaps you will be very good at it and ensure that your team puts out high-quality software. I interviewed Chuck from some of the podcasts that you might have listened to like JavaScript Jabber and Ruby Rogues. He was a tester. He was a manual tester just like Jennifer. Later on, he got into development and now he’s a very accomplished software developer.

Arsalan: So, there are paths out of this if that’s not something that you want to do. But I would recommend not shying away from a testing job even if you want to be a developer. This could be a path to development or this could end up being your ideal career. What do you think about that, Jennifer? Do you think testing can be a long-term career for some people?

Jennifer: Definitely. My role is a test technician. But where I work at CoverMyMeds, we have another role of test engineer and a lot of our test engineers began as developers. So, I think test engineers and test technicians are not the kinds of roles that you aspire to. It’s more like something that just kind of develops into that. The people who were previously developers have a really good understanding and knowledge of how the development side works, but then they got interested in the testing side of it.

Arsalan: Okay, so let me ask you this. When I was looking at your profile and saw your degrees, I was thinking that you were obviously motivated enough to go to college and learn. You got an associate’s degree in web development, not web design. Is that right?

Jennifer: Correct.

Arsalan: Did you try to get a job as a developer, or was that something that you didn’t want to do?

Jennifer: I really wasn’t sure what I wanted to do with my web development associate’s degree. Since an associate’s degree is a two-year degree, you get a little taste of a lot of different things. I learned some HTML. I learned a little bit of Java. I learned a low bit of systems networking. So it’s just kind of like a taste of a little bit of everything. I really wasn’t sure which direction I wanted to go. I didn’t know if I wanted to be a developer yet. What helped me was there’s an organization called Girl, Develop IT, which has a chapter in Columbus, Ohio. They gave me some direction and had some resources and mentorship that I used. I just kind of stumbled into the testing part of it just by starting to send out resumes. I was just looking for an intern type position or something like that where I could just get my feet wet, I get into a company, and just start taking it from there.

Arsalan: And you did get an intern position for a few months and after that, they like your work and offered you a full-time position.

Jennifer: Yes.

Arsalan: That’s a really good way for somebody to get into a full-time position. If you want to be a full-time software developer, a tester, a business analyst, or any of the various subfields within software development, you don’t necessarily have to be a programmer. One of the better ways of doing that is to become an intern because it’s low risk for the company and they generally higher lots of interns. They don’t have to pay you as much. They don’t have to give you benefits. So, they would probably hire you without scrutinizing you too much.

Arsalan: Once you’re there, you get to work as part of the team and you can show your dedication. They’ll probably give you a couple of little projects. If you do well and there is a need for a full-time developer or a tester, they will look at you. That’s a fantastic way of getting your foot in the door. How did you get that internship? Did you apply through a portal? Did you know somebody? What did you do?

Jennifer: I found out about CoverMyMeds through Girl, Develop IT. CoverMyMeds was a sponsor of Girl, Develop IT. When I went to the Girl, Develop IT meetings, I was wondering who CoverMyMeds were. So, I went to their website and saw that they had different positions. I took a chance and submitted my resume online. They contacted me and were interested. They actually created the internship position for me because they didn’t have anything in a test engineer or test technician position. So, I was very fortunate that they gave me the opportunity. I think it helped that I was a nontraditional student, a woman in the field who is changing careers. I had work experience also, but being an older intern with something new and different. It was a great experience and I’m very fortunate that they gave me the opportunity and help me out that way, which later led to a full-time position.

Arsalan: Are you the only person in that position within the organization?

Jennifer: Yes, I am.

Arsalan: Okay. Do you think this is working out for them and that they might be expanding? My guess is that if you’re doing a good job, then they might want to start a manual testing department.

Jennifer: Yes, I think that is definitely something that would grow. Our company is growing a lot and I could see that as a possibility in the future.

Arsalan: Let’s talk about when you started your first day at work as a manual tester, perhaps starting with your internship days. Was it hard for you to be accepted because you are a woman and a nontraditional tech person? You were a developer because you came from another field. In most companies, we have a heavy developer culture. Software developers and other demographics are placed above others, unfortunately. Did you struggle with that? Was it a transition for you? How was it?

 

Important Links

  • Joe Colantonio: Test Talks
  • Ministry of Testing
  • QA or the Highway Conference
  • Testing Curator Blog
  • Girl, Develop IT
  • Cool Tech Girls
  • JavaScript Jabber
  • Ruby Rogues
  • CoverMyMeds

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode42-jennifer-cable.mp3

Episode 41 – 5 Steps To Success As a Software Developer

July 26, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode41-solo-5-steps-to-succeed.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Do you dream of making it big in software development?

 

Have you ever wondered how you would go from where you are in your software development journey to becoming a truly successful developer?

Do you find yourself scratching your head trying to figure out how to break into the next higher sphere and make considerably more money without sacrificing family time?

 

Does it seem that everyone else seems to have this “development” thing figured out but you have been left in the lurch?

 

If this is you, read on…

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Welcome to episode 41 of the Mentoring Developers podcast. I’m really thrilled to have you as a listener and a supporter, and someone who believes in our mission, which is to promote diversity and to help new people become developers and to succeed. We also want to help them develop this culture of empathy. It’s a thing that’s very important and I’m glad that you’re on this journey with us.

Arsalan: Today I want to talk to you about something that I haven’t really talked to you about much in the past. It’s something that I’ve been thinking about, and I know that a lot of you have been thinking about, and that is what does it really take to succeed as a software engineer or a software developer? There are some people who succeed and some people who struggle but eventually we all get our bearings. Yet, there should be a way to structure your career and structure your life so that it sets you up for success. Or, it increases your chance for success.

Arsalan: I’ve had many years of experience and I’ve talked to many people through this podcast and outside of this podcast. So, I’ve come up with this idea of the five steps for success as a software developer. I wanted to tell you a little bit about that in this episode. Before I do that I wanted to remind you that you can go online at mentoringdevelopers.com/episode41 where you can find a transcript of this episode. You can also go to mentoring developers.com/list, to sign up for my mailing list where you can get these five steps and a whole lot more in an email sequence that you will receive every 3 to 4 days. Hopefully, you will learn and benefit from my ideas and some of the ideas from the top people in our industry on how to succeed as a developer.

Arsalan: So let’s get started. Ask yourself this: do you dream of making it big in software development? You started your journey. You are a developer or you are thinking about becoming a developer. You feel like you can do it. You’re getting the hang of it, but you haven’t succeeded in the way that others have succeeded. If this is something that you dream about, then keep listening. If not, then go back and think about what it is that you really want in life. Think about whether this is the right career for you. I will support you either way.

Arsalan: Do you find yourself wondering how you would go in this stage of your software development journey to becoming a truly successful developer? Do you find yourself scratching your head trying to figure out how to break into your next higher sphere? Perhaps, you are wondering how to become a manager or a senior, or how to be taken seriously in architectural decisions? Have you wondered how to become an architect or how to start your own company? What about becoming independent? Or maybe you want to be part of a startup? Or perhaps you would rather become a CTO or a CEO? You have dreams and it’s good to have dreams.

Arsalan: So here’s a reality. Lots of new and aspiring developers struggle with managing their career. Money is tight when you are a junior developer or an intern. Money being tight is a fact of life. Coupled with that, you usually don’t have a lot of time to learn a bunch of new technologies. There are so many new div technologies coming out in software development. How can you be expected to learn all of them? It’s hard to know what to learn and what to skip. This is true for software developers who have been in the industry for a long time, and for software developers who are just starting out, or people who are aspiring to be developers. All of us have these struggles and it’s hard to figure out how to navigate this space and come out ahead.

Arsalan: Wouldn’t it be great if you could figure out a way to make your way towards a rewarding and fulfilling career? I’m talking about a career that affords you to have a great lifestyle without requiring unreasonable sacrifices from you or your family. The problem is that most software development is not rocket science unless you are working for NASA. While it’s true that some people are more naturally inclined to programming than others, most of us can learn how to program computers just as most of us can learn how to do simple algebra or math on our own.

Arsalan: We don’t necessarily need really deep knowledge. We don’t need to understand how everything works and how registers and processors work. It’s not important for us to know when we are trying to build websites or when we’re trying to build mobile apps.

Arsalan: The problem is that we get caught in this web of information by web, what I mean is this massive amount of information, not the World Wide Web. We get caught up in that and we can’t seem to get away. What we need to do is identify the best way to chart a course. You’re going to skip some things and focus on other things. What you focus on will become your specialty. It is a fact of being a developer in the modern world of 2016 and beyond that you will not learn everything. Perhaps 50 years ago, you could’ve learned a lot of different technologies in software development, but not anymore. So don’t try to be a jack of all trades. Instead, try to learn a few things really well. You will eventually learn a bunch of different technologies. You’re not going to learn just one thing because a complete software system depends on knowledge in different technologies and you will interact with other people who are perhaps better in those things. Yet, you should know how to work with databases, websites, and mobile applications. Within each of these spheres, there are different sets of technologies and that comes with them, like frameworks and other languages, and etc.

Arsalan: wow. You can’t learn everything, you can learn what you need to know in order to perform certain functions or tasks. For example, if you wanted to build a website using PHP, assuming that’s your programming language of choice, then what’s the best way to get your website to the final state? That would include, for instance, the code that creates the interface. There, you have some choices including frameworks. From there, you have to decide whether or not you want to use the framework. From there, you might have a layer of services and you will have to think about what kind of services they are and how they will provide your application with some useful information. Or, maybe you want to choose third-party services. Perhaps you want to integrate with Facebook or twitter. Perhaps you have an integration service that you want to use or perhaps you want to create your own service. Or, perhaps the service is your product and you want to create the service so that other people can use the service. There are so many different choices available for you to build your software career.

Arsalan: Focus on one thing, but try to learn a bunch of different technologies that help you to complete the picture and build a complete application. That way, you learned a little bit about everything but you only focus on one thing. Once you have proven yourself to be really good at one thing, you will find that it will be easier for you to get jobs. It will be easier for you to get promoted. It will be easier for you to make more money. And it will be easier for you to feel good about yourself because you will be considered an expert and you will be sought out for your opinions. Navigating all of that is hard enough, but what’s harder is figuring out how to manage your career.

Arsalan: you need to understand what you need to learn and what you need to skip. Without access to this knowledge and these insights, you might be inclined to drop out and quit. Quitting is not a real option. Quitting is fine if this is not something that you want to do anymore, but don’t quit out of frustration. Don’t quit if you don’t see a way out. Even though you really want to do this, but you don’t know how. There’s plenty of help and were all here to help you and support you. If you need any help from me, personally, feel free to email me at us@mentoringdevelopers.com or you can tweet at me @mentoringdevs. I love to help people, but I also know a lot of other people who love to help and I can also introduce you to people who could help you if you need help in a specific way. The important thing to learn and understand is to not give up. Keep trying.

Arsalan: sometimes you might need to take a break, especially if you’re stuck somewhere. If you can’t figure out the answers to your problems, then take a step back and come back to it later. A lot of times changing your focus and the intensity will give you the answers you need. Sometimes when I describe a problem to a colleague or somebody else if I’m asking help to that person, just the process of describing the problem reveals the solution to me. It’s amazing. So, pretend that there’s someone that you’re talking to and described the problem to the wall and a lot of times the answer may come to you. So don’t give up. If you’re stuck, go on forums, Stack Overflow, or Google and get in touch with the mentor. If you don’t have a mentor, I’d be happy to help you.

Arsalan: So what are my five steps to success? I think the best way for you to learn in depth is to go to mentoring developers.com/list and sign up for the email list. It’s free. I’m not going to send you a bunch of irrelevant information or share your email address with anybody. I just want to help and you can go and sign up to get an email sequence and you will start getting emails right away. If you don’t or if you have any issues, then let me know. Right now I’m going to give you a summary so that you have a taste of what you’re going to learn.

Arsalan: I think the emails themselves in this email course are really nice. They’re really detailed with stories and content that will help you visualize the issue and the solution. The first step is that you have to believe that it is all possible. “Belief” is easy to say but hard to actually do. But I want you to believe that it is possible. Have a dream and then I want you to achieve it. Why do you think you can do it? You can do it because others have done it, and there’s nothing so special about them.

They are people just like you. It has been done before and it can be done again.

Arsalan: second, need to have some structure and how you plan your day whether you’re looking for work or are working in an office. There are specific activities that you can perform during the day that will give you the tools that you need very soon. As soon as you become a developer, you will need these tools. By tools, I don’t mean software tools. I mean these methods and procedures. If you structure your day in that way, it will set you up for success during your performance reviews and when you are looking for new jobs. When you are looking back at your careers, you are presenting yourself to somebody. This will give you the tools that you can use to impress people and impress yourself. I think this is very important.

Arsalan: One more thing that you need to do is to make a lifelong commitment to never give up on yourself. You have it in you to succeed. All you need is for someone to guide you through your journey. Come to think of it, this is the real purpose of this podcast. I want to help you believe in yourself and I want to create a culture where everyone is helping each other and we all support each other. The key here is to have empathy. I want to empathize with your situation. Once you have someone who empathizes with your situation, my hope is that you will empathize with the next person who is coming into our field and we will slowly but surely change our culture and become one that is more welcoming.

Arsalan: The fourth step is getting into the habit of saving small amounts of money every month. You might wonder what saving money has to do with software development. I think it’s really important, especially when you’re first starting out because money and finances are your biggest problems. Money is often tight, especially when you are young and struggling to succeed, or struggling in your life. Money is tight and I know it. So, I want you to start saving money.

Arsalan: You don’t have to save a lot of money. Save just a little bit of money every month or every paycheck. Set aside some money and forget about it. Put it in a checking account or savings account, but it needs to be accessible to you for when you need it. Over time, say in a year or two, that can become a sizable amount. If it’s in a 401(k) or a retirement account, that’s fine but it’s not readily accessible for feeling good about your financial situation.

Arsalan: Finally, eat well, sleep well, and take care of your health. You could get more details and more in-depth analysis and insights. If you go to mentoringdevelopers.com/list and sign up for the mailing list and you’ll get that five email course right away. I’ll be looking out for that and I’ll be ready to help you in any way that I can.

Arsalan: So, that was episode 41, a very short episode. Today, we didn’t have a guest or a panel discussion, because I wanted to talk to you about the five steps to success that I’ve come up with based on my own experience and based on some of the discussions that I’ve had with people over the years. I think they will really help you succeed.

Arsalan: I would love to get your feedback on this. Email me at us@mentoringdevelopers.com or you can tweet at me @mentoringdevs. I would also be interested in seeing if you could give me iTunes reviews on mentoringdevelopers.com/iTunes. Give me a star rating and tell me what you think. Do you love it? Question mark do you hate it? What do you think of these five steps?

Arsalan: Sign up@mentoringdevelopers.com/list and I will be waiting for your emails. I will reply to your emails. If you sign up you will receive emails for me every 3 to 4 days about the five steps to success, and later on, some other very interesting material that I’m working on. You will never be spammed and your email will be kept confidential. The purpose of this is to help you.

Arsalan: Once you receive those emails, you can reply to me anytime and your replies will come directly to me and I will answer them. I would love to get those. I would also love to have you as part of the show if that’s what you’re interested in. If you want to be part of the show go to mentoring developers.com/join and let us know how we can showcase your talents and how we can feature you as a guest on Mentoring Developers.

Arsalan: All right guys and girls, it was a pleasure having you on the show and I will see you next time.

Important Links

  • Say hello to us on Twitter: @mentoringdevs
  • Email us
  • Mail List
  • Submit an iTunes Review

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode41-solo-5-steps-to-succeed.mp3

Episode 40 : About to get fired, how Marcus redeemed himself

July 19, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode40-marcus-blankenship.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Not everyone gets the chance or has the time to go to college for a formal computer science degree. Sometimes, it isn’t until we are past the typical college years that we have a change of heart on the career choice we have made. Maybe the career isn’t satisfying. Maybe it isn’t paying enough. Maybe it isn’t challenging enough. The many reasons why we change careers is less important than the end goal. If you have always wanted to be a software developer, then be a software developer. Don’t worry about age or what stage in life you are at. Your dreams can still come true with perseverance and dedication.

Meet our next guest, Marcus Blankenship. Marcus began his career with some formal education but was never able to finish the degree. Yet, he used the knowledge and skills that he gained to learn how to learn programming languages, and you can too. Marcus’ experience provides for a unique story because he experienced some serious struggles early in his career that almost resulted in job loss. But, not only was he able to move past those challenges, the changes he made brought his career more success than he imagined. Listen in to episode 40 as Marcus and Arsalan hash out the details.

Marcus Blankenship’s Bio:

Marcus Blankenship is a consultant, author, executive coach and a Calvinist. He serves as a management consultant for software managers and leaders. He helps solve problems and seize the opportunities that his clients know exist – but struggle to find.  He has authored several articles on management, jobs, programming, and self-improvement at his website, marcusblankenship.com.

He graduated from the Oregon Institute of Technology, worked in software development for a number of years rising into management levels. Then he became a guided selling manager for a door systems manufacturer until 2010. He also worked as an adjunct faculty member at the Oregon Institute of Technology until 2013.

He founded the TWUP tracker in 2011 that helps Environmental and Compliance managers’ tracker water usage against permits. He currently serves as a project director and an adviser for a web and mobile app company. He also owns the CREO Agency, where he gets paid to coach newly minted technical managers, consultancy owners, and startups. His clients quickly feel dramatically more confident and capable and start seeing better performance from themselves and their teams within weeks.

Please say hi to Marcus on Twitter.

Episode Highlights and Show Notes:

Arsalan: Hi, everyone. Today, I have Marcus Blankenship with me. Marcus, how are you?

Marcus: I’m well. Thanks for having me on.

Arsalan: I’m so excited to have you on. You have a great story. You were about to get fired after having warnings after warnings, but you somehow managed to stay on and remain with that company for a long time. So, we want to talk about this story a little bit. But, how was the feeling? Were you really scared or apprehensive? Did you doubt yourself during those years?

Marcus: Well, I wish I could say that I had been treated unfairly or my boss was a jerk, but he wasn’t. It was all me. Yes, I was completely scared. I think I was really arrogant at first. I kind of felt at first like maybe I didn’t deserve it. Maybe I was better than that and they just didn’t recognize how good I was. But, when I finally understood that in two weeks I was going to be fired if things didn’t change, it got my attention. I went out to my car, put my head in my hands and cried because I realized that I was about to screw things up.

Arsalan: Yeah, that’s got to be hard for anyone. We’ve all been in uncomfortable situations, especially when you’re just starting out and are unsure of yourself and don’t know where you stand and now your dreams are going to be shattered. You dealt with it and we’re going to talk about that, but first let’s talk about you. Who is Marcus Blankenship?

Marcus: Marcus Blankenship is an old guy who lives in the desert of Oregon, sort of in the middle of nowhere. He has found the things he really loves in life and at this age is helping developers become greater managers and even helps developers transition from their first promotion into senior developers, and helping experienced managers make their transitions into other levels of management or leadership roles. I find that the transition period that we have was one that was really hard for me personally for a lot of different reasons.

Marcus: It seems to be a pretty universal problem that it is hard for a lot of people. So, I think it is my mission in life right now to help people make those transitions easier and more confidently.

Arsalan: Yeah, I can speak to that. There are lots of people who I know like senior and junior developers. They have this dream of going up through their career and the ladder and getting into a management position where they can influence the direction of the company or organization they are in. We’re going to talk more about this, but I want to see how you got into programming. What was your first encounter?

Marcus: My parents got a small inheritance when I was twelve and they bought a Commodore VIC 20, from Sears of all places. They put it in front of the television. We only had one television in the family room where I lie on my stomach and learned to program Basic. We didn’t have any way to store programs. I think I had a single cartridge game that was Star Trek.

Marcus: I bought a magazine that had program listings in it. One of them was a text adventure game. I typed it all in. It took me hours, debugged it, all the semi-colons and all the little weird things about Commodore VIC 20 Basic. I got it to run and then realized that I would have to leave the computer running forever if I wanted to keep it around. So, that didn’t work very well because that night everyone wanted to watch television and everything got unplugged. That was really my first exposure.

Marcus: I later upgraded and bought my own small television and moved the computer into my room because I was the only one who really liked it. I proceeded to dive into this little 2k device called a Commodore VIC 20. Eventually, I owned a tape drive for it, which I thought was amazing because I could use audio cassette tapes to store the programs that I typed in. I then upgraded to a Commodore 64 and then an Omega, and then was able to go to a local engineering program. Oregon Institute of Technology had a software engineering program, so that’s where I attended college.

Marcus: I am fond of those people out there who remember typing in code and it only ran in memory—you had no way to store it, at least for me. I was too poor to afford the tape drive.

Arsalan: Yes, those were the days. It’s also incredible because the typical ambitious program you wrote was not doing a whole lot. It was also small. You weren’t trying to build a multi-tenant website or trying to do any real-time communications. There was no way to do this type of communications. There was no internet. I think it’s fascinating that the people who grew up with these smaller computers and memory constrained devices learned some of the really low-level stuff. You were probably doing Basic. Did you say which programming language it was?

Marcus: It was Basic with a little Assembly mixed in and certainly some peek and poke commands to do register manipulation and stuff.

Arsalan: Yeah, so that was hardcore. So between the time that you were tinkering with these devices and the time you went to college, how many years had passed?

Marcus: It was 6, or maybe 8 years.

Arsalan: Okay, so during those 8 years did you continue working on software development? Were you interested? Were you reading books? What were you doing?

Marcus: I was continuing to program. I got a paper route. I upgraded my own computer. I got an Omega. I indulged in playing games, but I felt computers gave me a power and a freedom that I didn’t find in my social life and in real life: the ability to control the environment, to feel like I was master of the domain.

Marcus: Then I actually got a modem and my world opened up because bulletin board systems were very common. I began dialing all over the globe which caused my parents no small amount of stress, not so much for the downloading of programs, but more for the message boards. There was a pretty vibrant mid-80’s BBS scene that I was a part of that sort of had a gray hat layer to it as well. Everyone was just really exploring the boundaries of what these computers could and would do in the future.

Marcus: At one point I became quite poor. I got married and I had to sell my computer. We had a child and I believe I bought a data general terminal and had to memorize all the haze mode of AT/DT commands in order to type them in to get the modem to do what I wanted because it was just a dumb terminal with no operating system. I used that to connect to all these BBS’. Even though I didn’t have a “computer,” it was a screen, keyboard and modem put together off of an old Data General Eagle. So, the long and short of it is that I’ve always been really excited and nerdy about technical stuff.

Arsalan: That’s interesting. That shows your commitment. You’re really passionate about it. Lots of people are not, and that’s okay. A lot of people encounter software development or programming later in life and they can still succeed in today’s availability of technology resources, Google, Stackoverflow, and books. There’s so much you can learn even when you aren’t grounded in that. But it’s interesting that you spent so much time doing this. Did you think about going to college and studying software development or computer science professionally?

Marcus: Yes, since I was 12. Since I got that first VIC 20, I knew that this was going to be my vocation. I’m not sure whether I always believed that I would get there. I always had a lot of self-doubts, but after I graduated from high school, got married and worked at a few jobs, I realized that I wasn’t going to get anywhere with what I wanted to do unless I went to college. So, I enrolled in the software engineering program at Oregon Tech.

Marcus: We lived 100 miles from the college and every day I drove 100 miles each way to attend school there. I would get up at 6:00 A.M. and be there around 7:30 A.M. and attend 8 hours’ worth of school. I didn’t have a computer at home so I had to use the computers in the lab to do all my homework, and then between 7:30 and 10:00 P.M. I would turn around and drive home, sleep for a few hours and do it all again.

Marcus: It was kind of crazy because looking back I think I really must’ve wanted it. We actually had a local university that had a computer science degree, but it was not a good program and people coming out of it weren’t getting jobs. They were becoming help desk folks. I wanted to be a software engineer. So I invested the time it took to go to a school that had the degree that I wanted.

Arsalan: So, that’s interesting. One question that keeps coming up is whether you really need a degree to become a software developer and the opinion is divided on that. But you are certainly motivated. Were you motivated by the ability to get a good job or was it that you thought you needed to get a degree to learn the skills that you needed? Which one was that?

Marcus: It was actually both. But, I’ll be honest with you. I dropped out after almost three and a half years because it turns out that while working two jobs and driving 200 miles per day and trying to do all of your homework, something’s got to give. By the time I reach my junior year, we had three children. So, it was pretty obvious that the thing that had to give was school. I was lucky enough that I had gone far enough to allow me to get an entry-level job programming for a local nonprofit who needed a database system maintained.

Marcus: When I started, what I realized was a couple of things. First, there were people who had spent a tremendous amount of time learning how to teach computer science topics. I saw a divide between my friends and I. We called ourselves pseudo-hackers because we would buy a book on C or Pointers and we would try to work through them. But I realized that I would never really bridge the gap, I thought, to be a serious engineer unless I got some formal schooling. So I always had my eye on getting my degree. In fact, I always wanted to go on to MIT, but that didn’t happen.

Marcus: Once I had kids and needed to support a family, things changed and I became much more practical. So by the time I left college, dropped out and got a job, I was really thankful that I wasn’t getting a minimum wage job. I believe I got a job for around eight dollars an hour, which was a couple dollars more than minimum wage at the time. So for me it was twofold. It was the idea of wanting to be serious about and really good at my craft and also the idea of earning a good wage.

Arsalan: So you never finish the degree?

Marcus: I wish I could say that I did, but I didn’t.

Arsalan: that’s fine. I just want to know if you thought later on in your life when you worked for many years, do you think that you used the knowledge you gained through those courses?

Marcus: Oh, yes absolutely. The fundamental classes in this program had a C-based curriculum, so you took three terms of C, which was a whole year. You took Assembly language, which was fine. You took C++. Then you got to be exposed to a whole bunch of interesting languages, which were things like Ada and Fourth and FORTRAN. Even though maybe your audience is it using a lot of those languages now, every language brings its own metaphors and its own mindset. As we went along, we also learned a little Python and Java, and things like that.

Marcus: What I realized was that college was fundamentally where I learned how to take on a new language and bring it in and learn it. I don’t you C very much now and I never used it very much professionally. But college is where I learned how to learn programming languages if that makes sense.

Arsalan: Yes, that does make sense. People have different ways of learning. Some people learn by reading books. Some people don’t have the discipline needed for books and need in-person training. Some people go the route of blog posts. And some people really learned well in class environments. I’m one of those people. I love being in the classroom and having to interact with a knowledgeable teacher and that has helped me personally.

Arsalan: A lot of people will say that when you go to college while you learn the fundamentals and technology, you don’t learn best practices. You’re not learning how the world works. So when you get your first job and you start working, it’s a huge shock because you kind of have the tools but you need to almost retool yourself.

Marcus: I would say that it’s more than almost. From someone who has hired dozens if not 100 or so people, I was the primary hiring manager at this global company that I worked at for 14 years, we didn’t expect people who we had hired right out of college to know anything about version control or software development lifecycle processes. They had a junior or senior project where they had to create a sizable piece of work, sometimes in a team. But the reality was that we knew something that they didn’t. They thought their education had just ended. We realize that their education had just begun.

Marcus: So we fully expected over the next 1 to 2 years that their primary goal was going to be learning the systems, not even from a technical perspective, but from practices and habits, the software development cycle, no matter what methodology we used, all of these things we were going to teach them. Because while they thought they were ready to come in and get started, we just kind of smiled and said: “Sure, let’s bring you in and get you started.” Then we put them on a 1 to 2-year training program where they would become not just a coder but a professional software engineer. That’s the way we thought of it.

Arsalan: That’s interesting, a 1 to 2-year training program. I have not heard of this kind of a training program before. What is it like?

Marcus: Well, it was a bit informal at first. At first it was really a matter of the department managers and team leads huddling together and saying “you know, the people were hiring from college are really bright, but it takes one to two years before we can really hand them a large piece of work and they know how to organize themselves, they become proficient with our internal processing tools, and they understand what’s expected of their role versus the roles that sit on either side of them like business analysis or quality assurance.

Marcus: It wasn’t that they didn’t understand the technology or they couldn’t write a good loop, or optimize an algorithm. A lot of times it was that they lacked the professionalism. They would come in late, dress inappropriately, and didn’t know how to conduct themselves in meetings. Maybe that sounds terrible, but there is a really important part about being or software professional, and that’s the professional aspect.

Marcus: So it started with us as an internal organization, realizing that we could hire raw talent straight out of college, but we couldn’t just throw them on the team and never talk to them again and assume that they would just get it. What we had to do was give them a structured 1 to 2 year plan. So, at first, people didn’t really even know that they were in training. They just knew that in the first year or two they didn’t get the same type of projects that they got in years two, three and four in their careers.

Marcus: Over time we formalize that into a training program that became more intentional and it was the team leads job, who is also the person doing interviewing and hiring because they were going to have that person work for them, to make sure that person received the training they needed and to partner them up with other people in the company who were at similar levels or possibly get them a mentor.

Arsalan: Okay, I want to ask you this question about your first couple of jobs as a software developer because I think you told me that you received eight dollars an hour and that was probably not exactly software development. Eventually, then you did get your first programming job. How did you get it?

Marcus: The first one that I got was an IT job, so software development was a part of my job, as well as setting up a computer and fixing a printer. Small companies will often times have one IT person, and so that’s what I was. This was a company that was about 60 people and a nonprofit. So I was expected to split my time between fixing printers, setting up PCs, replacing mice and keyboards, troubleshooting the network, and writing and maintaining the student database system which was written in FoxPro. So, I do think the software development was a part of my job, but it certainly wasn’t all of it.

Marcus: After I left that job, I got a job at this global company that had an IT group and it had a small programming department. I think I was the eighth person in that programming department. So I joined a group of people whose job it was to write the software. At the time our job also involved deploying the software, maintaining the servers, maintaining the databases, designing the database, delivering the software out to the manufacturing entities, and everything. If it had something to do with the software, we were the team involved and everybody did everything on the team. There was not a lot of specialization, which I think was really beneficial because we could pull in people as we needed to. I think I started that job at $8.22 an hour in 1996, which I thought was a pretty good deal at the time.

Arsalan: So, now you’re working and doing software development. You’re doing other types of support work. Was it hard for you to be accepted as a valuable productive member of your organization?

Marcus: I think I stood in my way of being accepted. For example, I had dropped out of school as I had mentioned. Many of the people there had come from the same school and had received bachelor’s degrees. Then there was a group of people who were from India and who were very good at their jobs at work there. They all had master’s degrees and some of them even had doctorates. I don’t think that they were judgmental towards me as much as I was defensive and worried that I would not be accepted. They looked at me and said that if you have good ideas and work hard, if you’re trainable and humble, then will accept you. And I did. Those things weren’t said overtly, but those were the values that I felt and I got along great with everybody.

Marcus: I always felt as though I had something to prove for the first one to two years, and this was a very informal department at the beginning. So, I was getting projects of all sizes right from the get-go because there weren’t any formal training programs. So I was really working hard to show myself that I was smart enough to be with this group.

Marcus: Honestly, at the time, and I think that this still happens today in computer science and other engineering degrees, when you come out of school you think it’s all about your brain and your smarts and it’s the smarts that people compare. It’s how great of an algorithm you can write. There’s really a hierarchy based on who’s smarter from what I’ve seen. Really, organizations, especially in academia, we as a group of software engineers tend to really value intellect. I always doubted my intellect, but I always try to make up for it with raw desire and sweat, and just putting in the work. That has usually worked pretty well for me.

Arsalan: So, your experiences have been really interesting because you started working at this company that we alluded to earlier, and you were really struggling. After a while, you stuck with it and somehow managed to get past that and you stayed with that company. That’s a very interesting story and I want to talk a little bit about that. Was that your second job, your third job, or was that your first job? Which job was that?

Marcus: That was my second job.

Arsalan: How did you get the second job?

Marcus: I got that job when I had been laid off from the first job and a friend of mine who had worked at this other company and I were chatting and he suggested that I apply over there. I mentioned that I didn’t have a degree. He said that he put in a good word for me. I went to go to the interview. I didn’t realize it at the time, but when after the interview they send you home with a box of about 25 books to read, that’s a pretty good sign. They did and I went home and devoured them and came back for my second interview and showed that I had read them and was trying. It was really through a personal referral that I got the second job.

Arsalan: So, personal connections are really important.

Marcus: Really important.

Arsalan: For everyone who’s listing right now who wants to get their first, second, or third job, the best way to do that is get to know people inside or outside the industry because software development is one of those things where everybody, even unrelated industries, need software developers. It’s good to know people. The best way to know people is, what do you say Marcus?

Marcus: Well for me, at the time, it went back to college. So, the people I knew for those with whom I’dI’ve gone to school with. We were not only friends but they respected me because not only did I do the work, but I worked hard and all these other things. So, if we circle around, I think one of the benefits of going to college is you meet other people in your field and I still have relationships with many of them, teachers, faculty, and students and I really benefited greatly from those relationships.

Marcus: These days I think things might be a bit different, although I still think college is a great place to meet future peers, but obviously conferences, meet-ups, and all kinds of places where you can rub shoulders with people and get to know them. Online communities for me have been a bit harder to form deep, personal trusted relationships with, and that’s what you do in college. Or at least that’s what I did in college.

Arsalan: All right, let’s get back to your story, Marcus. You started this job and got a referral and you were hired as a programmer, I’m assuming?

Marcus: Junior programmer, yes.

Arsalan: Junior programmer, an excellent place to start because there are few expectations and you should be able to just walk in and hopefully ask questions from literally anybody else.

Marcus: I did and it was in a programming language that I’ve never used before and on a database that I’ve never used before. So I was absolutely free to ask questions and it was a great environment to learn in. Even after I made big mistakes, they just chalked that up to learning. They were wise enough to only give me enough of the right size things to work on to really help me progress through it.

Arsalan: But, you ran into trouble. Something happened that caused them to give you warnings. Walk me through that. What happened?

Marcus: Being a small IT department in a manufacturing company, one of the things we were tasked with was also doing phone support. So when a plant would call and have a problem with the ERP system, that the enterprise resource planning system that we had built that ran the manufacturing plant, someone on the software team had to answer that. I kind of liked it and enjoyed it, but not as much is programming.

Marcus: It made me feel helpful, smart, and rewarded to be the expert on the other end of the phone. So over a period of months, I learned the system and I became more proficient in it. My phone would ring more and more because plant folks would realize that I was an energetic young guy who didn’t mind answering their questions.

Marcus: So, over time, all that phone time really killed my productivity. I happen to be assigned to a large project and it was my first really complicated project that was going to take an estimated three months. I hadn’t been entirely honest with my boss about how I was using my time and he didn’t realize how much time I was spending on helpdesk items.

Marcus: Over time, that project started to languish from the large one and it was because I was spending so much time helping the plant. My boss told me on numerous occasions to stop because at that time we actually had a helpdesk person and it would be their job and I was to just refer calls over to that other person.

Marcus: I didn’t think that other person did a very good job so secretly; I just kept taking the calls and being helpful. Then I started staying late and putting in overtime to get this other project done. Well, when your phone rings once or twice an hour. It really kills your concentration and your flow time when you’re trying to think about a hard problem. So that also destroyed my ability to think deeply about this large project I was given.

Marcus: Three months came around and I really hadn’t made any progress at all. At that point, I couldn’t hide it anymore. So my boss decided that we really needed to talk about this. He told me in no uncertain terms that I needed to stop doing what I was doing and focus on the work in front of me and after this project. If I still love being on the phone more than programming, they would just move me over to helpdesk. I didn’t like that at all because I wanted to be an engineer. But I also really like to help people.

Marcus: The reality was that I had really developed a crummy attitude at about that time. I felt like my bosses being unappreciative about me. I wanted to be helpful and felt that I should be able to do both. So I got a bad attitude and a hard heart towards him. As he would discipline me and tell me that I needed to stop and focus on this other thing, I would always tell him with my mouth that I was going to do that, but when the moment came, I couldn’t just not pick up the phone and be helpful.

Marcus: It didn’t take long before he realized that his informal attempts at correcting me weren’t helping me. So we had a correction event where I got a written warning and called into his boss’ office where we talked about things. Actually, I think it was a verbal warning, which is weird because they still write it down on a piece of paper and have you sign it. The long and short of it is I would love to sit here and say to you that somehow got through to me, but it didn’t.

Marcus: We had to go another two weeks before I got a written warning and by then I was just really frustrated. I was really thinking that my boss and upper management were being unfair and maybe I should start complaining about him and I just thought that I was really being abused, which is crazy now that I think about it in hindsight.

Marcus: It finally got so bad that frankly on the second warning my boss and his boss sat down with me and gave me a copy of the employee handbook and let me know that if I received a written third warning that it would be an automatic termination and I was now two weeks from that. They didn’t understand why I wouldn’t change my behavior. They didn’t think that I wanted to be in the position that I was in given my behavior although they knew I could do the job.

Marcus: So they told me that it appeared that two weeks, we would meet again and I would likely be fired. They gave me a piece of paper that said that. They said that if in two weeks. They didn’t see a radical change in my behavior. They would fire me and it would be as though I had quit because they had given me every opportunity to change.

Marcus: In the meantime, at the end of every day, I had to fill out a time and take it down to my boss’ cube and review it with him. If at any time he looked at my timesheet and he felt that it wasn’t honest or I hadn’t been working on the right things, they would’ve let me go right then and called that a termination for cause because they bent over backward trying to get through to me.

Marcus: I signed a piece of paper and left and went out to my car and it finally hit me. I was going to lose my job. I had three kids at home and a wife and I was the sole breadwinner. We lived far away from family in a small town and there weren’t other jobs to be had. This is literally the only programming job in our town. I just kind of broke down and realized at that point that I didn’t want to lose that job. I had been very arrogant and had a bad attitude and I was hardhearted. I wanted to change.

Marcus: I composed myself, went in and finished out the rest of my day and went back in the next day with an entirely new attitude. I had a mindset shift.

Marcus: Whenever someone stopped me in the hall and wanted to chat, I declined because I was busy and had work to do. When my phone rang and people asked for help, I referred them to the help desk.

Marcus: Every day I had to fill out timesheet and walk it to my boss’ cubicle and do the corporate walk of shame, subject myself to his authority and wonder every day. If I had done a good enough job that day to keep my job. Two weeks went by and I had. Everything was not great, but they had noticed an improvement. I thought they were going to say that it was all over and I could go back to normal, but they wisely didn’t. They said, “let’s try it for another two weeks.” The same thing happened. They said, “were going on a month. This is pretty good, let’s try another month.” I did it for another whole month.

Marcus: At that point, they said that it had been two months and that it appeared I was being consistent and I really had a change of heart, I had made really good progress on the project and it was coming along well and was provable. So they took me off of the very short leash they had on. They put me on probation and had me meet with my boss once a week as normal for the next three months.

Marcus: During the next three months I really applied myself and had really done well. I was removed from probation.

Marcus: About eight months later when my team lead was promoted to department manager, I was completely shocked that I was the person he chose to take his job. So, I was able to move up within the organization from there.

Marcus: The experience made me realize that the value and goal of correction are to change behavior. It’s to give someone a chance to have a mindset and an emotional shift. It’s not just about filling out forms or going through the motions. So, needless to say, as someone whose life is changed because of an employee correction process, I’m a darn big fan of employee correction processes and formal processes like that because I know that they work and they worked for me.

Arsalan: Yes, what an incredible story. What I like about this is that your bosses certainly had empathy towards you. What a lot of companies would do is hold grudges and hold an internal evaluation, and then at the time of your yearly evaluation or some other random time, they would just fire you because in America and many other countries, you are not obligated to give employees any notices. You can just let people go, but maybe it’s different in your case.

Marcus: It’s not. No, they absolutely could’ve. I think you’re right. Not only did they have empathy, but as I matured and I began managing people, I realized how much time it took them. To meet with somebody at the end of every shift, to go through a timesheet and be consistent and fair, they were absolutely fair in a way that blew me away. I never had a boss who was so fair and just with me. That meant being honest with both the good and the bad.

Marcus: I think you’re right. They did have empathy and they really wanted me to improve, but they were not willing to just change the rules for me. They didn’t want to in an emotional way like wanting to be my friends. They weren’t willing to do whatever it takes to make me stay. They wanted me to fit in here, do the work and make that decision myself.

Arsalan: That must’ve been incredibly hard for you to go through that. As I was listening to you talking about the process, I can imagine the emotional drain you must of felt. So, you’ve seen yourself go through these strains, but I’m sure you’ve seen others. Do you think that we are doing a good job as an industry of dealing with people coming in and a whole lot of them are going through these types of issues, whether they are psychological, emotional, technical, or personality issues?

Arsalan: A lot of them, like you in the past, are good workers. They have good ability, but maybe they have trouble fitting in. Maybe it’s a matter of changing themselves in a way to be productive or affecting change. There are lots of things going on in our minds and in boardroom meetings and so on. Do you think as an industry were doing a good job of bringing people on board and making them feel comfortable? Or, on the flipside, do you think people are struggling like yourself? Do you think you are a one off case?

Marcus: I think were better than we were 20 years ago. But to be honest, as Bruce Tulgan, one of my favorite authors likes to write, there’s really an under management epidemic occurring in a lot of different knowledge worker circles.

Marcus: I see it terribly in software engineering. I see it because people who lead software engineering groups usually think that it’s their technical skills that need to stay sharp, like their architecture or software code review or agile process skills that they really have to improve to manage people.

Marcus: But it’s not. It’s really their human relationship skills. It’s their ability to give clear feedback and the courage it takes to have crucial conversations when the stakes are high. These sorts of interpersonal skills aren’t nearly valued enough in our industry.

Marcus: Unfortunately, I think there’s a lot of programmers who are blindsided when they find out their boss does not think they’re doing a good job. Maybe that’s an annual evaluation. Maybe it’s the day they get fired. Maybe it’s the day they thought they were going to get a raise and the raise is much smaller. I also think that we have a lot of team lead to get promoted and are asked to do two jobs.

Marcus: They asked us to continue being a contributing software engineer on the team and to manage this group of six people, and by the way, management is just an overhead. So they must try to minimize that because where you’re really valuable is software engineering. I think that’s of very wrong way to approach leadership.

Marcus: So I think as an industry, we’ve got some player-coach titles and I called the team lead one as a player-coach because 40 or 50 years ago, you would find a basketball coach in the NBA who was also the best player. So he would have to coach and still play the game. Nobody does that anymore, and sports and that’s because the paradigm doesn’t work. But in software engineering, we still think the player-coach role is really a great role for people. But I think it leads to poor performance during the game and poor performance when coaching. So, yes, I think there really is an epidemic of poor managers in software development.

Arsalan: That is so true. Management is hard. The problem is that in a lot of organizations, we are always trying to cut costs. So, one way of doing that is to hire a bunch of junior developers. The idea is that if you have two junior developers for the cost of one senior developer, you get twice as much work done, which is a complete fallacy.

Marcus: Right. You can get a lot of wrong work done. What I actually see on top of that is that then they will hire one senior developer and have them lead for junior people while also being responsible to write all this code as well.

Arsalan: Right, and that’s one of the problems we run into when we’re trying to institute mentorship into an organization. These two senior people will now become mentors for junior people who come in. However, they still have to do eight hours per day of this work that they’re supposed to do. This is not part of their evaluation. They’re not getting any raises for it. Every time a junior person needs some sort of guidance or mentorship approaches them, it encroaches on their time and time with their family because now they’re going to be sitting and spending some time helping somebody else. So if you really want this idea of people helping other people within an organization, we would go ahead and compensate or account for that time.

Arsalan: We are coming to the end of this episode. What’s the best advice you can give software shops who are looking to hire new developers?

Marcus: I think creating a structured on boarding process. I love the idea of assigning a mentor. I think that mentor needs to be a formal role or a formal part of their role where you expect less code to be delivered by them because they’re going to be expected to take time with those new folks. I think having weekly one-on-one meetings with each developer where you create deep, trusted, bidirectional relationships with them. You need their feedback to create the kind of environment that they are going to thrive in. They need feedback every day to improve. Don’t just at them in the corner and assume they’re going to figure it all out. Get down and really interact with them.

Arsalan: Quickly, what’s your best advice for people wanting to be developers or new developers?

Marcus: It’s a great career. I love software development. Keep practicing. Just keep trying. Yes, there are a lot of people out there who are better than you. There are a lot of people out there who are better than me, but start with the fundamentals and learn hard things because a lot of it is really hard things. Build your way up to be consistent. Learn little programs every day. Try to learn something new each day. Don’t be attracted by all the new, flashy stuff all the time. I think that starting with C, even if you’re going to be a web developer, is a great place to start because it forces you to learn pointer math and a lot of internals that web languages just abstract away from you, but in the end, become really important for your career.

Arsalan: It was really inspirational for me to hear about your story and how you struggled and how you overcame those struggles. So, this was a fantastic interview. Before we wrap up, I wanted to give you the opportunity to talk about some of the things you’re doing right now. I know you have a service that you offer. What are you working on these days?

Marcus: I have a mailing list where I’m doing a lot of writing, and so I encourage folks, if they’re interested in leading developers or maybe someday hope to, to sign up for my list at MarcusBlankenship.com. I have a free 5-day Become a Better Manager crash course that I’ve recently been revamping and it’s out there as well. I also do workshops from time to time. So I announce those to my list. I’ve got something that I’m working on for later this year that I’m not ready to reveal, but it’s kind of the culmination of the last years of work and thought. So, when the time is right, I’ll let you know.

Arsalan: Great, all that information will be included in the show notes. Go check it out. Once again I want to thank Marcus. Check out Marcus’s website and sign up for his mailing list, if you’re interested in becoming a manager. Thank you, Marcus.

Marcus: Thank you.

Important Links

  • Newsletter List
  • Better Manager Crash Course
  • Stackoverflow

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode40-marcus-blankenship.mp3

Episode 39: Rerun: Is a Computer Science degree necessary to succeed as a developer?

July 5, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode5-pavlo-grijincu.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Let’s revisit a very popular episode where I interviewed Pavlo, a new developer who is trying to make his mark in his first programming job after getting a 4-year degree in Computer Science.

We learn from a junior developer, Pavlo Grijincu, how to quickly ramp up our skills to get our first job. Is it necessary to have a Computer Science degree to get our first job as a Software Engineer? Where do we go to equip ourselves with the technical and soft skills to make it big in our cut-throat industry? Let’s listen to this interview to see what Pavlo has to say.

Pavlo’s Bio:

Pavlo Grijincu is currently a junior developer at Listrak, where he has been for three years. He graduated from Millersville University in 2012 with a BS in Computer Science, ending an official educational career in computer science that began in high school. Now he gets his education through books, code camps, and pre-recorded talks.

Please say hi to Pavlo on Twitter.

Episode Highlights and Show Notes:

Pavlo: I prefer Computer Engineering… well, Application Engineering because the goal is to create an application that solves a problem the user has whereas Computer Science is more about understanding how languages work…

Pavlo: As a kid, I saw some kids had a computer and they would play games on it and I was like “I wanna play games”. I found out that I could do computer programming… I liked it. It’s been years since high school and I have kept going with it and now I am glad that I stumbled into it.

Pavlo: Companies are seeing that without software, they cannot be competitive… As a computer scientist and programmer, I see that many times I am approached with opportunities… there is so much demand for it.

Pavlo: A company uses frameworks which in school we don’t learn much about. In school, we make simple programs that satisfy the needs of the teacher – whatever the assignment was. At work, we have frameworks which are so complicated that experienced users do not understand them completely. As fresh developers, we just look at them and don’t know what to do.

Arsalan: You’re a new developer. You have your own background. Maybe, it is a bit different for everybody else. Was it easy for you to get accepted and for people to see you as valuable – to gain respect?

Pavlo: I think the greatest feeling of being accepted is when someone comes over to you and says “Could you look into this?” or “I have a question about this particular thing.” That means you have knowledge of something and they see that you are valuable.

Pavlo: I have a couple of blogs that I read. I mostly watch the YouTube videos from Simple Programmer. Those are very useful because he is another developer and his focus is on helping junior developers… I watch every YouTube video and I read most of John Sonmez’s blog posts. For a beginner, they are very useful.

Arsalan: Do you have any advice for employers looking to hire new developers?

Pavlo: Hire based on potential much more than skill.

 

Important Links

  • Simple Programmer

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode5-pavlo-grijincu.mp3

Episode 38 – How much money can you make after going to a code school?

June 28, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode38-gregorio-rojas.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

There has been a lot of hype concerning training at home to become a software developer. Regardless of whether you are entering the workforce and looking for a way into the tech industry or whether you want to change careers to something else, there’s always a way to get into software development. But, code schools have been gaining ground in popularity and success stories. So, what is the real truth behind them and are they worth your time to pursue?

Our guest for episode 38 is Gregorio Rojas and he is an instructor and founder of the Sabio Learn to Code boot camp. Gregorio began his career in the sports management industry but soon decided that a change was needed. Now, he is here to give us all the juicy details of his story and how you can quickly become a software developer and achieve success in the tech industry.  Are you ready to turn your dreams of coding into reality—no computer science degree needed? Listen in to episode 38 for more details.

Gregorio Rojas’ Bio:

Gregorio Rojas has been in the software development field across a variety of industries since 1999. Previously, he was the CTO and co-founder of an online real estate listings site, MySocalListings. He was also a Director of Development at SFW, a SAAS enterprise software startup and most recently, lead developer for the Monetization team at MySpace.

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today we have a very special guest, Gregorio Rojas. He is an instructor and a founder at a code camp. So, he is someone that we haven’t had before. We haven’t had a code camp instructor or founder before. So I’m really excited to have him here. How are you, Gregorio?

Gregorio: I am doing great. How are you?

Arsalan: I am doing fantastic and so excited to have you on. I want you to tell us your story and walk us down your path of becoming a software developer from being a computer illiterate, as you described yourself, and going from your first job within a year and a half to becoming a senior developer with a healthy salary. There were some bumps and hurdles that you encountered. So I want you to tell us how it was when you got your first job. How are you feeling? I don’t want you to go into any details, but describe your emotional state throughout this process.

Gregorio: Before I get into it, thank you for having me on. I really look forward to it. So thank you for that. Through Boston University for sports medicine and I was an athletic trainer so that was a very personal job. I wasn’t just working with people, I was also touching people. For me to transition into a world where I was mostly typing was a little weird. But, I knew there was a lot of opportunity in tech. I happen to find myself surrounded by a bunch of people who were getting into tech and it sounded like that was something that I should be doing. Through a series of different events and talking to people, I got the confidence to try it.

Gregorio: What I thought was going to be a software developer job turned out to be a junior job. To give you some context, I think I was making around $27,000 for my first job. But, it ended up being more of a QA job, but not the exciting QA job, software engineer, tester job, or automation QA. It was not that exciting. I knew that’s not what I wanted to do. I knew that’s not why I had really don’t my career and five years of education to come and do QA at that level. That was frustrating, but I was able to continue doing my own home study to ensure that I equipped myself with employable skills.

Gregorio: I built something that actually had the domain bostonapartments.com. I built a little apartment listing application because apartments in Boston were huge. I will not mention the fact that I let that domain name expire. It’s heartbreaking that I let that happen, but I did. It allowed me to get into a company that was a dev shop, where all they did was build product for other folks. I got into another company where I was managing the IKEA North American and Canadian sites in which the code and the content that powered those sites was essentially through a content management system.

Gregorio: At that time, content management systems were the thing. We didn’t have WordPress we didn’t have websites like that. So, it was very strange for me because I had no idea what a content management system was. That was my second job and three or four months into my career.

Gregorio: Fast-Forward and I went from working for that company in Boston and took a hop over to El Segundo in California right before the Dot Com bubble burst. When it did, I ended up having to leave that company and walked into a fantastic job that a new colleague of mine set me up with an El Segundo where we were doing online e-commerce.

Gregorio: That was the job that was at the 18th month mark were all of a sudden I was getting paid $82,000, which was more than the top level athletic trainers were getting paid at the time. So that was really rewarding and kind of shocking. I was explaining this to someone the other day and looking back at it, it really was disorienting during that first year and a half. I totally had the case of imposter syndrome where I was head down in the Cove and was really earning whatever these folks were giving me and I really considered it an opportunity. Yet, I was waiting for someone to come in and tell me that I wasn’t cutting it, and for the real work to start, the hard part.

Gregorio: I was waiting for someone to out me and tell me that I really didn’t belong, but that time never came. I was left wondering even back then why there weren’t more people doing this because it wasn’t that hard. It’s different, but it isn’t that hard. I continued along and it wasn’t until about 3 ½ years ago that my wife and I decided to start Sabio.

Arsalan: Fantastic story. You went from one success to another and you were expecting really difficult times because you didn’t have computer science degree and you kind of didn’t know what you are doing. You started QA $27,000 a year. Very quickly you rose to over $82,000 per year. So, were going to talk some more about some of the details later in the show, but first I want to talk about your introduction to software development. Why did you choose to into that? You said that you were interested in it, but you had a degree and you had a plan and you went to college for something else. What was the trigger for you to want give all that up?

Gregorio: It was really necessity. It’s really embarrassing, but I was in my fifth year of athletic training and in athletic training the way they bring you up and educate you is hands on. From your freshman year on your in the clinic and in the training room and you are working with athletes. It’s very hands-on and kind of like an apprenticeship. It was fun and awesome. I got to go see some great games. I was and still am a big fan of sports. I just don’t have the time right now to spend as much time on sports as I would like. I was a typical young man growing up in New England. I was doing really well and having a lot of fun, but I realized while I was at Boston College that this was not what I wanted to do for the rest of my life. The quality of life in the amount of time that I would have to spend away from family, this would not have cut it.

Gregorio: I was really bummed out about it, but a couple of things happen. A couple of my athletes were getting ready to graduate and were talking about making $70,000 right out of college. At the time I was getting paid $11,000. I don’t know if they call that a salary or stipend, but that’s what I was making and it was one of the best positions in the country at the time for someone right out of college in athletic training. For an athletic trainer to get up into the $70,000 range, you would have to be working at really high level athletics like the NFL or the NBA and those types of jobs. People don’t leave. They worked there until they die.

Gregorio: Instead of waiting for that I had my athletes talking to me about software. I asked myself whether that was something that I should consider. That alone wasn’t enough. I was taking a Master’s program geared toward my sports medicine career. One of the professors was talking to us about one of her projects and gave us a choice between three types of projects and one of them had to do with HTML. I remembered that the athletes were talking to me about coding and HTML is about coding so that’s what I chose.

Gregorio: I struggled with probably the ugliest HTML page that you have seen for two weeks. At the end of my project, I presented the HTML page. The highlight of the page was this little Tweety bird that I put at the bottom of the page that you had to scroll down to. So at the end of my presentation I scroll down to show the Tweety Bird that was flapping. Now, I had no idea how this thing was flapping because it wouldn’t flap when I was looking at it outside of the browser. Yet, it would flap while it was in the browser. Everyone gave me credit for making it flat, but honestly I just took it and told them that it took me a really long time to get it to do that. But it felt good. Scrolling down and seeing that Tweety Bird flap and how amazed everyone was at it. So I thought that maybe I could do this.

Gregorio: So those two things combined gave me the confidence to let it go and make it happen. Within a month or two, I quit and started busing tables, parking cars, or whatever I needed to do so that I could take some night classes. The night classes at that time did not include any nighttime learning to code classes. There is an adult Ed program at Northwestern University. I don’t remember the name of the program, but it had the most technical courses on it. Those courses alone were not enough. I had to do a whole lot of work beyond that, because it was not a CS program by any means. It was more like learning about technology. But those courses gave me what I needed in order to get into my first job.

Important Links

  • Sabio
  • Twitter: @wesabio

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode38-gregorio-rojas.mp3

Episode 37 – Charles Max Wood on getting ahead as a developer

June 21, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode37-charles-max-wood.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

For many, there is a misconception about becoming a software developer. The title is often associated with someone sitting in a tiny cubicle at a large corporation, but that is not always the case. In fact, there are many different ways that you can work as a software developer and not all of them involve large corporations. Creativity in technological career options is a bounty of opportunities. All you need is to simply approach the door of your choice with an open mind and determination to succeed.

Charles Max Wood entered the field of technology at the age of 26. He has worked as a developer in different situations and now works freelance. Since becoming a freelance developer, Charles hasn’t looked back. He runs several podcasts, is writing a book and a course, and much more. Charles comes to us in this episode to share his knowledge on some of the lesser known career possibilities that technology offers today. So, click on over to episode 37 and listen in to Arsalan Ahmed and Charles Max Wood as we delve right in.

Charles Max Wood’s Bio:

Charles has been playing with various forms of programming since he was 13 but didn’t find his passion for it until he was introduced to Ruby at age 26. After a year of trying to balance his passion for programming with his career as Director of Support for Mozy, he left his management position for a career in programming.

Charles is passionate about helping others make technology work for them. He is a software consultant and leads his own team of freelance programmers. He’s been programming in Ruby and Ruby on Rails for 7 years and has built several websites including Twitter Clones and other social networks, payment systems, shopping carts, and blogs. He has also customized with Spree, Redmine, Discourse, and Instructure’s Canvas.

Charles’ ambitions in life are to be a dedicated husband and father to his wife, Heather, and his three children, to meet as many people as possible who share the same passions as he does, and to write a novel.

Episode Highlights and Show Notes:

Arsalan: Hi, Everyone. Today I have a very special guest. Charles Max Wood, how are you?

Charles: I’m doing great. How are you?

Arsalan: It’s so good to have you. I’ve been listening to you on your podcasts, and you are an avid podcaster. I can say that because you have a lot of podcasts.

Charles: Yes, I’ve been doing it for almost 10 years.

Arsalan: Yes, and you are definitely somebody who I can look up to as someone who is successful in a lot of the things I want to do. The focus of my podcast is a little different from your podcasts, but I think we’re all in the same space.

Arsalan: So, you were telling me an interesting thing that happened when you were getting your first job. Can you tell us a little about that?

Charles: It’s kind of funny. I’m going to drop back just a little bit because I think it’s important to note that I think the people who listen to my podcast that I put on think that I’ve been programming forever. I’ve been programming professionally for about 10 years, as long as I’ve been podcasting. But, they don’t realize that we all got our start in the same way that they do. So, I just want to put that out there because sometimes things just work out differently than what you’d expect.

Charles: My first programming job I had been programming at the job previous to that. We had built a system for the tech support engineers to use in order to answer emails and keep track of phone requests and things like that. It provided a dashboard, a knowledge base, and things like that. So, I had been thinking that I wanted to go into programming, but I didn’t have the confidence to just go out and apply for programming jobs.

Charles: So, what wound up happening was I went and applied to a bunch of QA jobs because the last position that I held at that company was a QA position. Then I just applied on a fluke to a programming job. I went in for an interview and sat down with the general manager for about 20 minutes. He asked me a bunch of questions and did some interview stuff. Then we got on the phone with one of their programmers. At the time, the company was really focused around Java and .Net. They did a little bit of Flash and Flex, and they had one project on Ruby on Rails, which is what I was familiar with.

Charles: So, they got me on the phone with their one other Ruby programmer. We chatted for a few minutes and he started asking me questions. We talked about patterns and I described to him what I had done. He asked me a few other computer science questions, some of which I knew the answers to and some of which I didn’t. But, what I didn’t realize was that this was a consultancy and consultancies want people they can bill out at top dollar. So, what they were looking for from me was somebody they could bill out to do Ruby on Rails projects at a very high rate. So, it was a long shot for me to get the job.

Charles: When I was answering all these questions, I was like “Well, I don’t know. Or, no, I don’t know that.” And he was consistently coaching me. In fact, that part of the interview probably lasted about an hour. An interesting side note to that was that he was actually missing his daughter’s 8th b birthday party to do the interview. But, he was coaching me and helping me learn this stuff. At the end of the call they told me they’d call me back and let me know what they decided. I was like “Okay, well, I’m not getting this job.”

Charles: I got the phone call from them and from another company looking to hire me for a QA job at the same time and both offering me the same salary. I wanted to be a programmer. So, I took the programmer job. I think it’s interesting to note for other people that my resume literally had zero jobs, positions, or responsibilities that showed that I had done significant development in any way. My responsibilities when I was writing all that code before was to basically manage the tech support team. So, I was in management and all my job duties listed were management duties.

Charles: When I was doing QA, were actually told not to write test scripts for the code. So, what we ended up doing was writing basic procedures that someone would have to do by hand in order to do QA. So, my resume did not show any programming experience except for one line where it said that I had built the system that we used for the tech support team and it was fascinating that worked out. I worked for them for a year and then they ran out of clients that did Ruby on Rails and they laid me off. But, I think it’s fascinating and telling that I could go win without anything on my resume, have a conversation with these folks, talk about a side project. I’d worked on, and get a job at a consultancy doing Ruby on Rails.

Arsalan: Yes, that is fascinating. I wonder if it has something to do with the fact that you were at the right time in the right place. Ruby on Rails was really hot and there was a lot of demand and not a lot of supply. You just couldn’t find a lot of Ruby on Rails developers. Today I think that would be something that would be hard to pull off.

Charles: Possibly. I’m actually writing a book on this and putting together a course on it. I have an email course you can get on how to get noticed to get a job at getacoderjob.com, which is where I’m going to sell the book at. You can get noticed. That’s the primary problem that I think a lot of people have at this point. There are a lot of people who contact me saying that they need Ruby on Rails folks. Then, it doesn’t take long before they’re saying that they want senior Ruby on Rails folks, but the reality is that they just need people to get stuff done for them, and if you can demonstrate that you can get stuff done for them, they’ll hire you.

Charles: So, I would challenge you on the premise that it’s harder to do now. It may be harder, but it’s still possible.

Arsalan: Yes, I think that in the Ruby on Rails world, a senior developer would be someone who’s done it for about a year or two. That would be considered pretty senior. I’ve seen some job ads where the title is that they need a senior Ruby on Rails developer who has two years’ experience.

Charles: That’s interesting. Generally, the numbers that I hear thrown out for seniors are 4 to 5 years, mid-level are 2 to 3 years, and below two years is still Junior. Basically, what it really comes down to is what you can do for the company. There are some people who get in and six months later they really get it. It’s because they work hard and that’s all they do. In six months. They can contribute to a team in the same way that someone who’s been doing it for 2 to 3 years can. Then there are other folks who year in and year out. They get to a sort of proficiency on Ruby on Rails or any other technology for that matter, where they can do the job and not get fired and they just kind of stay there. So, they are repeating year one in your two for 10 to 15 years.

Charles: So, I think the problem that a lot of these companies are having isn’t that there needing to find people who’ve been doing this for a long enough. The problem is that they get so many resumes for so many people, or they don’t have a good way to identify the people that they’re getting to come to them or identify the people they could attract to come work for them. So, what winds up happening is that the shuffle through the resumes until they either give up or hire someone.

Arsalan: Yes. I think that you have some really good points. There are a lot of people in our audience who don’t know a lot about you. We know that you are a developer and you’re writing a book, but tell us a little about yourself and who is Charles Max Wood?

Charles: I grew up here in Utah, in Utah Valley, if you’re familiar with Utah. I grew up in Orem, which is a city just north of Provo. I went to Brigham Young University and got a degree in computer engineering. I met my wife while I was going to BYU. We’ve been married for 11 years and we have five kids. I serve in LDS mission in Italy, so I speak fluent Italian. After I came back and went to BYU, I got a job at Mozy, which was my first job. I was doing tech support until it became apparent that two people weren’t able to do all the work. I wound up building the team there. I also started the QA effort there because it turned out that 80% of our requests were related to the same problem. So, if I could put a test in place to prove that problem than it could save us a whole lot of time and effort. After I’d been there a time I moved from director of support to QA in a bid to get into their development department. That didn’t work out.

Charles: I wound up working for Solution Stream. That was my first real developer job. I worked there for a year and then they laid me off as I said. I then went to work for another company that did the generation for colleges and worked there for a year. I then went to another company out here called Public Engines. If you go to crime reports.com, all the crime data that goes there gets Geocoded by a code that I wrote for them. I work for them for about six or seven months before they made a hiring decision to bring on a director of marketing who made some pretty poor decisions and the company ended up starting to lose money as opposed to making money. So, the board came in and fired all the C-level employees and told all the executives to lay people off. I was pretty disheartened because most of the jobs that I had I either love them and got laid off or I hated them and they didn’t want me to leave. So I decided to go freelance.

Charles: When I went freelance, I had to make a deal with my wife that once the money in the bank ran out, I would take a job. After a while, it became apparent that I could make it freelancing. So, I stayed freelance. About eight months after I went freelance, I started a podcast called Ruby Rogues.

Charles: In the meantime, during all those other jobs, I had various other podcasts. The one that most people would be able to find is Teach Me to Code. There were a screencast and podcast series on that. We started Ruby Rogues in May 2011, and then JavaScript Jabber and Freelancer Show in January 2012. We started iPhreaks in 2013. Then, we started Adventures in Angular during the summer of 2014. Those are all the shows that I do right now.

Charles: I’m actually working on pulling together a series of podcasts that I’m probably going to coin as The New Programmers Podcast or something like that. I don’t know that’s going to be an indefinite podcast, though, or if it’s just going to be a series that I put up until I get all the information out and then I stop. That’s where I’m at now.

Charles: I’m also working on the book and the course that goes along with it. I’m also working on a series of remote conferences for programmers. They allow you to attend the conference online for two or three days. You get for talks each day and is held during the middle of the day US time. Those have gone really well.

Charles: So, at the end of June is Ruby Remote Conf. In the middle of July is Newbies Remote Conf. So if you’re new programmer, were pulling together a bunch of experts to come and talk to you about the stuff you need to know in order to be a programmer. I’ll also be doing a talk there about how to get noticed, which is going to be most of the stuff that you can get from the email course that you can get at getacoderjob.com, but there’s going to be other stuff in there too. So that’s been my code journey through all this. I’ve done some other programming here and there, but for the most part, I do the podcasts and the remote conferences, and then I write code when I get a chance.

Arsalan: Wow that is a lot of stuff. I think that if you’re following along in listening to this, you don’t have to remember all that. We’ll have all that in the show notes. So you have started to produce content for new developers. I’m curious about what you think the issues are that new developers have that you are trying to address, especially in your podcast? What are you going to do in that?

Charles: So, this is something that I realized late last year. I decided that I was going to talk to podcast listeners for 15 minutes each just to kind of get to know what their issues were. What problems do you have? What are you struggling with? Who are you? What kind of dreams do you have? I talked to advance people to. In fact, if listeners that the show want to, you could go to Ruby rogues.com/15 minutes. It will take you to Calendly in the take you directly to my calendar and we can chat.

Charles: So, I talked to a whole bunch of people and I found that probably 40 to 50% of the people that I was talking to were new programmers or were looking to get into programming. So as I talk to them. I got a really good feel for what some of the issues are. Some of them are just what technology should I learn. This is something that they struggle with and they don’t know which one to go after.

Charles: Another problem that they get into is should I do, a boot camp or should I do online learning like code school, or should I just do YouTube University which is basically to go browse YouTube and find videos about whatever it is I want to learn. Or, should I go ahead and read a book. There are all these options. Video are courses on Udemy. Where do I go? What do I do? How do I learn this stuff?

Charles: I’ve had a few people asked me if they should go to conferences. I’ve had a few people asked me how they can find a job. That’s a pretty common one for anyone who’s out of the boot camp or has been fiddling around with it for a while. It’s like “I want to do this professionally. What do I do?” Those three or four questions are probably the most common ones.

Arsalan: That’s good. I think some of those questions we try to address in our discussion panels. I would love for you if you have some time, to come on one of the discussion panels so that we can talk about it. I’d like to pair senior mentors and senior developers with junior developers, new developers, and aspiring developers, and ideally have been together in one discussion. Or, if not, I like to have someone who’s in design, someone who’s in UX, someone who is in development with a different perspective and come together to discuss the topic.

Arsalan: I want to know about your encounters with programming. Were you always a programmer? Were you a child prodigy programmer or did you discover it later?

Charles: When I was in junior high, I bought a TI 85 calculator. I thumbed through the programming guide that they had in there, but it was really basic. So I kind of got some of it there – four loops, but not a whole lot that was really in-depth programming. I’ve year after that, I was part of the Math Counts team at the school. It was a year-long program, but Math Counts was only two or three months. So we would do whatever after the contest.

Charles: One of the things that we did was make designs through graphical programming with Pascal. That was real simple stuff. It was all mathematically based and not too involved. When I was in high school, I took an electronics class, and if you took electronics during the first three years, then during your last year you would spend time programming against an 80 or 85 processor. That consisted of actually putting in by setting the pins on the 80 or 85 with the assembly codes. So, we basically just turned LEDs on and off by setting the values and the registers, which is more computer science than just learning how a computer works.

Charles: When I went to college, I wound up getting a job in the IT department managing servers. So, I did some bash they are. I initially started out as an electrical engineering major. I had to take a couple of programming classes, so I did some Java, C++, and C., I changed my major computer engineering, which really pushed me more into C and VLSI, which is the language that you use to specify how a chip should be designed. So I did a lot of chip design stuff and then I graduated, and then got that job Mozy. I was also an intern writing patent applications for a little while and decided I didn’t want to be a lawyer.

Arsalan: That’s interesting that you talked about hardware description language. I think you said VLSI. Two languages that I’m very familiar with that are very login are VHDL.

Charles: Oh, VHDL. That’s what it was.

Arsalan: Yes, and I wrote some log that was a little bit nicer, but I have to say that it was a pain.

Charles: Yes. It’s about as quirky as C and it is an ugly syntax.

Arsalan: But, you’re developing concurrent hardware, right? So, it’s hard for it to be very high level. I think you need to be at the low level. I think I worked on a programmable timer chip as a senior project, but I have to say that in the high-level language like JavaScript. It’s fun, but you have to play with it. It’s harmless too because you can’t really mess up that badly. But a lower level language like a hardware description, C, or C++, you can really mess up in you could spend days chasing your tail and not be able to figure out what happened because debugging stories are not that good.

Arsalan: If you are a new developer or you want to be a developer and you’re thinking of a fun little programming language, you should probably stick with a higher level language like a Ruby, Python, or JavaScript and just learn programming that way. Then, after that, you could learn the hard-core stuff. But, if you are mathematical, who likes things that are very precise, and then I think it would be fine to start with C/C++.

Charles: Yes, the only issue that I have with saying to start with C/C++ is that the syntax is much less forgiving. If you’re into math and you go with Python, or something like it, those languages are a little higher-level and easier to pick up, because the syntax doesn’t get in your way as much. Once you figure out the concepts behind programming, especially the iterative or the procedural programming then you could start to work your way down to C/C++ or something like that if you really need something that’s precise and very fast.

Arsalan: Right. Okay, let me ask you a question about your college education. When you were in high school you liked programming. At that point did you think that that was what you wanted to do as a career?

Charles: I didn’t even think that I wanted to do it. What I was in college, to be honest. I took some programming classes, and they have you work on some very specific problems, but it all felt like it was toy stuff and like none of it mattered.

Charles: With the electrical engineering and chip design stuff. I felt like if I could design a festive chip I could make a difference. If I can reach into these industries and make things just marginally better, then I make a difference. I didn’t see that power and programming when I was in college.

Charles: Once I graduated and worked on that one project, building that system for those tech support engineers to make us more efficient. So we could better serve our customers. That’s when it really started to dawn on me that I was making a small impact here. If I can build or reach more people then I really can make a difference. It really came down to the kind of impact I could make and I realized that software could get me there easier than hardware.

Arsalan: I’m thinking about the time when you are trying to get into college and choosing your major. You graduated with the computer engineering degree, but you really weren’t into programming much at that time. You didn’t know that’s what you wanted to do. Computer engineering is not the same as computer science, it’s not software heavy, but there is a software component to that. So why did you choose that major?

Charles: I’m trying to remember why I switch from electrical engineering to computer engineering. They were both within the same department. So, there were really only a few classes that were different. I think what did it for me was that I just looked at the class lists and just decided that some of the computer engineering classes looked like more fun.

Arsalan: So now you’ve graduated with the computer engineering degree, but you think that you had programming chops at the time. So you started working in QA and you worked on this app that you were able to do on the side for the company. Using this technology you convince the company to hire you to do Rails development. From that point on, you worry rails developer, but I wonder if, after all these years of working as a professional developer, do you ever look back into your computer engineering education, and say “wow, that was amazing. That really helped me.” Or, do you think that was a waste of time?

Charles: I’ve had this debate with myself many times. There are a lot of things that I learned as part of my degree that I feel that really did contribute to the way that I work and think. The specifics of how computers work is not something that I use day to day. I can look at something when it’s not performing well and it’s probably putting pressure here. When something swaps the disc I know exactly what’s going on because that was part of my education.

Charles: I think mostly it was just discipline and thought processes as opposed to a particular subject that I picked up while I was there that really impacts me. I remember several people that I know who didn’t have a formal education, discovering things like state machines, which is like first or second-year stuff for an electrical engineering major, because that’s effectively how you manage the flow in electrical systems. So, I remember seeing them having their minds blown in for me it was something that I had done so many times on so many homework assignments that it was second nature to me. But at the same time, I can’t really point to anything that I really learned there that I can say definitely impacted me in the way that I work now as opposed to the overall discipline and things like that.

Charles: Now, was it a waste of time? I don’t believe it was. I don’t believe that this is the way that everybody should be getting into programming, but for me, it was a very constructive way to figure a lot of things out through my life at that time and also just to get acquainted with a lot of different technologies.

Arsalan: So, when you became a professional software developer and you got your Ruby on Rails job, I noticed that immediately afterward you started a podcast. That podcast is very popular right now. But, it in order to start a podcast via host and get the right guests and put yourself out there, you need a lot of confidence. But you had very little experience at that time. So, how did you get that confidence? Were you always so outgoing?

Charles: No, not necessarily. It was during my first programming job that I started podcasting. That podcast isn’t running anymore. Ruby Rogues is the longest running one that I have now and JavaScript Jabber is the most popular one.

Charles: What happened was I was working QA at Mozy’s and I was within a few months of leaving. I was working with another QA engineer and he would be sitting at his desk and cracking up. I finally turned around and asked him what he was laughing at. He said that it was podcast he was listening to.

Charles: He had an iPod when the iPods were pretty new. That was back when you had to download the podcast from iTunes and sync them over to your iPod. I didn’t have an iPod, but he suggested that I play them in iTunes. So I installed iTunes on the box that I was using to do my testing and started listening to podcasts. I got to listening to one called Rails Envy by Greg Pollack.

 

Important Links

  • PluralSight
  • Ruby Tapas
  • Elixir Sips
  • Lynda
  • Get a Coder Job
  • Mozy
  • Solution Stream
  • Crime Reports (Public Engines)
  • Ruby Rogues
  • Teach Me to Code

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode37-charles-max-wood.mp3

Episode 36 – How to pick a programming language to learn for new developers – Part 2

June 7, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode36-panel-programming_languages-part2.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

When you are new to software development, there is always the challenge of determining which of the many software or framework programs you should learn first. Everyone has a different perspective. Some say you should learn what they learned. Some say there are specific programs that all beginners should start with. And, still, others suggest that the program you start with is irrelevant, as long as you start somewhere. So, how do you wade through the plethora of programs and information out there to find one to begin with that makes sense to you? Or should you randomly choose one and begin?

Episode 36 is part 2 of choosing the right program to learn. Listen in to our panel of experts, Reuven Lerner, David Molina, and David Gatti while they discuss the ins and outs of how to make the decision that’s right for you and ultimately begin your journey into the world of technology and software programming.

David Molina’s Bio:

Dave Molina is the founder of Operation Code, an organization that helps army veterans become coders. Dave came on the show to discuss coding boot camps, the military, software education, and what it’s like to become a civilian technologist after spending years in the army.

 

Reuven Lerner’s Bio:

Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. Today, Reuven spends most of his time training programmers at companies such as Apple, Autodesk, Cisco, EMC, HP, SANDisk, and VMWare in four open-source technologies: Python, PostgreSQL, Git, and Ruby. Reuven teaches in Israel, China, Europe, and North America, as well as online.

His monthly column in Linux Journal has appeared monthly since early 1996. His latest ebook, “Practice Makes Python,” is aimed at Python programmers who want to improve their fluency in the language.  Two new ebooks, about Regular Expressions and technical training, should be ready in the coming months.

Reuven curates DailyTechVideo.com (offering a new conference talk about programming each day), and is a permanent panelist on the Freelancers Show, a weekly podcast for independent consultants. He also edits MandarinWeekly.com, a weekly collection of links and resources for anyone learning Chinese.

Reuven has a Bachelor’s degree in Computer Science and Engineering from MIT, and a Ph.D. from the Learning Sciences program at Northwestern University, where he created and studied collaborative online learning communities as the developer of the Modeling Commons.

Reuven lives in Modi’in, Israel with his wife and three children.
Please say hi to Reuven on Twitter.

 

David Gatti’s Bio:

David Gatti began his career in IT as a Systems Administrator. He learned how to code in PHP out of boredom, and made some simple internal tools to help him while managing the company network. He later became a blogger and wrote about mobile technologies before the iPhone came into existence and PDAs had cellular modems. David also wrote the CMS for the website itself when WordPress was first starting. Then, he began working as a web developer for a company that did simple Facebook games.

After his initial experience, David ported a Windows Mobile app to Android 2.3. He then became a Brand Manager for a mobile game company and a Marketing Director for another company and at that company – he transitioned to Developer Relations Manager and worked for two companies with this title. It was a job that he fell in love with.

But, while hunting for his next opportunity, he struggled to find the right company. Out of frustration he created Simpe.li (simply) so he could keep doing what he does best – Development Relations Management done right.

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today I’m bringing you part two of our discussion panel. The discussion is about choosing the right programming language. If you are a new or aspiring software developer, one of the challenges that you face is where do you focus your energy? So, today we are going to discuss this with our panelists, Reuven Lerner and David Molina. Can you guys introduce yourselves?

Reuven: I’m Reuven Lerner. I’ve been a developer for 20 some odd years now. I mostly do technical training now for high-tech companies. The languages that I most often use now are Python, Ruby, some JavaScript, and SQL.

David M: Hi everyone. Dave Molina, here. I am self-taught. I started here a few years ago with Ruby and building on Rails, and that ultimately led to building the bilingual hire app, and later the Operationcode.org, which is an open source project that helps military veterans learn to code. I mostly stick with Ruby, but being the Jack of all trades. I can hack in Jekyll and middleman. I play around with Google locally. I’ve fired up Ember before. I don’t have a strong suite in any of the languages, but I can help navigate and get through it.

Arsalan: Do both of you actively code these days?

Reuven: I would say yes. But, in my case, in the last few years, I moved more and more into technical training. So, first of all, I do coding during my training classes. I’ll do live coding and of people asked me questions, I’ll often write a program for that. I do a lot of coding to experiment for stuff for research things. Actual software development projects, I tend to stay more on the sidelines with my clients, and they tend to be more private things. If I need to solve a problem, all right software for it and I’ve got some things cooking. But, client-based software work or company based software work, that has pretty much become an old thing over the last few years for me.

David M: I still do. In fact, before I came on here. I was helping my wife with her website, which is a Jekyll website and I was playing around with markdown, but there was some JavaScript that was being pulled in from another form. So, there was some hacking. With Operation Code, I’m one of the authors. Everything runs through me or the other member of the core team. It’s mostly HTML and CSS. But, it’s a lot of fun and I do it almost daily.

Arsalan: Okay, let me throw this question out there. Is this a good topic for discussion, because that’s contentious? I could say about programming languages, who cares just learn whatever you’re doing. Just look at the problem to guide you and learn that language or maybe you don’t need a language, maybe you need a framework. Where do you guys stand on that?

Reuven: Look, I think you’re going to have some very strong opinions, and you’re going to hear some people say you should choose a language and you should choose my language while others say just get started. I think I’m somewhere in the middle where I would say that it doesn’t matter and just get started with something, but there are certain languages that will get you thinking in the right way or would just be an easier on-ramp to the world of programming than others.

David M: I would say start being useful to yourself and those around you. When I was in the Army, we were in a CMS platform called .Net Nuke to run our.mil. So, I had to learn quickly, not just HTML because I already knew that, but also the framework. How to navigate it. How to add new forms. How to build new categories. Those were simple things to do and it was a simple manual that you read. You receive training on it, and they did some screen sharing with you, but otherwise, you got right in on it.

David M: Once I exited, I wanted to build up the bilingual hire app. When looking at the different programming languages, what it really came down to what was the most seamlessness? I had been messing around with PHP and MySQL, and I really didn’t get anywhere. I dragged it on for the longest time in addition to iOS. When I ran into Rails, it just clicked. So, I guess what I’m trying to say is, whatever the problem is that you’re trying to solve, find the tool that will help you solve it and if you’re butting your head with something, you might want to step away from it and see if there’s another tool. If I had to look at it before, I wouldn’t have spent a year learning PHP in my SQL because I had already come from WordPress. I would’ve just skipped it over.

David M: After sticking with One Month Rails, I just stuck with it. From there, I kept learning and building on it until I got better and better at it. I would say stick with whatever the problem is that you’re trying to solve it don’t spend too much trying to get the universe to fit you.

Arsalan: I think that there are two different considerations. One is that you are doing a job right now and somebody is paying you to do work for them, maybe some programming. Now, a programming language is being used. If you’re in a.net job you’re probably using something like C sharp or VB.net. That’s pretty much guaranteed. From your point of view, you’re learning and you could go ahead and learn the advanced features that you’re required to learn anyway. Or you could say that this is great, and you’re learning all this here, but this is all one-dimensional. Maybe you need something that is multi-functional. So, one thing is directly related to your job performance while the other is more of a personal interest. Where do you see these things?

David M: I would say this. Ultimately, at the end of the day, we all want to do this. This is the craft that we’ve chosen. In my instance, we built our application around Ruby on Rails. Everyone that is coming along on it also has to figure it out and learn it. We build docs around it. That’s my job. I’m in it, and that’s her application. Now, in the future, somebody might ask why we didn’t do it in Middleman or Jekyll and just build on top of it. And you can show proof that it’s going to save X dollars and your time and it’s going to be more user-friendly. Then make that recommendation and lead, and pitch it to your employer. But ultimately, it’s got to sell itself and the boss has to say “Yes, I get it. So let’s do it.”

Reuven: Yes, I remember very well. When I was in college, we were brainwashed into thinking that LISP was the best programming language ever, which by the way it is.

Arsalan: It’s great.

Reuven: Oh, it is, and then you get out into the real world and realize there aren’t that many jobs for LISP programmers. Nowadays you could argue that there are some for Clojure, but back then, forget it. So, there I was at my first job at HP and I started suggesting that we use this technology or that technology and I can only imagine myself now in my manager’s shoes because he was like “yes, that’s very nice, but no. We have invested a lot of money into people using C++. We will be using C++.”

Reuven: That was very frustrating for me because I was really interested in using other languages. At the time I had started using Perl quite a bit. This was back in 1992. So, I worked on my Perl on nights and weekends. Then an opportunity at work came up where we needed a staff directory. They distributed the staff directory to everyone in text format and I decided that I would make it available to everyone via a command line program that they could just run and parse through it. I wrote it and put it in Perl and people were really happy. So did I influence the product or the overall group or the direction of the entire company? Not on your life, but I did find a way of learning things myself, advancing my knowledge, and solving real-world problems.

Arsalan: so, here’s the problem. When I’m a new developer, I’m new and I’m not so confident. I don’t know what language to pick. I don’t know what I should be doing with myself. That’s the problem for a new developer. So, you guys have done different things. Based on your experience, do you think that Python is a good language for new people?

Reuven: I have been telling people for years that if you’re an adult and you want to learn programming learn Python and then learn other languages. Part of the reason for the language’s popularity is because it is consistent. They are big on those surprises. The syntax is not surprising. What you see is what you get. Part of the reason why it’s so much fun to program in Ruby is because the language has so much magic in it, especially if you’re using something like Rails. So, you can try something and it’s like “wow that worked exactly like I would have expected.” But, it works how you would expect it after you’ve worked with it for a while.

Reuven: Python is almost like executable pseudocode and yet it handles a lot of the paradigms that you want. It’s object oriented and it has functional stuff in there, and it has a huge community and tons of resources. So, I think that Python is a great language to start programming it. That said, I was sort of disappointed when I found that MIT, the place where I went to school, changed away from LISP to teach Python as the first language. The thing is, if you’re teaching and a university environment, you want to get people thinking in certain ways. There are certain kinds of thought that Python doesn’t express as well as LISP would.

Arsalan: Are you saying their primary language as a course or class that they use Python for that?

Reuven: It’s now used by about 80% of American universities. That’s the most recent number that I’ve seen as the intro programming course. So I’m typically working with people who generally program in C, C++, C sharp, and Java. They are like “what is this toy language and why am I being forced to learn it?” So, I tried to explain to them that it’s not a toy language even though it looks like it. Secondly, it’s not going away. So, you can now and will in the future be able to get great jobs using Python.

Reuven: So it has the sweet spot of being easy to learn, having a large community, and a good future. That’s rare in a language. JavaScript is kind of all that except for being easy to learn. It’s gotten better with ES6, but it’s still frustrating for many people to learn because it has so many idiosyncrasies. Ruby, which I love, you really have to be able to understand the modular project model to be able to work in it well. That’s a steep learning curve for many people that I found.

Arsalan: Yes, I found Ruby to be a very mind bending, twisty kind of language. The more in-depth I try to learn it and the more I try to understand how Ruby is built behind the scenes, I would pick up a book and read a couple of pages and then sit back and let it settle in. It’s never been like this and other programming languages for me. It has always been fun, but Ruby has been pretty intense. Now, a lot of people who work in Ruby on Rails don’t get to that complexity because they are doing the simple Rails on API. Rails makes Ruby look easy, but Ruby is pretty complicated deep down, and you can get it wrong.

Arsalan: So, let’s get back to Python. I don’t know very much about the Python ecosystem. Give us a little bit of an overview of where you can find a job in Python and what types of things you can do with Python. I know that you can do pretty much everything with Python, but what is it known for?

Reuven: My background is doing web development. So, I was convinced that everyone that comes to my training programs in Python would be web developers or aspiring web developers because that’s what I do and clearly that’s what everyone else does. There’s certainly plenty of frameworks, the most popular being Django and Flask are doing web development and Python.

Reuven: But, it turns out, that a small minority of the people who come to my training are actually using Python for web development. A huge number of them are doing it for test automation. So, these big companies like Cisco and Apple and HP who hired me to come in and do training, the people who are coming to the training aren’t software developers, but are doing testing. There setting up to ensure that they can automatically test all the new stuff that their company is doing. Another group of people that is growing in number is data scientists. Python is probably the number one or number two language behind R. It’s almost like a fight or a death match between R and Python for which language will be more popular among data scientists. So if you do analysis, machine learning, or all of that other stuff, Python has a huge amount of stuff going on.

Reuven: There’s also a fourth area to some degree, which is system administrators who want to level up from doing UNIX shell script and do things that are more sophisticated or lean on libraries that do more for them. Or, they want their code to be organized in some coherent way. So all those kinds are very popular for Python and then there are all these weird little niches that I’m totally unfamiliar with. Just a few days ago, someone emailed me and said that they were using Python for Blender, the 3-D visualization system uses Python as a plug-in language. Who knew?

Arsalan: What do you think, David?

David M: I have to get going here, but I’d be happy to answer any final question.

Arsalan: Do you have any final thoughts on this topic?

David M: I can’t say that I been in the industry as long as Reuven, in terms of training and the specific language. I have attended some Python training classes here in Portland to the Portland Code Guild, which is what they specialize in. I really didn’t gravitate to it, to be honest with you. I don’t know if it was the community of the language. I gravitated more towards Ruby, mostly because most of my friends and family who have encouraged me to stay in software and keep building on it are in Ruby. Mexicanos are mostly loyal to each other and aren’t going to switch from Coke to Pepsi or that kind of thing.

David M: I have been very fortunate to get scholarships to RailsConf, Tuskegee Ruby, Ruby on Rails, and a number of different ones around the Ruby community. I think that I just gravitate to it more, but I agree a little bit with what Reuven is saying about how once you’ve mastered one, jump to another one and then I think it becomes easier. I started with Ruby on Rails. Once I mastered that, I zeroed in on how I could improve it. When I found out that you could improve your speed by using a static site generator page to do the exact same thing, then you could use Jekyll or Middleman or something else. Then, it becomes easier to do that because you’re already familiar with the basics. So, you get the technical mastery.

David M: You have to start somewhere. By siding with the one that gives you the path of least resistance for your learning and the one that is easiest for you to pick up, that’s the one you pick up, and that’s the one you run with. From there you can always jump to others.

Arsalan: Nice. I know that you have to go, but thanks for your input and will continue this discussion.

David M: Absolutely. Reuven cheers from Portland.

Reuven: What a pleasure talking with you again, Dave.

David M: Thank you, Sir. We’ll be in touch.

Arsalan: All right, Reuven. Now, it’s just you and me.

Reuven: So, now I can just win the argument by Fiat. That’s fantastic.

Arsalan: I think that there are lots of programming languages. Some people like Python. Some people like Ruby. Some people like Java because a lot of colleges back in the day used to teach Java as their first programming language. It could be C/C++. Actually, it could be any programming language. You’re not going to learn a programming language that will hurt your programming gene or your programming ability. It all adds up.

Reuven: I think that there’s an advantage if your first language is a dynamic one rather than a statically compiled one. It’s almost like “why are you learning to program?” If the point of programming is to just turn out big programs that you can then use at work, that may well be a better choice to do a statically compiled language.

Reuven: But, if your goal is to understand how to program language works and think like a programmer, then I think a dynamic language allows you to flow faster. It allows you to avoid much of the overhead that’s associated with the statically compiled language. It also allows you to focus in on what it means to program, what it means to develop code, what it means to worry about variable skill and functions, and what it means to program in object style versus function style. I think that’s easier and that sort of language.

Reuven: I totally agree with you when you mentioned that you then want to learn other languages. It’s not what should be your only language, but what should be your first language.

Arsalan: Yes, a programmer’s life is more like a journey. You always have to start somewhere and you don’t know where you need to go because you don’t know what you’re getting into. So, once you start working in a programming language, and in a programming environment, it includes your tools, your development environment, and perhaps your operating system. You’ll figure out what to work with and what works better for you.

Arsalan: It’s not just a personal thing, either. Perhaps you like to work with a Mac, but maybe you have this great job that uses .NET and you have to use Windows and learn to like it. You may carry over some of the things that you learn from another programming environment and programming language. Over time, you may see features migrating over from one programming language to another. So, it’s not clear where you need to be in the next 5 to 10 years. So whatever you can start with, you should just go ahead and do it.

Arsalan: I want to introduce David Gatti, who just joined us. It was great to learn about the Python ecosystem. I’ve been in the industry for a long time, but my impression with Python was that it was this very niche language that is very useful for a certain segment of the population. I didn’t know that it was widely popular. A lot of the tools and software that we use are plug-in systems or their extensibility mechanisms use Python. I think sublime text also uses Python.

Reuven: Yes, you’re right. I forgot about that.

Arsalan: So, that’s incredible. I never really put all this together and made this mental model of this amazing global programming language. Do you get this impression that its popularity and usage is growing a lot?

Reuven: It is hard to exaggerate the popularity growth that I’ve seen over the last few years. I see this as someone who does training. Companies are interested in teaching their programmer so that the companies will be more effective and efficient. Five or six years ago I was doing a Python class every month, two months, or three months. Now, I am solidly booked for 4 to 6 months in advance.

Reuven: If I could clone myself two or three times, I would still probably be able to fill up and it’s not just because I do a lot of training and in good at it, it’s because there’s insane demand. Individuals and companies are growing and adopting Python. Many companies are dumping proprietary language in favor of Python. It’s funny because I got into the whole training thing because I wanted to get off of Ruby training, and the demand just wasn’t there, at least in Israel.

David G: Can I ask one question?

Arsalan: Hi, David.

David G: Hey, hello guys. I wanted to know if you knew why people choose Python over other languages.

Reuven: Interesting question. I’d say that I have some good guesses and part of it is increasing returns. More generates more. So I think that a lot of people end up using it because their friends are using it. You see that with a lot of students as well.

David G: So, it’s evolved because of word-of-mouth?

Reuven: Yes, but you also have all these universities were students are learning Python as their first language. When they graduate, some of them decide they want to start a company or do some consulting and use their knowledge of the language that they’ve already learned.

David G: So, why do schools choose Python? Is it because that’s what they started with and they’re sticking with it? Or is it because it’s better in some things? Is it easy to learn or what’s the deal with it?

Reuven: I think a lot of the theory is that they wanted something that was easy to learn. They wanted something that the students could pick up quickly and then focus on the ideas of computer science and the ideas of computer programming, not the language specific issues that you would get with another language.

David G: So, how would you compare Python with JavaScript? Are they similar? Is one easier than the other?

Reuven: I think Python is easier to learn because the syntax is more consistent. JavaScript executes way faster. JavaScript has a huge advantage that it is everywhere in the world and in everyone’s browser. So, that magic feeling you get when you’re developing, of being able to see the results right away if you’re developing in JavaScript, you cannot get in Python as much because it’s not as immediate.

David G: Right, that’s the thing that makes me wonder what the deal is because, on one side, it seems like JavaScript is the language to learn, but then I see way more Python developers.

 

Important Links

  • Operation Code
  • One Month Rails

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode36-panel-programming_languages-part2.mp3

Episode 35 – How Rachel became a champion for girls in technology and started a movement

May 31, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode35-rachel-ober.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

From the dawn of time, there have always been career roles that were predominantly held by one gender over another. But, as with everything else caught up in the hustle of time, one thing always remains the same. Regardless of what moment, month, decade, or millennia it is, you can always count on change.
Once a male-biased world, the field of technology is blossoming with change.

Rachel Ober is helping to pave the way for women of technology everywhere. Rachel began with her loves of art, technology, and cognitive thinking and married the three together. Rachel’s love of technology soon leads her to a form a movement that helps support and educate women across the country. Listen in to Arsalan and Rachel in this exciting new episode for more juicy details.

Rachel’s Bio:

Rachel Ober is a Ruby on Rails developer based in New York City. A true renaissance woman, Rachel has significant experience in and a passion for user experience, user interface, and cognitive design. Rachel is a senior developer at Paperless Post where she serves as a technical mentor for all front end developers on the development team and leads front end development for the company. Rachel encourages other women developers to hone their skills by contributing to the 3-day conference Write/Speak/Code as a co-organizer. Founded in 2013, Rachel organizes and volunteers her time to teach women Ruby and Ruby on Rails through RailsBridge NYC. Rachel lives in Brooklyn with her husband and fur-child Isabella and loves scrapbooking and card making.

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today I have Rachel Ober with me. Rachel, how are you?

Rachel: I’m doing great. How are you?

Arsalan: I’m so excited to have you on here. I’ve been trying to get you on the show for a while, but we’ve had some scheduling issues. There’s something very interesting about you. You are a speaker and a presenter and a teacher. You focus on Ruby on Rails. You are a conference organizer. But, there’s something interesting about the way you started your speaking and public career that’s a little bit unusual. You weren’t asking for it. It just came to you. Tell us a little bit about it.

Rachel: I really did not expect to get to the point where I started my own conference with some friends. It wasn’t until somebody had found me and reached out to me to teach at general assembly concerning Ruby on Rails. So that’s just a little bit about what got me into it and it was kind of the ignition point in my life.

Arsalan: I think that this is really inspirational for me personally because your girl and women have certain issues when it comes to technology careers, and getting accepted is sometimes a problem. We’re going to talk about this. You are an organizer for a conference that focuses on women and helping women to speak. So, were going to talk about all that because it’s really exciting and I think that all of us who don’t know about the conference should go and check it out. It’s going to be in Chicago. So if you’re in the area, then go ahead and get there.

Rachel: Get yourself to Chicago in June.

Arsalan: Get yourself to Chicago in June. Chicago in June, by the way, is the place to be. Where else will you be, right?

Rachel: Right.

Arsalan: So, describe yourself for us. Who is Rachel Ober?

Rachel: Rachel Ober is probably first and foremost a dreamer and a creator. I love technology, and everything about me has to do with software engineering, coding, creating something new. Even in my free time outside of my job, I’m working on coding one of my projects or helping others do something similar. I would also say that I’m an entrepreneur. I wouldn’t have really called myself that it until somebody said “Rachel, you’re really an entrepreneur. You started all these things. ”I definitely like being supportive of other people. And it all comes down to all the things that I’m passionate about and being able to share what I’ve learned.

Arsalan: That’s great. You’ve been coding for a while. Do you remember your first encounter with programming?

Rachel: Wow. I would have to go really far back. I always joked about this back in college. My father conditioned me from a very young age to be a software engineer. Whenever I told him that I had been telling people this, he actually said that he really has been doing that.

Rachel: As early as I can remember, my father always supported me in my two younger sisters as well. He never treated us like princesses. He would always make us go out and do yard work like mowing the lawn and not treat us differently. He would bring me to his computers because he was also in software engineering. He would tell me what different things in the computer would do. From an early age, he also made sure that I would attend a computing class. So, the first programming language that I learned was Logo. I think that’s the official name.

Arsalan: Yes, the turtle language.

Rachel: Yes, the turtle. That’s how my mom and dad described it to me. They said, “Rachel, we signed you up for this class that you have to take. We want you to learn this and what you do is move a turtle on the screen and then you flip over a page and see all these different lines of code that tell the turtle where to move.”

Rachel: Whenever I picked up HTML later on, I think that visionary example always stuck with me. I dabbled with TextMate as my ID, but it’s not really an ID. Then I would use Dreamweaver because I had this mental model of looking over the page and there was HTML on there. That model has since expanded and changed, but that was back in 1992 or, in early grade school when I learned that.

Rachel: It wasn’t until I got into middle school when I can access the Internet on my own without being in school and understanding with the Internet was. It was then that I started work with websites and graduated from a WYSIWYG editor into writing HTML rather than just dropping elements onto the page. That was getting into programming when I discovered that I don’t like typing out the same thing to make the pages all look the same. That’s where and I picked up PHP and CGI scripting. Then I was learning about databases and I realize that I could store all this information.

Rachel: My dad noticed that I was really getting into programming when I could explain to him that I had designed a database without having to research a lot. I was doing relational database without realizing what relational database was. I was picking up things like it had come naturally to me. That’s a brief history on how I got into programming.

Arsalan: This is really fascinating. I think you’re really lucky. I would say that your father cared enough to share his passion with you. It’s your initiative. If you’re a child or a teenager and you’re interested in software development, you may have an uncle or a parent or somebody else who you could look up to who is in this field and whom you could aspire to be like.

Rachel: As with my sister, it’s being able to not think of careers and interest as being gendered.

Arsalan: It’s important to know that for most of us that is not always the case. Nobody in my family or anybody that I knew had ever done anything with programming or computers. I had nobody to look up to or talk to. I did figure everything out myself the hard way, which computer to buy and which programming language to pick.

Rachel: So how did you get into computer science then? What made you interested?

Arsalan: I’ve always wanted to do it. I’d watch a documentary about computer programming or something similar on TV. One day early in high school I was walking around a used bookstore and picked up a book on the basic programming language. I bought it. I started reading it and that I was hooked. It was like a novel to me. I didn’t have a computer so I would write programs in my notebook. I did that for a couple of years. When you’re a kid or are just starting out, you’re going to take something that exists and tweak it a little bit.

Rachel: That’s definitely how I started. I had a website that displayed my art and what I wanted to do was have a form of people who are essentially admirers, which I think was about 20 people. At the time, I was writing a story about them. This was back in middle school and high school. The impetus for me to create the website was my art, but I had such a greater interest in the end, on the basics of how to create a website that it became so much more.

Rachel: I started with installing this forum and people would ask for certain features to be implemented and it went from there. Sometimes I would do something that would break it, but once you understand the concept of version control, you can always roll it back. There’s really very little damage that you can actually do besides may be overloading your server. I created something and posted it back to the creators of the forum software and they invited me to fix bugs, but it was all on open source. I learned so much by messing around with forum code that somebody else had written.

Arsalan: So this is something unique to our industry. We emphasize open source because you can actually do something about it. There might be other projects that need help or need fixing, but their source code for the original programming is not available for you to fix. You can go to this repository called GitHub, located at github.com.

Rachel: If you find a project there that is open to the public, which is open source, and you start using it, you can change it if you realize that it doesn’t work in a certain situation. You can change it on your local computer and then push those changes back up to the original person and that person can then merge those changes into his or her own repository and thus you become an open source contributor. It’s a badge of honor. If you do that a few times people will take notice.

Rachel: This is something that can be very hard for open source maintainers. Let’s say you spend a lot of time and emotional labor creating this project and then you have a bunch of users. It becomes popular. They start finding bugs. They can then take a lot of the emotional energy out of view by alerting you to what changes need to be made.

Rachel: You can give back to your community. You can give back to this person who has created this project for you by taking a look at their issues in GitHub, which is public, and fixes something. Then go back to that person and let them know what you fixed and how you fixed it and asked for feedback. They are often happy to talk with you and walk through the code that you contributed and merge it into their project. That’s a great way to learn more about the tools that you’re using and also give back to the community and learn from somebody who’s been doing it for longer than you. It’s a great way to find a mentor, even if it’s a short relationship.

Arsalan: One more tip. Sometimes maintainers like to get contacted before you send it a pull request. So, you might just want to send an email letting them know that you want to try to fix the issue because maybe someone else is already working on it. Sometimes they want to talk about their approaches and they can guide you a little bit.

Arsalan: Let’s talk about how you went about constructing a career. You had a good beginning. You had a fantastic dad. Dads like him energized me. I have two little daughters that I have been trying to indoctrinate into programming. One of them is almost two, so it’s hard to indoctrinate her.

Rachel: Well, if they have an iPad, a tablet or something, and they love the game, you can say “you know you can create something like this.” Just see that information. I think that being a creator, in addition to consumers is such a powerful thing.

Arsalan: Absolutely. So now you’re doing all this. You’re learning to program and going through school. At some point, you would’ve started to think about it as a career. Did you go to college to learn this professionally or were you just taking it as a hobby?

Rachel: There was some struggle as to whether I was going to take this dabbling of programming to a higher education. I don’t think it took a lot of arm wringing to get me into programming in college, but I do think there was a bit of negotiation about that. As I mentioned, I loved art. I was doing to computer stuff. I took a lot of computer art classes when I was in high school. It was something that I really like doing because it was very imaginative.

Rachel: I have the struggle with being into programming and how I could fit the two together. So, I told my parents this, and at the time, we were living in a Boston suburb. I was introduced to Northeastern University. They have an excellent computer science college and I’m not just saying that because I’m alumna. What really made a different then all of the other computer science programs that my parents were showing me was that they had started this idea of dual majors with computer science and throughout the university. One of the choices was computer science and cognitive psychology. Cognitive psychology is about how humans think and how we interact with things. That really struck a chord with me because you’re thinking more about what you’re writing, what kind of tools you’re creating, and how your users are going to be using them. So I got I got to do both things that I was interested in. I got to you do the programming, but I also got to learn about how this is going to be used in a way that is going to be meaningful to somebody else.

Arsalan: How was your experience as a computer science undergraduate and doing this double major? Not everyone can do that. You spent a few years doing that.

Rachel: Yes, the program was five years at Northeastern. It wasn’t because it was a dual major, though. They wanted us to have a co-op experience. For one and a half years. It was divided up into different semesters. We would take a job and work full time for six months so that by the time we graduated we would already have a year and a half experience.

Arsalan: That is highly unusual and I think this is great. I think we should explore this a little further if we get a chance because most colleges don’t do that. They’re not trying to produce workers. Computer science is generally about learning the science of computing, the theory, and all the other finer points. My experience is that generally, most computer science programs are focused on that and not necessarily on getting jobs, especially in the public universities.

Rachel: In general, universities are extremely expensive and it’s getting worse every year. That’s why going to Code Bootcamp is so attractive, even if it’s a high upfront cost. It’s because they’re basically committed to bootstrapping you into a programming language and most of the times its Ruby on Rails and teaching you the bare minimum so you can get out there and start working. For someone who doesn’t like their job or doesn’t get paid enough, the attractiveness of being able to go and get a well-paying job is mind blowing.

Arsalan: Right, and there is this choice if you have some money on hand. You could go to college and get a computer science degree or computer engineering degree. Or, you could go to Code Bootcamp, but for a lot of people that isn’t a very realistic choice because they want to have a degree as well. But, for some people, that’s a real choice. I think for a lot of people they have moved on from their college years and perhaps a are in a job that they don’t like, and they want to switch careers. Code Bootcamps are a fantastic way for them to get a foot in the door.

Arsalan: You never went to a Code Bootcamp. I know that you taught at one, but you never were a student.

Rachel: No. I didn’t feel the need that I had to because I always sounded easy to teach myself the language, but I’ve met many people who need that structure. I have considered doing something like the Recurse Center which used to be called Hacker School. It’s very open ended and you spend that time working on personal projects and the focus of that type of schools much different than a code boot camp.

Arsalan: Did you have any difficulty getting your first job? You already had some experience with co-op, which is incredible. You had a resume and you had something to show. Was it just a snap of a finger to get a job?

Rachel: I graduated in 2008 with my degree. Back then, there was a lot going on. That was the start of the great recession. After I graduated I felt burned out because I had been doing so much, not just getting my degree, but also with the different student groups that I was involved in. So, I took some time off.

Rachel: I decided to adopt a dog and bond with her and then start looking for work. I decided that I wanted to find a job in New York City, but I was living in Pittsburgh with my parents at the time. If I remember correctly it might’ve been more difficult to find a job doing Ruby on Rails because it was still a fairly new language and you were more likely going to find more startups doing Ruby on Rails than the larger companies. I wasn’t really sure I wanted to do a startup, but I did end up taking that route. What was the original question?

Arsalan: How did you get your first job?

Rachel: So I did want to move to New York City. My boyfriend, now my husband, was living there at the time and I was trying to be closer to him. I sent out dozens of resumes. It took a long time to get called back.

Arsalan: I wanted to ask you about your choice of Ruby on Rails because you were looking for, Ruby on Rails jobs in 2008. Back then it wasn’t clear that it was going to be this big giant framework that would dwarf every other framework in the startup world. For a lot of new developers Ruby and Ruby on Rails were their first experiences with programming. It’s not something that I would’ve expected back in 2008. Around that time I was starting to learn Ruby and although it wasn’t a new language, it wasn’t a widely accepted language.

Rachel: It wasn’t well-established at all.

Arsalan: It wasn’t a well-established framework at that time. It wasn’t very clear that you should be doing that, but that was your first job. I also know that in college. They don’t teach you Ruby on Rails. So, what got you interested and why were you looking for Ruby on Rails jobs?

Rachel: It was 2005 at Northeastern University College of Computer Science; we had the student chapter for computing machinery (ACM). The student group would teach students skills like programming languages or work on a project. We would have a student teacher who would serve as a guru of the technology or project we were working with and teach other students who were interested in learning it.

Rachel: One of my friends, Chris Lambert, who is the CTO of Lyft and who introduced me to my husband, he did the 5 Minutes to Blog. Everyone knows who started back then with Ruby on Rails. That blog video on how to start a blog in 5 minutes, that’s with Ruby on Rails. Whenever I saw that I thought it was amazing. You can prototype things so quickly with Ruby on Rails. I think that was the draw for a lot of startups. That’s what I liked about it and I think that’s what drew me to developing with it.

Rachel: After that experience, I started doing my own Ruby on Rails projects. At the time, it was a little difficult to get web hosting with Ruby on Rails. We had an experimental server at the college that I would deploy code to and that’s how I would test it. I also took my capstone project in software development and used Ruby. There was only a handful of us at the time that was using Ruby. Everyone else was using something else, probably Java due to its popularity at the time.

Rachel: Documentation on Ruby then was very poor. I had to create a lot of my own methods to get things working or we would’ve had to deal with other really shoddy open source products to get certain basic things like XML working correctly. Despite all this, I still saw so much potential on primetime with Ruby that I kept with it and even convinced my final co-op boss to allow me to write this prototype software in Ruby on Rails. So, I guess I just got super passionate and obsessive with it.

Arsalan: That’s a recipe for success, my friend.

Rachel: Obviously I wasn’t the only one because maybe the hotness of Ruby on Rails has died down a bit, but there are so many legacy applications out there and so much need. This boot camp culture is built almost exclusively Ruby on Rails, or at least some part of it is. So, there was an attraction to it.

Arsalan: Have you encountered any challenges while trying to become prominent and acknowledged, or getting the respect you deserved? Do you have any tips for others entering the industry?

Rachel: I think I find more discrimination. I’ve felt that discrimination more in my day job than going out and speaking. I think that’s also in the venues that I choose to present. So, I’m a little bit cautious with that, but I could probably be a little bit bolder in where I choose to present. I started as a full-stack Ruby on Rails developer and have since moved into a front-end architect and have done speaking on that. I was pretty well known in the NYC Ruby on Rails community, so they were a little surprised when I told them that I am also a front-end architect. At Paperless Post, I’m recognized just as a front end developer. So I live in these two worlds.

Rachel: I think as I get further along in my career it becomes more difficult with promotion or the feeling of belonging. I think some men do feel uncomfortable being alone with a woman. It’s almost like that ingrained line of thinking where if you see a woman and a man together it’s a romantic thing going on, but that’s not the case. It’s like a woman can’t get mentored by a man without being seen as something “fishy” going on. Sometimes even I feel awkward trying to teach a male. I have to wonder whether he respects me, whether he would come to me with a question or would he prefer speaking to another man. We still have these ingrained things in society that prevent us from having a clean exchange of information between the genders.

Arsalan: This is a story of most women, not just certain women. They get so used to being treated differently, and sometimes mistreated, and we know that; it happens. It doesn’t just happen in software development. It happens everywhere. There are always going to be people out there who don’t have the right intentions. But, my belief is that most people are good, they just don’t know how to be nice, kind, and good.

Arsalan: I think we could talk on and on for hours. I think we will probably have to have you on the show again at a later time. Right now I’d like you to tell us about this upcoming conference that you’re organizing.

Rachel: The conference is Write/Speak/Code. It is our 3rd international conference. This year we are holding it in Chicago. The past few times that we’ve held it, beginning back in 2013, have been in New York City. That was never our intention, but that just happened to be the easiest place for our organizers to get to because they live there. So, it’s in Chicago this year and this year we’ve introduced a fourth day, which is outside of our original 3-day curriculum.

Rachel: The extra day has to do with self-care and career development. It was something that we wanted to see and all the organizers had been in a position in the past few years where they were burnt out and overworked, and even considering whether or not to stay in the technology field. We all had to learn independently how to do self-care and why it was so important. We also introduced our alumni track. This is not just for people who’ve attended the conference before, but also for people who have spoken.

Rachel: Even though we have a curriculum for a “write” day, a “speak” day, and a “code” day, we wanted to offer a space for people who’ve already done all that and are still looking for inspiration on how to get to the next level. So our conference is really for women who’ve been in the industry for a number of years and want to do more. So our alumni track is for women who have already been writing and speaking publicly and are looking for something more. It includes writing ebooks, creating independent projects, better communication skills. We’ve sourced some of our friends who are great at these topics as well as people through an independent CFP process to talk more about these intricate topics.

Arsalan: Is this open only to women?

Rachel: Yes, because we feel we needed to create a safe space for these women to talk about their experiences. It’s not that we don’t love men. We just wanted to serve a specific community and this was how we decided to do it.

Arsalan: I think there’s a lot of room in technology to service people from a lot of different demographics. It’s cool. We should support our women. If you are a woman and listening to this and you want to be a software developer or you are a software developer, and you want to learn other skills to move your career forward, I recommend you go to this conference. It is going to be in Chicago in June 2016.

Arsalan: Rachel has been kind enough to offer you, the audience, a 20% discount off the ticket price. Just go to the Write/Speak/Code website listed in the show links, go to “register,” and use “mentoringdevs” as the discount code when you purchase your tickets.

Rachel: Yes, we want people to be able to make it. We offer three levels of ticket pricing.  The regular ticket prices are for attendees whose employers are paying for their ticket. We also have a transitional ticket price for those who are either unemployed or paying for the ticket by themselves and are not sponsored by their employers. Finally, we also have a student price, which is for someone who is in college or taking a boot camp because we want them to also be able to make it to our conference. We really try to make it affordable to different demographics.

Arsalan: Is it 20% off all tickets? Or is it just the higher priced tickets?

Rachel: I believe it is for all tickets. That is how I tried to set it up. If you have any problems, feel free to reach out to us at info@writespeakcode.com because we would love to work with you to get you to our conference.

Arsalan: You’re not making money from this, right? It is not a business.

Rachel: We recently registered it as a non-profit. We are attempting to get it registered as a 501c3 so that we will be able to offer tax incentives to companies. But, no, we don’t make any money off of it. Maybe one day, but it is mostly a labor of love for us. Despite what many people think, it actually does take a lot of time, money, and effort to run a conference. We don’t make money off of it. Any money that we do make is usually reinvested into other things that we do.

Arsalan: Okay, so it is our job to help make this conference a success. Hopefully, we’ll have a full house and sell out the tickets. Let me know how it goes. Be sure to check it out.

Arsalan: Rachel, it was such a pleasure talking to you. I hope that you find time to return to the show at some other time.

Rachel: Absolutely. This was lots of fun. Thank you so much for having me.

Arsalan: Is there a place people can check out? I know you have a website and Twitter. Do you want to share some of that?

Rachel: Sure. I’m known everywhere as Rachel Ober on Instagram, Twitter, Facebook, GitHub, and www.rachelober.com.

Arsalan: Okay, that’s a marketing and branding tip for you. It was a pleasure talking to you and we’ll talk to you later.

 

Important Links

  • RailsBridge
  • Paperless Post
  • Write/Speak/Code
  • Write/Speak/Code Tickets: Use discount code mentoringdevs for 20% off the 2016 ticket price
  • Ruby Nation
  • GitHub
  • Code Bootcamp
  • Recurse Center

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode35-rachel-ober.mp3

Episode 34 – How Angelo Mandato, a PHP developer, founded a podcast hosting startup

May 24, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode34-angelo-mandato.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Where does your passion lie? The world of technology has much to offer and many paths to choose from.  Is it possible to begin your career in one area only to later discover a new area that you are better suited for? Our sources say “yes” and our next special guest has done just that. Meet Angelo Mandato, PHP guru extraordinaire.

Angelo went from software developing to becoming a founder and CIO of a podcasting technology and community. After spending some time working with C++ and discovering the many benefits that PHP has to offer, Angelo changed gears and the rest soon became history. As with most of our podcasts, Arsalan and Angelo discuss how he entered the field, his training, and many experiences and revelations along the way.  Listen in to Mentoring Developers episode 32 for more information.

Angelo’s Bio:

Angelo is the founder and CIO of Raw Voice, an Internet media company including subsidiaries blubrry.com podcasting community, techpodcasts.com technology podcast network, and subscribeonandroid.com, simple One Click subscribe links for all Android podcast applications to utilize. He is passionate about WordPress theme and plugin development and has created many themes and plugins for clients and wordpress.org, including the PowerPress podcasting plugin. Angelo is a seasoned developer experienced with PHP, MySQL, HTML5/CSS/bootstrap/jQuery, Android, iOS, Roku and other SmartTV development, and Ubuntu Apache/Nginx web server administration. His free time is spent with family, friends and restoring a 1981 Trans Am.

Episode Highlights and Show Notes:

Arsalan: Today we have a special guest, Angelo Mandato. How are you?

Angelo: Great.

Arsalan: I know a little bit about you. I’ve known you for a little while and I know that you’re doing some really cool stuff. So tell us about it. How do you see yourself?

Angelo: Today I see myself as an expert in the podcasting development space. It’s kind of been a long road to get there. I kind of just fell into it by being exposed to a lot of the web type technology throughout the year 2000.

Arsalan: I know that your developer and that you’re involved in developing podcast hosting. Are you a founder of Raw Voice or are you one of the early employees?

Angelo: Yes, I’m one of the co-founders. There were five of us that created the company, virtually, and everyone was just spread out throughout the country. So we just used tools of the time to create the company with Skype, GoToMeeting, phone calls, chat, and you name it.

Arsalan: What does the company do again?

Angelo: We provide podcasting services.

Arsalan: All right. Well, I’m a customer. I wanted everybody to know that it’s a good service.

Angelo: When we first started we were originally focused on the monetizing in podcasting with advertising. We started our first network which was Podcaster News. The idea was a podcast. This could create up to five-minute audio recordings of whatever news topics they preferred and give their new show their own name all on our website. Then, we could do a 70/30 with them. They would get 70% of the revenue and we would get 30%. Within the first few months, we quickly discovered there was a bigger market to do more than just news. We launched the Blueberry in the summer of 2006 to be an all-encompassing network for podcasts, not just limited to news. That became our mainstay and our original business model fell off the wayside for just specifically focusing on news for podcasting. Now we’re here today strictly doing services, mainly.

Arsalan: You have been coding for a while, right? How long have you been coding?

Angelo: As a career, since 2000.

Arsalan: Okay, so that’s been 15 to 16 years. Do you remember how you encountered programming for the first time?

Angelo: Yes. I had a roommate who was studying mechanical engineering during my college years and another roommate who is taking computer engineering and he was doing some coding back in about 1996. He was doing some coding to solve some problems with Perl. He was also real big on setting up servers and, I don’t want to call it hacking, but, getting computers to do things they weren’t intended to do. That was kind of the cool thing back in the 90s. I was exposed to a lot of this stuff from him and it just got me kind of excited to where I wanted to change my career and I went into computer science.

Arsalan: So, you didn’t feel the need to study computer science to actually get formal training? You just decided you were going to learn it and do it?

Angelo: No, I actually switched my major to computer science.

Arsalan: Okay, so you got a bachelor’s degree in computer science?

Angelo: Yes.

Arsalan: Do you think that was really helpful and give you confidence in a lot of skills that you wouldn’t have had otherwise?

Angelo: Initially, when I graduated, I didn’t feel like I knew anything. There was a good year there where I felt that I just needed experience. I think everyone who comes out of their education in that industry kind of feels the same way. It almost feels like being thrown into the industry and the school didn’t prepare you well enough for it. But after about a year into my career that completely switched. I found that the school gave me a lot of problem-solving education rather than just knowing specific platforms or software or languages. That was actually more valuable long-term than short-term.

Arsalan: On the problem-solving, is it because you studied computer science or is it just college? I know that if you’re a mechanical engineer you solve a lot more problems than if you’re a computer science graduate, but it’s a different set of problems. Do you think that it matters that you studied computer science?

Angelo: At the time when I graduated I thought that it was just a degree that was helping me get my foot in the door, but I would almost disagree with you on the problem-solving. Everything that you do every day, it’s solving a problem and doing it very efficiently. My college education gave me the ability to understand how to attack a problem.

Arsalan: I think that’s a really good point. Specific languages, technologies, and frameworks keep changing and your knowledge is definitely going to be stale after a while. But the concepts don’t change, and what’s behind the technologies doesn’t change. So it gives you a good bearing in knowing where to look. I think that’s a very fair point.

Arsalan: So, you got into college, and you were learning computer science. When you were studying during your college years, did you work somewhere? Did someone pay you to do programming?

Angelo: No, I did not have the luxury or opportunity to do internships, but I was still working somewhat in the industry. So, while I was at school. I also worked on the residential network. This happened during the late 90s, a time when students were just beginning to afford the ability to have a desktop computer to take to school. So it was the popular thing for the college to provide networking services to the get a network card put into these computers so that the kids could network in their dorms. I was kind of in the right place at the right time and did a lot of networking and hardware work. The last summer before I graduated I went and got A+ certified and worked one summer at CompUSA as a computer repair tech.

Arsalan: Good old CompUSA. I used to go there a lot and then obviously it disappeared. Okay, so after you graduated and had a little bit of money from working on the side, how long did it take for you to work as a software engineer professionally after you graduated? I’m assuming you didn’t go to graduate school, is that true?

Angelo: I had a job lined up before I graduated, but I kind of regret not taking a week or two and just relaxing. I needed to work right away, though, because I was also paying all of my loans and stuff. I was ready to have a job just so I could finally have some cash in my wallet. I think it took about a year before I could say that I was a programmer and could solve problems on my own. It didn’t take long for me to feel that I was contributing, though.

Angelo: The employer I was working for was using C++ to program everything and I stumbled upon PHP and learned that what it took me to program in four days using C++, I could do the same in PHP in about a day. When I told my manager he decided we would switch everything over the PHP.

Arsalan: Now you’re a PHP guru. You’ve been in PHP for how long now?

Angelo: It’s been since December 2000 when I really started digging into it. Yet, I remember getting a book on it that fall. There’s always a buildup time. I remember getting a book and reading the first chapter and letting it sit for about a month. But once I really started digging into it I realized that it was going to work and how much it was going to save time. All these things kept running through my mind and then everything just kind of snowballed. We had all the CGI apps that I wrote converted over within a month while also working on their other projects at the same time.

Arsalan: That’s incredible. PHP is not the most popular language in the world in some ways, but in other ways it is. It is an incredible language because it allows you to build web pages and websites quickly. It’s very efficient, but it has some quirks that some people don’t like.

Angelo: some of the quirks probably make it ideal for the solutions that it’s for which is for the web. In Perl or C++ you have to add a library in order to parse and deal the Git and post and cookies, and all these web-based pieces of data that need to process and convert to what you’re trying to do in your application. PHP natively makes all of these variables already available and also handles conversion of decoding the URL into what you need its actual value to be.

Arsalan: I’m wondering about keeping up with PHP development and web development in general. I know that I’ve had to work really hard in my career to keep ahead of whatever technologies or techniques come out. It’s a constant process of learning. I don’t know much about PHP. So, from your point of view is it something that evolves or changes a lot and that you have to keep up with it? I know that PHP has its own frameworks as well. Is it a bit of a struggle or is it easier than other programming languages?

Angelo: I find that it’s easier when the core basics of it haven’t changed much since around 2000 or since version 4. The functions have come and gone. It used to be that you could split and join a raise to strings and now you have to implode and explode them. But, it’s more of a function name change than anything else.

Angelo: Now, libraries for frameworks have come and gone and that’s one that you really do have to keep up on. Let’s take word press, for example. If you’re a plug-in developer, then you really think of word press as a kind of framework. If you’re a theme developer, then you think of it a little differently. In that regard, it’s a constant struggle to keep up with the function names and the libraries and hooks and actions. Other than that, it’s not that hard to keep up with the basics.

Angelo: The code itself has not changed in structure. There have been some changes in the way that classes have been implemented, which is a good thing. PHP is getting closer to the way that classes and objects work in Java or C++. So, that’s a really good thing.

Arsalan: is PHP object oriented?

Angelo: it can be either or. It’s very similar to C++ where you can still write some functions in C style. If you wanted to, or you can create classes and create objects from those classes.

Arsalan: Well, it’s definitely a very interesting language just because it has a lot of adoption and because of that we cannot ignore it. There are some people who don’t like the syntax and the mixing of presentation logic with business logic and database and all that. But, it works and it gets you to a finished state pretty quickly, which is why it’s popular. Any language that lets you build a framework like WordPress, I can’t argue with.

Angelo: That reminds me of some of the different things that I’ve been exposed to over the years. I was originally writing code for Windows applications at the same job with C++ platform called Power ++, and hopefully, no one knows what I’m talking about. But, Power ++ was ahead of its time in the fact that you developed your application based on what you wanted it to do and then you right-clicked on the graphical view of your application as you’re building the skeleton. It was very powerful at the time and inspired a lot of other languages to adopt that same kind of model.

Arsalan: Let me ask you about the trajectory of your career. One of the questions that I think a lot of people have when they’re first starting out is should they really pick the best job as their first job? What was the approach that you used and how did it work for you?

Angelo: I always kept my opportunities open because you never know what might come next year or what might change. Don’t make a plan and limit yourself because something might change and you might change with that and that’s always a good thing. Don’t limit yourself to thinking that you have to work for a specific type of company. When you interview at a company don’t think of it in terms of “this is Google.” Think of it as a company that doesn’t have a known name, but what potential you have while you’re there to have an influence on what is going on.

Arsalan: That’s a good point. You worked at a company that didn’t have 100 developers. They were a small company and a small IT shop which means that one person had to wear different hats and do different things. That gave you the opportunity to learn all these different things. So, working for small startups or small established companies with a small IT department will give you the opportunity to work in different areas.

Arsalan: What’s your best advice for people looking to hire new developers?

Angelo: the first thing I like to do is find out if the person you’re interviewing has taken any initiative to do things on their own. If they’re doing anything open source outside of school or work, that tells me they are passionate about their career and that they’re able to solve problems and create things without having to have a team there and can work independently.

Arsalan: What’s your advice for people looking to get hired and land their first job?

Angelo: Don’t limit yourself to any one particular thing. Be open to anything and don’t pigeonhole yourself into only doing one particular thing because the industry changes and you will have to change with it.

Arsalan: I want to talk about the work that you do. Tell me a little bit about your company and the services it provides and why we should care.

Angelo: we provide pretty much the gamut of everything that you would need for podcasting from the hosting of the media files, the publishing, and the tools to easily publish those, integration into Word press so that you can do everything from your own WordPress site, and subscribe and player tools as well. We also do podcast download measurement and play measurement, and help podcast managers monetize their content.

Arsalan: So, the bottom line is if you’re thinking about starting a podcast, Angelo is a great person to talk to because he can help you. He’s helped me and without his help, I wouldn’t be able to produce the show.

Arsalan: I think it’s coming to the end of the show and I’m so excited that I was finally able to get you here. How can anyone get in touch with you if they wanted to?

Angelo: The easiest way would be through my personal site, www.angelomendato.com. I think I have contact information over there as well if you wanted to email me.

Important Links

  • Raw Voice
  • Podcaster News
  • Car Talk
  • Shop Talk
  • Developer Tea

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode34-angelo-mandato.mp3

Episode 33 – Panel Discussion on building a great team

May 17, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/Episode33-Panel-How_to_build_a_great_team.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Just as there is more than one way to solve a problem, so there is also more than one way to build and manage a team. How do you know what criteria to follow during the selection process and after to effectively build the best team and team experience possible? Listen in to episode 33 as Arsalan brings back two expert panelists, David Gatti, and Edward Stull, to tackle the heart of team building and the best approaches to use.

While David and Edward come from two different backgrounds, their take on the topic may surprise you. David has a background as a systems administrator and later transitioned into a management role where he found his calling. Edward Stull has worn many hats over the life of his career that gives him a unique perspective on the topic.

In the end, you ultimately must find what works best for you and your team. So, if you’d like a little insight on this hot topic, step right over and listen in. Feel free to leave us a comment afterward if you’d like. We’d love to hear from you.

Edward Stull’s Bio:

Edward Stull is a user experience (UX) designer and researcher in Columbus, Ohio. He has held positions in large traditional agencies, mid-size system integration firms, small design studios, as well as a one-person consulting practice. He has worn many hats during his career. Thus, his background grants an uncommon perspective into how various teams understand, practice and sell UX. When he is not working, he is usually hiking.

David Gatti’s Bio:

David Gatti began his career in IT as a Systems Administrator. He learned how to code in PHP out of boredom, and made some simple internal tools to help him while managing the company network. He later became a blogger and wrote about mobile technologies before the iPhone came into existence and PDAs had cellular modems. David also wrote the CMS for the website itself when WordPress was first starting. Then, he began working as a web developer for a company that did simple Facebook games.

After his initial experience, David ported a Windows Mobile app to Android 2.3. He then became a Brand Manager for a mobile game company and a Marketing Director for another company and at that company – he transitioned to Developer Relations Manager and worked for two companies with this title. It was a job that he fell in love with.

But, while hunting for his next opportunity, he struggled to find the right company. Out of frustration he created Simpe.li (simply) so he could keep doing what he does best – Development Relations Management done right.

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today are bringing to you a really good discussion. The topic of the discussion is how to build a great team. Our panelists today are David Gatti and Edward Stull. How are you guys?

David: I’m doing great, thank you for asking.

Edward: I’m doing fine.

Arsalan: So, tell us a little bit about yourself. Who are you guys and why are you interested in this topic?

David: My name is David. I call myself a tech evangelist now because I like to explain stuff and in particular about technology. My experience with this topic is that I’ve managed teams at my previous jobs and I’ve hired people, developers especially. So, I think I might have something interesting to say about this stuff.

Edward: I’m Edward Stull and I am a user experience consultant here in Columbus, Ohio. Although I work independently now, I’ve been a part of large teams as well as managed very fairly large teams. I think it’s such an intriguing topic just because it’s my belief that if you can have a really good team, anything that you end up encountering if it’s going to be a bad project, client, or situation, a good team will make it tolerable. If you have a good project and you have a great team. It makes the project wonderful. So, it’s a pretty vital part of any project.

Arsalan: Having a good team is good for morale. You want everybody to want to work together because when they work together, they communicate and communication is so important. Without communication, projects fail, everybody’s down, and people leave the company a lot.

Arsalan: So, what you’re feeling on building great teams? Has it been something that you enjoy doing, or has it been hard? What is your overall take on this?

David: I think it’s fun because the mindset that you have to have you need to understand the other person who is on the team has feelings as well. You need to understand if that person is happy or unhappy and try to determine by their body language what might be happening. For me, this is the most interesting part because it is the most intriguing. It’s almost like being a detective and trying to understand what is happening.

Edward: Playing off of what David was just talking about, I would have to second all of his points. Building a team is generally a fun exercise. Regardless of what size teams are, they amplify whatever is going on. So, if you have something that is successful, then it’s great being successful with the really large team because each personality is going to amplify that success. But you could say the same in the opposite as well.

Edward: If things are going south, the more team members you have, who are not feeling great about things, the more that gets amplified as well. The general notion is that if you start off with a good group of folks and you can lead them to success then it can be a whole lot of fun. But it’s vital that you manage a group of people like that. Well, because things can go south pretty quickly, sometimes.

Arsalan: So, you’re talking about working with good folks and that means being very careful about who you hire during the selection process. What kind of people. Would you hire?

Edward: One of the critical parts about when you do hiring is that you have a lot of bias anytime you meet any individual. In a working situation, you generally have two different sets of metrics. Can this person do this job? Are they a complete psychopath? The notion is that everything else is really biased. You want to make sure that you are empathetic with your colleagues and you treat them with respect. If they can do the job, then there’s a pretty good chance that things will work out in the end.

David: I want to say one thing about that. What do you think when a lot of companies try to hire someone and they focus a lot on the skills and don’t focus on whether or not that person is good for the team? From my experience, sometimes people will give you test that you have to finish. Some companies will not hire you if you score lower on the test. But, the test was building a way so it’s tested on what you could code. So, you could have written the worst code ever, but still, pass for whatever the reason and have the company hire you.

Arsalan: I have an opinion on this matter and I think Edward might as well. Let me just say what I think about these automated testing suites. Often you want to hire the best of the best and you don’t want to look at any of the rest. So, you want to whittle down the list of the top 5%. So this test serves as an automated way to accomplish that.

Arsalan: Humans are not involved with these, yet this is the criteria that we use for selecting people. It’s just a way of not having to look at everybody. It’s an example of us being lazy, not having enough time, or not caring enough to build a great team and go through people’s profiles to get a broader spectrum of people and not depending on one thing or another.

Arsalan: Sometimes it’s not an automated test that you have to go through. Sometimes it’s an in-person test. The tests are supposed to be an objective way of finding out who’s the best, but that’s actually not true. Most of the testing and the interviews and everything that goes into the interviews is not really related to the work that people do. They don’t really test their interest personal skills, communication, or anything else.

David: So, what do you think guides good criteria? I remember one situation when I was hiring at a game developer company. I was responsible for checking the person’s behavioral responses to see if they are behaving the right way. A good friend of mine was testing the person’s skills. So, he was always very interested in people who fit well into the company culture.

David: I remember when this one guy came in for an interview. He was off the chain. He showed us this game that he built. His skill level was amazing, but when my friend asked him which part of this engine he was most proud of, he had no answer. So we asked him why he designed this object in this particular way. His response was that this was the only way. It was almost like he was too smart for the average person like he didn’t compute that someone else might not understand that this is the way that you do something. Having someone like that on the team would make the team worse because he would not be able to properly share his knowledge with the rest of the team. It’s wonderful that he had skills but you also need to be able to communicate those skills with our other people.

Arsalan: You don’t want any rock stars. I’m not really a big fan of rock stars.

David: What do you mean by rock stars?

Arsalan: Rockstar developers. A rock star developer will come with his groupies and his attitude and all the stuff that goes with rock stars. Rock stars are not people who I would put up as role models. A rock star developer is a term that I get a lot and that people throw around a lot. It rubs me the wrong way.

Edward: You know, I wonder if it is ultimately the way that the team is managed. I worked with some folks who you could consider rock star kind of people and their particular aptitudes. But, if you take that same person and move them to one organization and they’ll be successful, and in another, they won’t. I often think about it as this management structure. You have to determine if they have the appropriate attitude to exercise something and then whether they have the authority. For example, can they actually do the things that they know? Also, are they accountable for it? You can take somebody is really good at doing something and who has the authority, but if they’re not accountable that I think it gets more towards what David was saying. If they truly believe that that is the only way of doing something and nobody’s ever going to call them on it, and that’s going to be a problem. But, if they’re being managed appropriately someone can show them that there are many ways of tackling a problem. As long as that person is not exercising their opinions on the rest of the team that’s fine and that person will simply learn.

Arsalan: Okay, so now we have a way of hiring people. We want to make sure that people can communicate, people can get along and all this is standard. We want good people on our team to contribute to the team spirit. The question is what is this team spirit that we’re trying to get to? Eventually, we will have differences and we will have people with different backgrounds and different people. A lot of people try to create team spirit by doing team retreats, whether it is once a week, once a month, once a quarter, or once a year. That is how they bond. You think that stuff works?

David: I have mixed opinions on that. I will let Edward go first.

Edward: I think the good part of team retreats is that it allows people to see the good part of the basic humanity of the people that they are working with. Someone is not simply a developer. They are Arsalan or they are David. That just happens to be what you do as a profession, not who you are as a human being. So, I think team retreats could be very good in that way.

Edward: I think sometimes you get this weird, manufactured consent. It’s like everybody’s going to go out and have a team retreats in your being forced to have a good time. That kind of stuff can tend to feel in organic and awkward, but you also have to be cognizant of how you’re spending other people’s time. Different companies have different policies on this. I almost think that nobody minds a team retreat that happens during work hours because they’re being paid. But if it’s just a social hour that people are being forced to go to after work, you can get into this precarious feel where you are being forced to work off the clock.

David: Yes, I also have experienced something like this where the CEO wanted to go after hours to have a drink or whatever and some of the team wants to go home at five because they have a life. Then, the CEO will look at them like they are worse than everybody else because they don’t want to bond with the team. That kind of situation is very bad, in my opinion.

Edward: Yes, I agree. That’s why those kinds of things should be only optional. One example is that while I drink, I have colleagues who don’t. So it would be unfair to have everybody go out for a beer when maybe one person in the group is a recovering alcoholic. Having everybody go out to dinner once in a while can be a nice time but I think there’s an art to it. People tend to know when they’re being coerced into doing something and when they are being given an opportunity to meet another human and converse with them. Almost nobody minds meeting someone and having a conversation. But if it also takes under the umbrella some force work thing, then I think you have to handle the situation differently.

Important Links

  • 37 Signals

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/Episode33-Panel-How_to_build_a_great_team.mp3
  • Prev Page...
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 9
  • ...Next Page
Subscribe To Mentoring Developers Podcast
Subscribe via Stitcher

We Be Tweeterin’

How to fast-track your tech career with author Greg Thomas | Mentoring Developers | youtu.be/z5WK7CVHzZA pic.twitter.com/imjBthnvph

About 3 months ago from Mentoring Developers's Twitter · reply · retweet · favorite

Creating a brighter future for the #success of new and aspiring #webdevelopers includes mentoring as well as #apprenticeships. Listen to an interesting panel discussion between mentors and mentees from @hearsparkbox moderated by @Arsalania at mentoringdevelopers.com/episo… pic.twitter.com/yJv29hNiqx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Still dreaming of getting your foot in the proverbial #webdevelopment door? Did you know that there are companies that offer you a chance to do a proper #apprenticeship and get your feet wet? We found one in Dayton, OH. Check out “the exposé” :) youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Not all #developer #jobs are created equally. Finding the right opportunity should include a great culture, a great workspace, and #apprentice opportunities for career growth. youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

To become a successful #webdeveloper, you need an employer who offers ample opportunities for growth. We met one such employer. Check out our #profile of a sparkling little #design and #development shop called Sparkbox. youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Follow @mentoringdevs

Search

Copyright © 2021 · Mentoring Developers