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

Mentoring Developers

Helping software developers thrive

Episode 32 – How a new Colombian developer found his dream in San Francisco

May 11, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/Episode32-David_Silva.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Imagine coming to America as a new programmer. What would it be like? Would it be easy or difficult to get a job as a programmer? What about landing the ultimate career that many programmers aim for in Silicon Valley? Is it even possible?

Meet David Silva. He is a Colombian native who began his programming career in Colombia. After winning a Colombian-based hackathon, David made his way to America and now works inside the Silicon Valley.  Listen in as Arsalan and David discuss every juicy tech detail on how David made his dream come true and how you can as well.

David Silva’s Bio:

David is currently a front-end developer at Doctor on Demand, a telemedicine company in San Francisco. Originally from Colombia, he has been in love with computers and programming from an early age and has worked as a programmer for the past 8 years.

Episode Highlights and Show Notes:

Arsalan: Hi everyone. Today I have with me, David Silva. David, you did something really interesting back in the day. You went to a meeting with the FARC. What’s the FARC?

David: The FARC is a terrorist group that originated in Colombia back in the 50s. It started as a group of farmers and people who were unhappy with the way the government was treating them. Little by little they evolved to buying more weapons and got involved with drug trafficking and now they’re pretty strong organization in Colombia.

Arsalan: Wow. We’re going to get into how you got into the peace negotiations with the FARC’s organization. That’s going to be an interesting story, but first, we want to know a little bit about you. How do you see yourself? Who is David Silva?

David: I’m a software developer at a healthcare company. I originally went to art school but wasn’t very happy with the results. So, I started programming on my own about seven years ago. I enjoy programming a lot, but also do photography and painting. I’m living in LA right now and I really like it.

Arsalan: So, you live in the San Francisco Bay Area. You’re living the life. You’re working in a midsized startup type of company. So how do you like California?

David: I really like it. There are lots of good opportunities especially working with what I do. There are lots of talented people to me, and events to go out to. The weather is nice, but I would prefer a little warmer.

Arsalan: Yeah, northern California is not as warm as many people might think, especially in areas like Berkeley and San Francisco with the ocean breeze. It can be pretty chilly. But, down inland in areas like San Jose and the further inland you go, it starts to get warmer. If you go to LA and San Diego, then you’re golden.

David: Yes, here is too cold for me. I didn’t know it was this cold when I first moved here so I didn’t bring jackets. So, that was one of the first things I bought when I got here.

Arsalan: Well, you should count yourself lucky that you don’t have to live in the Northeast. Now, that’s really cold. At least it never freezes in San Francisco.

David: Yes, that’s a great thing. I enjoy going to Tahoe every now and then to enjoy the snow there.

Arsalan: Yes, Tahoe is awesome. California is awesome. California seems like this living organism. It is not a place; it’s a living breathing thing. With California, the California people are great, but when I lived there I found it hard to make my career there. So, I moved on to the Midwest and made my career there and it worked out really well for me.

Arsalan: So, how did you become a programmer because that’s not what you studied?

David: I started programming when I was a kid, but I’m not very good at math or physics. So, I didn’t want to go to school for that. I decided to go to art school. Instead, where I would be able to learn some programming, but would not be required to learn math or physics. Not doing what I wanted to be able to do turned out to be a little hard. I dropped out of art school and started doing programming on my own and I got my first job about 7 years ago.

Arsalan: okay, so seven years ago, you got your first job. Before you got your first job did you write any programs before then?

David: Not for work. I wrote a few games when I was in school and when I was a kid, and a lot of basic stuff when I was learning like calculators and Visual Basic. I did a copy of “Frog in Lingo.” It was a lot of code. I don’t know if you’ve used it before, but although we bought the product and killed it, it was a program called Macromedia Director. Every layer or sprite on the screen was like an object and the code was contained in that object. So, it was really messy and complicated, but it was fun.

David: When I started my first job, I was doing Juno templates for small businesses. It was an easy start.

Arsalan: Okay, so you got your first job. I want to know was it in this country or was it in Colombia?

David: It was in Colombia. I only just moved to this area three years ago.

Arsalan: Okay, so how did you get that first job?

David: I was looking around and shopping for jobs. I met this freelancer who was a designer and he needed someone to code his designs into HTML, PHP, and etc.

Arsalan: Okay, so you just met somebody who needed some work done and you agreed to do it. Was it easy for you to come to the US to work? Did you have to do anything special? I’m assuming you wanted to in the Silicon Valley. It’s the Silicon Valley. Everybody wants to be here. But not everyone gets to come here. So, why do you think you were able to do it?

Important Links

  • Email: David Silva
  • AngelList

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/Episode32-David_Silva.mp3

Episode 31 – Panel discussion on choosing the right programming language to learn

May 3, 2016 By arsalan Leave a Comment

Episode 31 – Panel discussion on choosing the right programming language to learn
http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/Episode31-Panel-Which_Programming_Language_to_use-Part_1_mixdown.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

Are you new to programming and overwhelmed with the wealth of knowledge that’s out there? With over 500 different programming languages to choose from, where do you start? Is one language more preferable over another? Should you blindly pick a language and go from there? Or are there some languages that are better for the new programmer to begin with?

Programming is not limited to just software development. There are many different avenues that you can choose from and which avenue you want to follow will require a different type of programming language knowledge. You wouldn’t necessarily use the same programming languages for game or app development as you would for software development or website development. Although some languages in these areas may overlap to a point, there are differences that make each area truly unique. So, what do you do and more importantly, where do you start?

Episode 31 discusses all these questions and more. So, if you are new to the IT field or looking into how to get your start, listen in as Arsalan and his panel of experts consider the best beginner languages. Episode 31 experts include Fernando Paredes, David Gatti, Sara Ines Calderon, and David Silva, bringing you the best variety of expert opinions to discuss which programming languages are best suited for beginners and why.

PANELISTS

David Gatti

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 then became a blogger and wrote about mobile technologies before the iPhone came into existence and PDAs had cellular modems. He 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 this initial experience, he imported a Windows Mobile app to Android 2.3. He later 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.

 

David Silva

David is currently a front-end developer at Doctor on Demand, a telemedicine company in San Francisco. Originally from Colombia, he has been in love with computers and programming from an early age and has worked as a programmer for the past 8 years.

 

Sara Ines Calderon

Sara Inés Calderón is a journalist and writer who lives in Texas and California. Follow her on Twitter @SaraChicaD.

 

Fernando Paredes

 

Episode Highlights and Show Notes:

Arsalan: Today I’m bringing to you a panel discussion with some amazing developers. They are embedded developers, app developers, and web developers, both seniors, and juniors. Today were going to talk about an interesting topic that is on your mind. We are going to figure out which is the best programming language for you to attack or focus on. Or, what are the different sets of programming languages that you should focus on when you’re starting out? Even if you haven’t established yourself in a programming language and a framework and you have a chance to choose where you go. This is a very important decision and was going to see if we can tackle that.

Arsalan: In today’s panel. My guests are David Gatti, Fernando Paredes, Sara Ines Calderon, and David Silva. We’re going to go around and introduce ourselves. Let’s start with David Gatti.

David G: Hello everyone. I’m David and right now I’m a backend developer for a company called Simpe.li. I also do hardware work with Arduino and Portico. I also did a year of Java with android when it was version 2.1, which was fun.

Fernando: I work for a company called Shift Board. I am a mobile developer. I’ve been doing Swift, Android, and Objective-C for about nine years now. I’m also part of Operation Code where we try to introduce more veterans into tech.

Sara: I am Sara Ines Calderon, a journalist, blogger, and now software developer. I’ve been working for just under a year professionally. I went to a code school called Sabio in Los Angeles and I am Co-director of Women Who Code in Austin.

David S: Hi, my name is David Silva and I’m a front-end developer at a healthcare company in San Francisco. I’m also one of the cofounders of the Latinos in Tech in the Bay area.

Arsalan: The question that we have is what programming language should I choose as a new developer? Maybe I have one year of experience. Maybe I have two years of experience. Maybe I just graduated from college. Maybe I’m going through code school and they’re making me go through, Ruby on rails and angular and I am wondering if I should be doing this. Or, maybe I’m in high school and I want to do coding but I’m not sure what to choose. It’s not all about web development. That’s what you hear, but that’s not all there is to software development.

Arsalan: I want to pose this question to David Gatti because you have some different experiences. Your experiences are unique and it’s going to put you in a different place where you can really tell us about which programming languages are most satisfying from an intellectual point of view and which are the most lucrative.

David G: I don’t know about the last part, but I can for sure talk about the languages. That is an interesting topic and I’ve been thinking about it for the last few weeks when I started doing some articles. I think the most important thing when you’re a new person deciding on which language to choose is that you need to understand that there isn’t just one best language out there. You cannot choose just one language. When it comes to languages you have to choose the right language for the problem that you’re trying to solve.

Arsalan: I think that’s a very good point. There is no silver bullet. There is no you learned this one language and now you can do everything. The key point is to know what you want to do with it. You talked about embedded systems. Tell us about this. What are they and why would you use it?

David G: Embedded systems are anything that is small. For example, a watch is an embedded system because you don’t have the parts or the systems available to you that you would find on a regular computer. So instead of 3 GHz of CPU, you have 16 MHz or 8 MHz. Or, instead of having gigabytes of RAM you may have kilobytes of RAM. So, it is a very narrow specific hardware with one specific task. Embedded systems are designed to perform one specific task as well as possible.

Arsalan: Okay, you’re constrained by resources. So, you can’t use JavaScript or Ruby on rails or Ruby, or other languages because they’re not efficient and so many other reasons why you can’t use it.

David G: yes, that’s why you use C, for example. Or, in the best case scenario, C++ because you have to manage memory very efficiently because you’re only using a few pages of text of memory available for you.

Arsalan: There are subtle differences between C and C++. C++ is more evolved. It allows you to do object-oriented programming, but they both allow you to determine, monitor, free and capture memory as you please. So, it gives you power, but you can also shoot yourself in the foot if you don’t know what you’re doing. These are not very forgiving languages.

David G: Correct. I would also say to not be discouraged by people who say that C is very complicated or hard. I would say that it is time-consuming because you have to write all the things for that specific hardware from scratch. With Arduino, you get the framework where other people have done all that stuff. But in essence, it’s more time-consuming than any other language.

Arsalan: So, you can do see that you have to be careful with the memory. You could remove memory that you allocate. That’s an option too. But in other languages, memory is managed for you. So, that’s a difference. Now, Fernando you build mobile apps, is that correct?

Fernando: Right.

Arsalan: What are the choices and technologies or languages that people can use?

Fernando: There are actually quite a few now. Apple released a language called Swift. It’s a very type-safe static language which allows you to catch a lot of your bugs before you even ship a nap out to your customers. Android has anything that is written via JVM such as Java, Kotlin, and Scala. Any one of those languages could work. They just got different levels of compatibility with the android system. Most recently, Facebook has released React Native to allow you to create apps using JavaScript.

 

Important Links

  • Operation Code
  • Women Who Code
  • Sabio Code School
  • Latinos in Tech (Bay Area)

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/Episode31-Panel-Which_Programming_Language_to_use-Part_1_mixdown.mp3

Episode 30 – Do mentorship and training programs really work for a new mom?

April 20, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode30-jennifer-kelly.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

We talk a lot about mentorship and training programs and the many approaches that are available for each. But, do mentorship and training programs really work? That always seems to be the question of the day. Each company or corporation always has their own approach and everyone has their own opinions. But, when it comes right down to it, how do you know whether or not the mentorship program or training program is going to benefit you and your career?

As professionals, we always strive for excellence in what we do. The hunger for knowledge is a constant craving at the back of our minds. Not everyone learns in the same manner, method, or pace, but learn we do and learn we must. Without that burning desire to fulfill that need, we cannot grow and our careers are at risk of becoming stagnant, especially in the ever-changing field of technology. In technology, there is an infinite bank of opportunities to grow, but not every one of them may be the right path. It just depends on what your career goals are.

One of the best ways to grow is by obtaining a mentor or going through additional training. Sometimes, that may include both. But, is either method for everyone and do both have a proven track record of success? Episode 30 of Mentoring Developers covers all this and more. Special guest, Jennifer Kelly offers her expert opinions and experience on the matter. Listen in to learn more.

Jennifer’s Bio:

Jennifer Kelly is a mother of a year (6 months at the time of the interview), a programmer of a year and a half, and a student for life. Her career began in accounting, transitioned to finance, and then leapt to programming based on her desire to build, create, and tinker. She sporadically attends COJUG and Girl Develop It events when not wrapped in the fascination that comes with raising a little human.

Connect with her on LinkedIn: www.linkedin.com/in/jenniferkehnkelly

Episode Highlights and Show Notes:

Arsalan: Today we have Jennifer Kelly with us. Jennifer, how are you today?

Jennifer: I’m doing great. How are you, Arsalan?

Arsalan: I’m doing fantastic. I know that it’s hard for you to be on the show at this time because you just had a baby and you’re dealing with that. So, his name is Oliver, right?

Jennifer: Yes, he’s five months old.

Arsalan: What is the thing that you like most about him right now?

Jennifer: I would say morning smiles and he babbles a lot. It’s cute.

Arsalan: I have a daughter about 15 months ago and she’s a real joy. She has her moments, though. Overall, it’s just an incredible experience to have a child.

Jennifer: Absolutely. It’s really cool. It’ll be even cooler when he starts sleeping through the night.

Arsalan: Out of all the things the baby does to you lack of sleep is not fun.

Jennifer: Yeah, we’re making it work, though. So, it’s good.

Arsalan: I think all of us want to know Jennifer Kelly is. We know that you have a baby and that you’re probably a software developer, but we want to know from you how you describe yourself. Who is Jennifer?

Jennifer: I am a very curious person. My background is actually accounting and finance. I am a big Excel nerd and I love creating things and Excel. It was through discussions with some of my friends over the years that I should try programming, since I love Excel models. That was the first time that I thought about it, but I put it in the back of my head.

Jennifer: Then just over time there was an opportunity for me to either continue with finance or break from finance and I just decided to explore this other world. So at that time I didn’t even know what HTML or CSS was. I would say that I’m just a very curious person because I always have these ideas that I wish this existed, I wish that existed. I wish that I could just poke around and play with this. I think that’s kind of lent itself to me going down this avenue.

Arsalan: That’s a good way to get into anything that excites you. It’s good to have something that just piques your interest and you follow it.

Jennifer: Yeah, it’s just a fun way to tweak and explore and play around. It’s like a fun little sandbox and people can relate to it because we all have experience with the Internet now. It’s a fun field to get into, overwhelming, but really interesting and exciting.

Arsalan: How long ago was that when you were doing Excel?

Jennifer: I left the finance world at the end of 2013. In 2014 I tried a couple of different things. I wrote a book. I started a small business. We were starting to build the website through Volusion, I think. We ended up moving up to Joomla and having someone build it. But, it was one of those situations where I just really wish that I could do it myself. It seemed interesting and I wanted to be able to make changes and do other things. When you’re on chat with the Volusion people you are limited as to what you can do. That was the first time that I was remotely interested in it. That was around June 2014.

Jennifer: I came across a web article that was talking about boot camps across the country and I noticed that one was in Akron, Ohio. Since I was from Columbus, I found that really exciting. So I started to explore it, and at the time they had a session that was starting in August and we were already in July. It was waitlisted and there was no chance of getting in, but I continue to be a pest, and asked to interview anyway. I planned to do their January session, but just wanted to continue on.

Jennifer: At that time I didn’t understand what HTML, CSS, or any of that was. I was thinking forward 10 or 20 years and thinking that I would be so grateful to have experience in the technology field, the knowledge base and the skill set. A spot did open up so I was able to start the boot camp that late August. It was very overwhelming, but it was also very exciting and things started to piece together. I felt that I never would’ve learned web development on my own. Their readings and blogs kind of gave me a frame of the world of web development. It was a grueling 12 weeks, but I was very appreciative that I did it.

Arsalan: That’s great because a lot of people are doing these boot camps and hacker schools. What was your end goal. Was it to learn to be able to do a website that you were trying to do it earlier? Was it an e-commerce website or a blog?

Jennifer: It was an e-commerce website selling bath and body products. That’s what started all of this. I couldn’t build any of it with the products that we had because we had very limited functionality. I think that e-commerce websites are pretty easy to put together now, but in my head of thinking through the different ideas that it would be fun to do to engage people in a certain way was what I wanted.

Jennifer: So, in my head when I decided to do this, I knew what I wanted the end goal to be. I wanted to be a confident developer. Then you go into the boot camp realizing how little you know and developing an appreciation how big and challenging the whole world of software development is. So, I think my eyes are really opened in that.

Jennifer: From there knowing that this was a skill set that I wanted to continue to develop and do I could either continue into the world of finance and do this in the evenings or I could change career paths and go into this IT world and get exposure and practice with that. It involved taking a step back and changing careers, but that supplemented the learning involved in all that I was doing after work.

Arsalan: How many years did you spend in finance?

Jennifer: I started out in accounting and did that for three years and then I did finance for another five years. It was a good experience. I had a great career and I was moving up the ranks and enjoying what I did. I loved the Excel modeling and I was getting further away from that and into management. I think a lot of traditional finance roles there’s all a lot of budgeting and forecasting, and what I really love to do was more working with sales and operations and being able to build something. That’s what I really enjoyed. I had some experience in SharePoint and then my other experience was in Excel. That was my tool belt. The big pull for me was realizing how much my tool belt was going to expand by going into software development.

Arsalan: Here’s what I’m thinking. You knew one tool really well and that worked okay but it doesn’t do all the things you want to do. So, you decide to learn website building or software development. Then you have to decide which technology stack because you can learn HTML and CSS, and that’s good, but nobody hand codes these anymore. So then we have to worry about server-side stuff and consider may be doing PHP, Ruby, or Java, or go into the Microsoft stacks or something else. So now you have to make a choice on which one is good. The second thing is you could keep going down because there are so many things to learn. I feel like this must be so overwhelming. So are you overwhelmed or are you on top of it?

Jennifer: I’m incredibly overwhelmed. So I think starting out with that optimism was probably good because if I would’ve realized all the layers before I began I probably would’ve been too intimidated to enter the world. So when I was looking at this Akron location, I wasn’t considering going to New York or San Francisco or all that. The Akron opportunity offered either.NET or Java. That made no difference to me because I had no idea, but it felt like there was more flexibility in Java. So I just randomly picked it. It is a little challenging because I didn’t really know what my end goal was, but Java seems to be the way to go.

Jennifer: I think that what I struggle with the most now is that there are all these shiny objects and new technologies and you kind of want to follow them but know that you need to practice what you’ve already learned. I went to learn some of these other tools but I have to keep reminding myself to follow down this path, get comfortable and get some confidence before adding some more things later on down the road.

 

Important Links

  • The Software Guild
  • Complete Web Developer Course from Udemy
  • Volusion
  • Joomla
  • .NetRocks!
  • Four Hour Work Week
  • Java Posse
  • Stack Overflow
  • MKYong
  • The Spring Blog
  • LeanPub

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-episode30-jennifer-kelly.mp3

Episode 29 – How to get your dream SECOND job as a software developer

April 12, 2016 By arsalan 1 Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode29-sara-ines-calderon-2nd.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

We all dream of gaining that one, awesome job. You know what I speak of. It’s the one that allows us to check off nearly everything from our mental checklist for the perfect career. But, not everyone is able to achieve this goal. In fact, many go their entire lives working in a field that is more of a lackluster fit for them. Some even dislike their chosen field, or the industry they “fell” into. So, how do you get from where you are to where you want to be? The answer may be closer than you realize.

In episode 29 of Mentoring Developers, special guest, Sara Ines Calderon is back to explore the many ways to get noticed and land that job you’ve been dreaming of. So, get ready, get set, and give a listen in as Arsalan and Sara tell all.

Sara’s Bio:

Sara Inés Calderón is a journalist and writer who lives in Texas and California. Follow her on Twitter @SaraChicaD.

Episode Highlights and Show Notes:

Arsalan: today, I have a very special guest, someone you’ve heard before if you went to listen to episode 18 at mentoring developers.com/episode 18. You would’ve heard my interview with Sara Ines Calderon. Sara is a new developer, but back when I interviewed her she had gotten her first job. Now she has moved into her second job, which is a better job. It pays better. It’s better suited and overall causes her to be happier. Is that true Sara?

Sara: Yes, I just finished my first week at this new job, but there’s definitely more levels of better than the first programming job, which from what I understand is how tech jobs go.

Arsalan: So, who are you? I think that our audience may have forgotten who you are. Please tell us a little bit about yourself. Who is Sara?

Sara: I am Sara. I have actually transitioned in technology after working 10 years in the media, which ranges from newspapers to digital blog publications as well as a few media startups and doing social media, analytics, and things like that. Then I transferred through these Sabio, a boot camp in Los Angeles that focuses on diversity in tech. I became a .net developer there.

Sara: Then I moved to Austin and became a co-director of women who code Austin. Here, we do a lot of work around diversity, specifically gender diversity, but also ethnic diversity and LGBT diversity and a variety of things. So, that’s kind of what I do and who I do it through. Most recently, as you mentioned, I got my second tech job and this is my first week in that position. So, it’s kind of a new adventure and the next step in here we are.

Arsalan: In a very short amount of time, when did you start thinking about becoming a programmer or software developer? How long has it been?

Sara: The last startup at which I worked was a YouTube network and I started tinkering around with some of the backend interfaces on the YouTube platform and I started to realize that there was a lot of things going on there that I was curious about if I had that domain knowledge. I think in that particular startup, that kind of technical knowledge was going to allow me to grow professional in a way that I desired and wanted and in a way that having content knowledge never would have allowed me to. That was around 2011 or 2012 when I started actually thinking about moving into a more technical role. I didn’t actually get around to it until 2014, but here we are.

Arsalan: So, from 2014 to 2016, a short two year period, you were able to make this decision to go into software development. Not only that, you learned a little bit on your own and then you went to a code camp for a few weeks, right?

Sara: it was a 12-week program, so three months.

Arsalan: So, it’s a really short time to start a career. Then you got your first job and I’m sure you had to go through a lot of interviews and it’s not really that easy to get your first job and you can’t be that picky. Most of the time, if you’re a new developer, you just have to get a job, any job and a lot of times people work for free. Most of the time and are industry we are lucky enough that we don’t have to do that because the budgets are often large and companies are able to pay you, and they will pay you even if you intern.

Arsalan: If you work full time, then they will pay you something that is decent and compared to scale, even if it is lesser than your peers. It’s still okay to start, but very soon you’ll realize that’s not really what you want to do, or maybe it’s the people, maybe the culture, maybe the company, may be the money. What are some of the problems that people face during their first tech job?

Sara: This may be an age issue as well, because I’ve been in the workforce for the past ten years and many of the people that I run into who are just starting their first tech jobs are much younger than I am. There’s an initial resistance or puzzlement at why nobody wants to change, why they insist on doing things a certain way or using a particular technology, if it’s not the best fit. But, I guess that could be true of any field.

Sara: There’s definitely an old guard, I’d say, that tend to be white males, and they have a click and it’s hard to get into that click unless you remind them of them when they were your age. So that’s a common thing that I hear, is that it’s hard to find mentorship. It’s hard to find someone to help you. It’s hard to find camaraderie with the old guard, sometimes.

Sara: There sometimes also an issue with pay. I’ve seen some jobs here in Austin like that. I don’t understand why somebody would be paid in the 30s or 40s to do software when you can probably make more money waiting tables in this town.

Arsalan: So, you’re talking about jobs that pay $30,000 or $40,000 a year salaries for full-time software engineers. It doesn’t matter how much experience you have, or if you have no experience. In America, in the US during 2016, you cannot pay people $30,000 or $40,000.

Arsalan: We should talk more openly about salaries because a lot of new people coming into the field, even people who’ve been here a while, don’t really know how much they’re worth. They’re just happy to get an offer and they’ll take it. They don’t know how to negotiate. When it comes time for their yearly reviews, they don’t really know how to negotiate a better salary and then they’re taken advantage of. You can’t live in any midsize or large city in America on that kind of salary. Basically, you’d be living as a student. That’s shocking, but that’s prevalent and I’ve seen it over and over.

Sara: So, I’d say that it’s hard to find mentorship, acceptance, or camaraderie, which makes it hard to move up and get better. There’s also the gender component. I know several women who worked in situations dominated by men. So, all these things get said or insinuated. There are activities that the men will do and won’t include you. I don’t think they’re being bad people, but they’re just not thinking about being more inclusive because they’re just so used to working with men all the time and they don’t stop and think about it.

Sara: I think that more than anything the way that I would describe it is that first-timers and up feeling stuck. They are stuck technologically because they’re not working with technology that they love. They are stuck professionally because they can’t find people to help them move forward. They’re stuck culturally. Millennial’s are supposed to be the most diverse generation that the United States has ever produced and they supposedly have more open attitudes towards diversity than their previous cohorts. So they kind of get stuck culturally there as well.

Sara: I talked to college age students and I talked to different groups, everything from boot camp graduates to college students to high school and middle school students and some of the work that I do. What I tell them is that there are problems in other fields as well. But, there are great things about the technology field. It put me in a position to financially help my family. It allowed me to take boot camp grass out for dinner and talk to them. It allowed me to fix my car without worrying about it. Having that kind of financial stability will help you to have a better life.

Sara: When you choose technology as a career, he gives you the freedom to pursue things that you actually want to be doing, which isn’t necessarily the case in media. You are always held hostage to whatever opportunities are available and who you know who can put you at the front of the line for those opportunities. Any other industry is going to have these types of problems. It’s just the nature of corporate. But, what can you do once you’re there? Can you move away? Can you move up? Can you say “hey, in my free time I want to study Ember and become an Ember expert” and then get a job doing Ember?

Sara: You can’t necessarily do that and other fields. So, that’s what I think is good. My first job was good because it helped me to figure out what I did like and what I didn’t like about the technology. It also definitely helped me to get my foot in the door and helped steer me towards what I did want.

Arsalan: You bring up some really good points. One is that there are people in our industry who are not as sensitive to other people’s needs as they ought to be. So, it comes back to empathy, which I talk a lot about in this podcast. It’s very hard to have empathy if you don’t see the person for who they are. You may be thinking that you’ve always done this and you’ve always joked around and that you don’t mean it, but what you say affects other people.

Arsalan: When it affects other people, you need to watch it. You can do what you want in your own house. You can hold your views and act according to those views when you’re not affecting other people. But, in a professional environment it should not happen. Unfortunately, it does happen because were all human and there’s no code of conduct. Even if we had code of conduct, how do you implement? You would need to have this high-handed approach and fire people and that’s not a good approach either. So we need to just raise awareness and hope that people are good people. And once they realize there are affecting others negatively, they will stop. We want our industry to be welcoming to everybody. You don’t have to like them or how they act. You don’t even have to agree with them, but we should all be able to work together.

Sara: To your point, and this is the thing that gets me, as you said, the onus is put on you as a woman or you as a minority, whatever that means in that context.  They’re saying that you’re being too sensitive, that you’re the problem, but let’s take a step back here. I’m not raising a big red flag about diversity. I’m just asking about why we’re talking about this, and you’re the one turning it into a huge deal. So, I think you’re the one who’s being too sensitive.

Sara: Often, if it’s a matter of sensitivity, I think they’re the ones because they’re so afraid of being called racist or sexist. I don’t think they’re racist. I just think they have a higher tolerance for racist things. Or, I don’t think you are a walking embodiment of sexism because I know you have daughters and you want the best for them. I think you don’t know how to behave around women in a professional context because you’re not used to it. You can’t even have that conversation because they are like “Whoa!” They freak out because they’re sensitive.

Arsalan: That’s one of the problems you face. Another problem is that generally you don’t get a good salary. It’s okay, but you know you should be able to get more, and some of the other issues. Now, you’ve come to a place where you’ve decided you need to move on, but you’re not ready because nobody knows you. You don’t have a portfolio. You just have your first job maybe six months or a year ago. So, what did you do and what could someone else do to set themselves up to be in a position to get their second job at a higher pay or where they will be happier?

Sara: Sure. So, I would do a couple of things. One, create a digital presence that reflects what you want people to find when they Google you. So, why is it important what people Google about you? People are going to Google you before they hire you and they’re going to look at your Facebook page, your Twitter feed, your LinkedIn, your website. I had a legacy website with my name on it and it wasn’t responsive because it was built in 2012. My friend did it on WordPress and I wasn’t thinking about web, but someone brought it up at one of my interviews. You have to make sure that when people Google you, they’re going to find what you want them to find. I have since updated that website and now it’s responsive. So, that’s super important.

Sara: Two, you can also accomplish things through meet ups sometimes. You can volunteer to meet up or meet people at meet ups and create Segway into becoming that person that way. What I think is really important is to code and study outside of work. It sucks and it’s hard, especially because in my previous position I had to commute. It really dug into my personal time outside of work. That being said, I found that the more I did it, the more I found ways to do it better.

Sara: I didn’t know this when I first started out, but you can go onto GitHub and find an open source project that has some of the components you want and you can clone it and change it to make it your own. People do this all the time. Apparently, this is a thing and I didn’t know it. So, go on GitHub, look for some code and adapt it to what you want and create your own side project. That has been something that I think has helped me to either get interviews or get a job. It shows that you have an interest in your craft. Do you code outside of work? Do you do side projects? Are you trying to grow? Maybe that means you have certifications from Lynda.com or you do a Coursera course or some other thing.

Sara: So, that’s what I’d say. You need to work on your skills outside of work, whether that means going to a Hackathon, getting a mentorship, doing a meetup, writing your own projects. You need to make sure your digital presence is what you want it to be because people are going to be Googling you outside of your interview and resumes. So, what story are you telling them when they do that? Three, you need to do some research into what that means.

Sara: What was good about my first job was that I realized what I wanted. So, my list read that I wanted to work downtown or south so I can have a better commute. I want to be making in this range of money. I want to work in a place that values diversity. I want to work in a place that is supportive of my work with Women Who Code because I think that’s important. Those are things that I prioritize and I think that you should prioritize what you want. You should do some research accordingly and start networking within those circles. There’s a lot that you can do. You have to be intentional about what you want and then go and do it.

Arsalan: So, once you have your first job and you want to move on, you have your digital presence, everyone who looks for you finds relevant things. That’s good. If you have a good resume, how and where do you apply for jobs? Do you go to job sites? Or, do you just talk to people?

Sara: one thing that I think is really great about having a LinkedIn profile is that I found that recruiters who are more legitimate will find you on LinkedIn. There may be some sketchy ones as well, but a lot of the legitimate ones will find you there. It’s a little less sketchy than just putting your resume up on Dice or Indeed. My first position I found by applying through Dice. So, the job sites do also work. My second position I found through a recruiter who works for a company who I had spoken with previously about other positions. They kept up with me, I guess because I also kept up with LinkedIn. The job sites do work, but most of the people who I know who have gotten there second and third jobs have done so through recruiters. The ones who treat you well, treat them well back. Maybe you don’t need something at this time but maybe you know someone who you could refer to them.

Arsalan: So that’s good to know. You need to be everywhere. If you are looking for your first job, your second job, or even your third job, you may not know where that job is. You don’t know which city it will be in. Maybe you want to stay in your current Metro city. But, if you are very specific about the type of work that you want to do, then maybe you want to expand it a little bit. The recruiters are generally local. We may have some good recruiters here in Austin, but they may not know about jobs in Tennessee. Putting your resume on dice will allow you to reach more people, but also you will get more spam. Yet, you should be able to sift through it quickly and you’ll get better at it over time.

Arsalan: So, when you apply for jobs, you need a good profile. You need a good GitHub profile and you needed good Stack Overflow profile. You’ll also need a good, organized, LinkedIn profile. You need to tie it all together. What’s important is that if people find your resume. You should also be able to find your GitHub in LinkedIn profiles, so make sure the links are everywhere.

Arsalan: Make sure you’re also doing open source. If you clone a project, then people will know that you’ve cloned, say 10 things. It sets you apart from the vast majority of people who just do what they’re told at work. So it’s luck of the draw that if you get to work for a great company with great people, then you will learn many things. Otherwise, you won’t, and then you won’t stand out. Now we come to the point where you apply and you have a bunch of interviews lined up. What are the interviews like? Are they one-on-one #or are you just sitting among a group of scary looking managers? How does that go?

Sara: The second time around. I feel like was a double-edged sword, and I’ll tell you why. First, you have more knowledge so you understand the kind of information is out there. So, it’s harder to study for interviews. Ultimately, what I would say is that it was a little bit easier because I did no more, but more was also expected of me. So that’s kind of where I struggled because I didn’t know what the expectations were in this interview round. The first time around I had an economic and financial prerogative. The second time around, I could be more specific about what I wanted because I had more authority and more confidence. I probably should’ve studied more. The second time around, but it’s always the same questions. What is a float? Tell me about floats. What’s displayed? Tell me about the display properties in CSS. It’s usually going to be the same gotcha questions that they ask it every single interview. What’s the difference between an interface and an abstract class? They always asked the same questions, but maybe they ask you write a more complicated function, but it’s always going to be the same fuzzy areas that you’re going to be asked about. They’ll just take your code more seriously. The second time because they’ll assume that you have more skill.

Arsalan: Let me tell you a little secret. When you are a new developer or a new professional in any field, you go to these interviews thinking that you don’t know anything and the person who’s interviewing you nose so much and that they are going to evaluate you. The reality is that he is probably just as insecure as you are and he may be thinking that he is not a good interviewer and he doesn’t know what to ask. That’s why they are not prepared. That’s why they ask you the same questions over and over again. They probably pulled those questions off of the website or something.

Arsalan: That’s sad because I do take an interest in interviewing when I do it. I ask a lot of pointed questions. I have been told that I can be difficult, but I’m very good at evaluating. I want to put you through your paces, but I don’t need to evaluate on your answers necessarily because that’s not the point. Knowledge is easier to get. It’s the approach that’s hard.

Arsalan: If I go for interviews, I have a swagger. I go in there with the confidence of what I know. What I know may be very little, but I know it. The other thing is that the person interviewing me is not sure what to ask me because maybe he’s insecure, unprepared, or tired. Here’s the thing. Throw them a bone and give them something to talk about. Give them a question to ask you and the way that you do that is by guiding them through your answers. All they want to know is are you confidence? Are you good? Or, are you wasting my time? If you are enthusiastic then you are convincing them that you are not wasting their time. You have knowledge and passion, regardless of whether or not it’s what they had in mind. But, it doesn’t matter because most of the time they’re just happy to see that. So, that’s a good little tip for everybody out there. It always works because they are really happy to see someone who takes an interest in their craft.

Sara: Usually it’s almost exclusively going to be all men who are going to interview you and almost always it will be white men. I did a lot of phone interviews the second time around as well. It wasn’t so much the whiteboarding but just the conversation.

Arsalan: They might ask you to go on a white board and write the solution to a problem and just code something up. It happens. More recently have started seeing some pair programming sessions where they hook you up with the computer and you work with somebody else watching your screen so you can ask questions. That’s a completely different type of challenge. They want to evaluate whether you can code. But, let me tell you something else.

Arsalan: Not every section of our industry makes you go three coding interviews. I think that would come as a surprise to a lot of people because most new developers starting out here a lot about coding this or coding that. But, there is more to software development then just programming and coding. There are other things that are really valuable and the coding is just a small part of that.

Arsalan: That’s why I always like to bring people around to show them the full gamut of things that they could do. They could be kick ass coders. They could also be other people where coding is not their main job. There are a lot of automated testers there. I code to test code. That’s a completely different set of coding. There are people there who do functional testing and load testing. There is some coding involved, but a lot of it is analysis. They could be business analysts. A lot of business analysts do write codes. Not everybody is able to manage a project and so they come communicate with upper management. So, project management is another option. All of these things are within the scope of software development. That’s why I stay away from saying that we are programmers or coders because we are so much more than that.

Arsalan: I don’t want to miss UX, user experience designers and web designers. They are all part of this huge umbrella called software development. Even if you suck as a programmer, it could be true because not everybody is cut out to be a programmer, you can still work in the field of technology and do something that requires some core knowledge, but not have that be your primary task.

 

Important Links

  • Sabio
  • Women Who Code Austin
  • MeetUp
  • GitHub
  • Lynda courses
  • Coursera courses
  • Developer Week|Hackathon
  • Stack Overflow

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-episode29-sara-ines-calderon-2nd.mp3

Episode 28 – How Dmitry Sharkov nurtures and mentors test engineers

April 6, 2016 By arsalan 2 Comments

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode28-dmitry-sharkov.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

We’ve talked a lot about software developing so far, but what about other tech jobs in the industry? There are many paths that an aspiring software developer can take when entering or preparing to enter the field. Meet Dmitry Sharkov. He is a very senior level developer and a mentor for developers. But Dmitry’s mentorship is a little different than you might imagine. Instead of training or mentoring people to become software developers, he mentors software developers to become test engineers.

There is an increasing need out there for test engineers and people who can wear two hats at once: software developing and test engineering. So, just what is a test engineer mentorship all about? Listen in to episode 28 of Mentoring Developers to learn more.

Dmitry’s Bio:

Dmitry Sharkov is a software creator, fitness instructor, agile coach, and a digital & martial artist. He can be found on Twitter at @dmitrysharkov. That’s a fascinating set of attributes!

Episode Highlights and Show Notes:

Arsalan: Today we have Dmitry Sharkov, he’s a very good friend of mine. He’s a mentor, a senior developer, and a fitness group guru. So, I know a little bit about you and I know that you work with junior developers, but I would like to hear from you what you do, what your background is, and what you are about. How do you describe yourself?

Dmitry: First and foremost I see myself as a programmer and developer. That was my background from the get-go. These days I trained test engineers. In the last few years I’ve started to drift more towards test automation as a focus mostly because while I love writing application code, it didn’t set me apart like test automation does. Focusing on testing wasn’t something that too many developers did. So it gave me an opportunity to move into a mentorship role and to help geeks become bigger geeks, so to speak.

Dmitry: What I’ve been doing lately is leading a program that trains developers to be test engineers. So, they still write code, but its code that tests other code. It trains a developer/tester mindset so that they can wear both hats at once. So, that’s where my focus has been recent, as far as technology goes.

Arsalan: I know that in a lot of organizations, including Microsoft that there is a team of these automated testers. There are these organizations who don’t like to higher manual testers who click around manually by hand and pass or fail a system based on whether or not it’s working, according to specifications. They are these programmers who have that mindset of testing and they write software and code that executes the code that they’re trying to test. That’s very interesting that you’re involved with that. How did you get started with that programming?

Dmitry: I started programming around 10th grade by just writing stuff on our horribly overpriced TI ’83 calculators. Our high school had a programming course that exposed people to writing Basic on those calculators. So, I took classes on programming in high school. Then, we had one in C++ and they offered one in AP computer science, which was just a lot of C++ programming at the time.

Dmitry: The reason I decided to go into that was a combination of three things. It was very gratifying to write code, getting it to work here and there, and then getting to see your product in front of you immediately. It was more difficult for me than other stuff that I did and I found that engaging in a way. I looked at what careers would make sense from a market perspective and technology didn’t look like it was going anywhere except becoming more widespread and needed. So it made sense and I knew it is something that I’d like.

Arsalan: So, you knew that you wanted to do programming but did you know how to proceed? Did you buy a book and try to read it to understand it? Did you find a mentor? Did you take classes? How did you get started in this?

Dmitry: Initially, it was available and it was offered. It seemed like an interesting sort of thing and was different from your typical high school curriculum. After taking those classes, I went down a fairly generic path. I didn’t really pick up any books on jumpstarting my career in software development. I just enrolled in OSU and selected computer science and engineering as my major. So, it started in high school and just continued on past that.

Dmitry: Even in college we had instructors that became almost like mentors. There was a statistics instructor who I kind of viewed as a mentor as well as one who had a software engineering course, which is very different from a programming course because it’s more about the industry and how the industry functions.

Arsalan: Did you find that computer science program beneficial to you. Once you begin your professional career? Did that help you?

Dmitry: A little bit, yes. I did go on and do graduate work after that. What I found most helpful was a co-op that I ended up doing. I started it midway or towards the end of my third year at Ohio State co-op at Chemical Abstracts. I was one of two programmers or developers at their editorial building. I was involved in supporting all of their analytical tools and sort of doing one-off work. It was doing that full-time during the summer and part time as I could, during the quarters when I had classes, that prepared me best.

Arsalan: okay, so you started your career, got a co-op, got a job, and now you are mentoring developers in, I’m assuming, a classroom environment. It’s not one-on-one mentoring. You’re actually teaching a course.

Dmitry: Yes, it’s kind of a combination of several approaches. I don’t take a lot of folks at once because this is work that requires a lot of one-on-one attention. I take a small handful of folks and we start with a classroom component that lasts from 2 to 3 weeks. It also depends on my availability because I’m involved in other stuff as well. We train our trainees on production bound assets. So, they learn not just how to apply the tool but also how to work in a nurturing team environment. It gives me an opportunity to pay more attention to how they work and help them out if they run into obstacles from a technical or management standpoint.

Arsalan: So, is that challenging? Do you enjoy that?

Dmitry: Yes, I do enjoy it and it is challenging in a lot of different ways. Most of the technology that we’re looking at is Ruby Cucumber and different technologies around that. It might be Active Record, Water Web Driver, Cucumber-JS. So, we don’t just focus on Ruby. We look at those different technologies and apply them to test suites and then test suites for applications. So, there are challenges around ensuring that I’m teaching them the latest and greatest approaches because these technologies do seem to involve somewhat rapidly.

Dmitry: There are also challenges with dealing with different personalities, different levels of aptitude, different levels of initiative, more than anything. That’s the one thing that I found very interesting. I tried to pick people who have a high enough aptitude in the first place, but the one thing that’s very difficult to gauge early on and where I see a big spread is an initiative. It’s how much of a go-getter can someone be if they run into an obstacle. Are they going to pursue it themselves or will they freeze in their tracks and wait? That’s one of the most challenging things to coach overcoming is a lack of initiative.

Arsalan: Do you think that other companies should follow in this footstep? This is sponsored by your company, am I right?

Dmitry: Yes.

Arsalan: So, what’s the motivation for your organization? There is a very small minority of companies that are doing that. What are they getting out of it?

Dmitry: A number of things. You’d be surprised by the number of consulting firms who are starting to go down this direction. One of the reasons that we did this is that there is a need in the marketplace for people with skills in test engineering, automation of end-to-end tests, understanding testing strategy, understanding, quality, and being able to work with developers in building joint ownership of quality across the team. Microsoft went down that path quite some time ago. Google also has a similar kind of role breakdown of software engineers, software engineers and tests, and test engineers. That’s starting to come across into the Midwest and coming into demand, but there’s not that many people with that expertise, not enough people to lead efforts, and not enough people to do all the work.

Dmitry: So, we saw a need and you can’t just hire from somewhere else, as there’re not enough people who can meet that need. The people who have that skill set can charge their time at a premium because it’s in demand and this is a place where there’s a lot of potential for growth. It’s a young discipline in central Ohio and people who get that discipline and it’s our very quickly in a position to mentor others. So, it just made sense for us to start from the ground up with people who had that potential to do this kind of work, up skilled them, and then we get the added benefit of offering something that is in high demand and putting some engagement models around that where we get to lead the engagement. So, it becomes more of a true consulting capacity and we give people a very valuable skill set that then puts them in the position to become mentors quite early in their career.

Arsalan: I appreciate that you’re spending your time and mental energy with your company to do this program. I don’t know if anybody else is offering this kind of program, but I think it’s a win-win situation. You get the talent that you don’t have to pay a premium for and some developers get training. That’s generally not available. It’s very rare for companies to hire without skills and just based on potential. That’s kind of what you’re doing, but your program is designed like training, correct?

Dmitry: Probably the most appropriate way to refer to it is that it’s an apprenticeship. They kind of trained by doing the work. We try to break that cycle of needing the experience to get experience. Do you know what I mean? We tried to circumvent that vicious cycle that people can find themselves in.

Arsalan: After they are done with that. Are they guaranteed employment? Or, is that separate?

Dmitry: The ownership is on us to prepare them for success. So, it is a very rigorous program that last months. The way that it usually works is that we want them to stay with us for a little bit because it is a big investment up front. We hire them on in the first place. They are employees of ours the day they set foot in the door to begin training in the apprenticeship. Then, we spend however long it takes to prepare them for a consulting role. I suppose you could say that they are guaranteed employment barring any issues that any associate for any employer might have. So far we haven’t had any problems and we placed everybody, and they’re doing well.

Arsalan: That’s good to know for all those aspiring developers out there. I think that they will thrive in this programming career. It’s good to know that there are companies out there who are going to hire people without skills currently, but within a matter of months. They are able to work confidently as software engineers, or perhaps junior engineers, but engineers nonetheless. Does that sound about right?

Important Links

  • Dmitry’s Email
  • Dmitry’s Twitter
  • Watir Web Driver
  • CucumberJS
  • Microsoft
  • Google

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-episode28-dmitry-sharkov.mp3

Episode 27 – Jess Chadwick shows us how to succeed without a Computer Science degree

March 29, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode27-jess-chadwick.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

There are different ways to get into software developing just as there are many other paths that you can take once you’re there. Take management as an example. Infrastructure manager, Jess Chadwick talks to Arsalan not only about how he got his start in programming, but also how he progressed to his chosen career path. The thing to remember is that if you are interested in software developing, you don’t necessarily have to have a formal education to get your start. Listen in to episode 27 to find out all this and more.

Jess’s Bio:

Jess Chadwick is a software developer and technologist with over fifteen years of development experience ranging from embedded devices in start-ups to enterprise-scale solutions in Fortune 25s. He is an ASPInsider and a magazine and book author with O’Reilly publishing, as well as several courses on Lynda.com including Up and Running with ASP.NET 5. Jess is actively involved in the development community, regularly speaking at user groups and conferences as well as co-lead of the NJDOTNET Central New Jersey .NET user group.

Episode Highlights and Show Notes:

Arsalan: Today we have Jess Chadwick with us. Jess, how are you?

Jess: I’m doing alright and glad to be here.

Arsalan: I’m really happy that you’re here because you’re very experienced. You have done a lot of work and would like to learn about you and from you, but first I’d like to ask you to describe yourself.

Jess: I call myself a web developer and technologist. I know I’m flat out stealing that from Scott Hanselman because that’s how he describes himself. But, honestly, the first time I heard that from Hanselman, it described me. I’m a web developer by trade by day, but I’m also a technologist. I’m very much into using technology and it just so happens that web development is my current passion.  It’s how I’ve been making my living for the past almost 20 years now. I’m also pretty big into the community as well. I also consider myself a community leader and I like to give technical presentations. I like to give back to the community.

Arsalan: Do you code every day?

Jess: I do code every day. I work at a big enterprise. I’m not really aloud to say where exactly I work on a podcast, but you can look me up on LinkedIn. It’s on there. My title is manager, but I was hired to be a very hands-on technical manager. So I am coding every day. When I began with this organization, they were looking to move into the client side world and they wanted to do it right. When I came onboard they basically asked me if I wanted to be on the production team or the infrastructure team, building frameworks that the rest of the product teams use.

Jess: I chose the production team because I wanted to be on the front lines putting out code and dealing with real world problems. So, I spend a significant amount of time writing code daily that goes into production. Then, at night I come home and write some more code. But that’s more of those to-do apps. So I dip my toes in both. I use my nights to exercise the new technologies. I’m in a big enterprise and I don’t necessarily always get the chance to use the latest and greatest. So, I stay on top of things at night with the pet projects that I have.

Arsalan: I hear you and obviously you don’t have a family so that works out, right?

Jess: No, I put family first. When I was looking for a job the commute was the number one thing because then I could get home and see my family as often as possible. I have two young girls, ages two and half and almost six. So, they go to bed relatively early. My wife is a teacher. So, she goes to bed relatively early too. But, I am a night owl. So, I stay up until 2:00 and sometimes 3:00 in the morning. I can work pretty well on between 4 and 6 hours of sleep. It’s because I love this stuff that I can put in the extra time. I make it a priority to spend time with family and also take time out for myself as well.

Arsalan: I think you are my twin. I also have two girls. They are ages 5 and 1 and a half and my wife is a professor, so she’s also a teacher. Do you remember your first encounter with programming?

Jess: Vaguely. I remember coding all the time as a teenager. I can’t really pinpoint the first time that I really started coding, but I do remember that my dad was a developer when I was young. He began as a construction worker and a cabinet maker, but then picked up some books and got into developing. So, in addition to learning how to program, he also learned how to read. So, he learned by diving into books. So, all these books were just lying around. I saw a Basic book sitting around one day. I picked it up and started reading it. The next year I was coding the Choose Your Own Adventure games on Basic.

Arsalan: Did you use GW Basic, by chance?

Jess: Yes, GW Basic

Arsalan: That’s what I used to start. You are my twin.

Jess: Yes, definitely. I started out with games, just as all the kids start, I think. I don’t remember the first line of code I ever wrote and I also don’t remember the first experience specifically. But, I do remember this awesome feeling the very first time I finally got an application to run and the computer to do something. I was hooked from then on and it’s never stopped since then. I still get that feeling today almost 20 years later when I succeed at doing something.

Arsalan: That’s really good, I can definitely relate to that. I think that if you lose that spark and passion, then perhaps it’s time to stop coding, and there’s a need for managers too. Did you study computer programming or computer technology?

Jess: I did go to college for a little while. I went to Drexel University in Pennsylvania. It’s not ivy league or anything, but it’s a pretty good school in the region.  That’s why I went there and I knew I wanted to learn tech. I never considered myself really big into math and the truly deep analytical thinking, so I wanted to stay away from computer science. It was way too technical for me. So I chose information systems. It’s about dealing with and finding information. So, one of the classes I had was how to use Google. I also had computer classes, but they weren’t big into computer science, which is why I chose the major.

Jess: One of the reasons I went to Drexel is that they do coops. So, they get you in the workforce as early as possible. The summer after my second year I was in the workplace and I was a junior developer making junior developer money, which was $40,000 a year. So, I was think that I was making real money, so why continue on with college? I love learning and that’s really the only reason I continued going. What really got me was that I would start going to classes and realize that I had taught myself what I was learning then the previous year. It always seemed like I was one year ahead of what they were teaching until I eventually switched my major to finance.  I decided that since I was paying for the degree, I might as well get something out of it and learn something. I went for another year or two and then I just dropped out because I was already in the workforce and making money, and I loved what I was doing. So, I went through some college, but I didn’t actually finish. But, so far it hasn’t been a problem for me.

Arsalan: So, has anyone ever asked you in any of your interviews about your college education?

Jess: I’ve been asked about my background and education at pretty much every interview I’ve ever had. It’s a pretty standard question, at least on the application, even if it doesn’t come up at the interview. I always put down “some college” and the GPA. I don’t lie. I’m not trying to be subversive or anything. I’m just trying to say that I did go to college, I just didn’t finish. It’s only been a problem twice in the interviews that I’ve been on. Once, I didn’t even get to the phone interview phase. But, quite frankly, I don’t want to work for a company that values degrees over experience because by that time I was far more than a mid-level developer. I had a lot of experience and definitely qualified for the job, but the company just wrote me off because of the degree issue. The second time was actually the job that I’m in right now. Since it was an enterprise, there was a required background check for everyone and it just came up and then the conversation came up. I was told that it wasn’t an issue for the position that I’m in now, but it could become a problem later on as I move up the ranks.

Arsalan: I already know what you’re going to say, but I want people to know the pros and cons of getting a degree. There are so many people that I’ve worked with and I’ve worked under, who are my superiors and who don’t have computer science degrees. In some cases, they don’t have any degrees and in day to day work, it never comes up. I know that people can get jobs. There are certain companies who will filter you out, but other companies won’t. There’s also the perception that if you don’t have a degree that you will make less money than someone who does. I want to get your opinion on this.

Jess: I can’t really answer that because when I was in college doing the coop I entered the workforce as a junior developer and I was paid as a junior developer. I went directly into a junior role and was expected to do junior tasks. So, for me personally, compensation has never been an issue. I was always compensated based on my experience and skill level. Even in the role I am in now when the conversation came up about me not having graduated, it was still completely separate from the compensation discussion. From what I’ve seen, which is not much, it hasn’t affected others around me either.

Jess: I agree with you. A lot of the folks I’ve dealt with haven’t had degrees and many of them who have had degrees have had them in a field other than computer science. One of my managers a while ago had a degree in medieval history or ancient history, something like that. That was his degree because that’s what he was interested in. I’m not criticizing it. But how does your degree make you a better developer or even a better manager? It doesn’t. It was a degree and it was a check box that he could mark off to say that he went to college and graduated. That’s it.

Arsalan: Do you think that people without degrees have to come up with other ways of proving their credentials? The obvious answer is that if you can Opensource your projects and put them on GitHub or something then that is one avenue, but it is not available to everyone because the work is proprietary. Is there a way that people should compensate for something?

Jess: I don’t think so. It’s funny because I have this conversation with my wife all the time because she comes from a family who are very big on education. So, the conversation has come up a couple of times already in the family. They all respect me, but I think the fact that I don’t have a degree is held against me a little bit. I always say that it’s not the education. I love learning and knowledge. It’s just that I no longer saw the value in going to college and getting a degree. I wasn’t learning the things I wanted to learn and it wasn’t benefiting me personally or professionally. So, why bother? I found other avenues to learn things.

Jess: As far as advice for new developers coming in and wondering whether or not you should get a degree, I’m not going to answer that because that’s a personal decision and it involves a lot of variables and things. What I can say is that it hasn’t been a problem for me that I don’t have one. What I can say is as a hiring manager, as a team lead and a coach, what I look for coming in is intelligence and passion. I look for analytical thinking and I don’t care what your degree or background is. When I interview, I look at your resume and I pick out buzz words and I will ask you to tell me about that. I want to have a conversation to hear how analytical you are about problems.

Jess: Where I’m at right now, we’re big on Angular. We’re writing Angular applications. So, that involves a lot of JavaScript, HTML, and frontend knowledge. I’m also bringing on some junior developers. So, junior or senior doesn’t matter. When you come in the door, I don’t care if you know Angular. I care if you are familiar with JavaScript, but I care even more if you are really passionate about web development and if you’re intelligent enough to pick it up. I can gauge passion and intelligence pretty well in half an hour. What’s really important is when I ask a question during the interview and you don’t know the answer, what will your answer be? Do you make up the answer? I know the answer to the questions that I ask you

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-episode27-jess-chadwick.mp3

Episode 26 – Kevin Mack on UI, UX, and mentoring new developers

March 22, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode26-kevin-mack.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

The world of software developing is vast and ever-changing. When we envision what it might take to join the tech world, sometimes we deceive ourselves into thinking that you must have high-level tech degrees, which can take some time to achieve. But, if you are new to the game or looking to change careers, you may not have the amount of time it would take to earn a new, formal degree in technology. So, should you give up? Or is there another way to get your foot in the door to a world of software developing possibilities? Just how necessary is the formal degree to gaining employment as a software developer? Or, is it necessary at all?

Meet Kevin Mack. Kevin was immersed in the world of art and computers as a child and when he chose his career destiny, he decided to blend the two together and become a developer as well as a designer. With his experience, Kevin will talk about how he got involved in his line of work, as well as consulting, and mentoring. Oh, and by the way, if you’re still wondering how much formal education you need to make this career choice happen, then you won’t want to miss episode 26. So, get ready, get set, and enjoy the show. Feel free to leave some comments at the end and let us know your thoughts.

Kevin’s Bio:

Kevin Mack is a developer, designer, and consultant. His area of focus is on creating user interfaces and experiences for large-scaling websites. Kevin is also a co-founder and co-organizer of The Columbus Web Group where he actively participates in growing and educating the community centered around design, development, best practices and standards for the web. You can find him on Twitter (@nicetransition), LinkedIn, YouTube, CodePen,  or GitHub.

 

Episode Highlights and Show Notes:

Arsalan: Today we have Kevin Mack on mentoring developers. I really wanted to have you on the podcast because your different perspective. You do a lot of mentoring and teaching, and you focus on a lot of different interfaces and user experiences. So, this should be a nice and unique interview for our listeners. But, before we get into that, I’d like to you to explain to us who you are. Who is Kevin Mack?

Kevin: have a pretty crazy background. I’ve been developing since 1995, but really grew up around art. My mom was an art director at the Washington Post and she always said that I could draw before I could talk. So I grew up around art and started development around twenty years ago and sort of married the two together. So my whole life has been involved with arts, computers, and bringing people together. I love community organizations and just meeting new people and getting involved in new organizations.

Arsalan: is it fair to say that you described yourself as a programmer or software engineer?

Kevin: I focus on building interfaces and I focus on building interfaces and what I do falls between a designer and a developer. I’ve learned a bunch of languages over the years, but primarily I focus on the front end code and the HTMLs, CSS, and JavaScript. On a day-to-day basis, 90% of the code that I’m writing is in CSS and HTML. So I do sometimes call myself a developer, but I’m a UI, UX.

Arsalan: Do you remember your first encounter with programming?

Kevin: Yes, for sure. It’s kind of a funny story. My buddy and I wanted to make websites. We wanted to record clips, post them and share them so that we could have some kind of reference to them later. So started building websites and doing these really silly recordings and posting them up there along with some early day blogs before they were called blogs. I remember watching how the page was rendering and taking some of those concepts in my head. In 1995, there wasn’t all that much to do. I remember all these tables stacking next to each other. Back then you used tables to set up the grids for the layouts of your pages and no one really knew what they were doing. I was just really fascinated.

Kevin: When it really evolved later on to CSS, I remember thinking how cool x values were. The day that I started learning HTML was the day that I got hooked. That’s when I decided that I really wanted to be a developer.

Arsalan: So you were focused on user interfaces and user experiences. You code in HTML and CSS, which are the technologies or programming languages that you need to know if you want to develop a website and hand code it. You also dabble in design. Do you spend a lot of time in Photoshop?

Kevin: Over the past years I have, but recently we’ve switched over to Sketch. It’s an awesome program. The way that you design in Sketch is more closely related to the output and the output being in line with the web browsers. It’s aligned better with today’s technologies and the web browsers, but I do spend a fair amount of time in Photoshop. We always design the content first and how the content is cascading throughout the pages and then from there getting some high-level sketches out there, and then creating an element collage by indexing all components that eventually make up the design that people are going to be interacting with. From there, we put out some high-level page concepts to help ensure that the development team and design team are on the same page. I do use Photoshop and Sketch, but there are a lot of other steps that have to happen first before I can get there.

Arsalan: That’s good. I didn’t know about Sketch. Thank you for informing me. Did you study any of this at school at any level?

Kevin: Not really. It was all myself and my buddies reaching out and trying to learn and taking on a bunch of contract work and making a lot of websites for my friend’s parents when I was in high school.

Arsalan: So, do you have trouble keeping your skills up to date? How you keep your skills up to date when things change?

Kevin:  On the design side there are some visual trends that happen and we’ve kind of stabilized, but experiences have really evolved. So, when a new technology comes out we have to know how we’re going to design and create the experience that is right for these new capabilities that our users are expecting when they’re coming to our sites and apps. It’s keeping up with the devices and the trends that are going on and ensuring that we’re aligning to the capabilities of the browser. Then, it kind of directly aligns with the front end side as well.

Kevin: I spend a fair amount of time each week reading about the latest CSS. Level four CSS is going to be coming out here soon. A lot of specs and drafts are out there. I’m subscribed to a lot of specs and drafts and we’ll contribute to them.  I’m constantly going out there are reading. I subscribe to a lot of blogs. One of my favorites is CSS Weekly, Javascript Weekly. I also get this monthly one called JSter.Net. My friends and I also run a Facebook group called RAD. It stands for Really Awesome Developers. It includes some of the best developers and smartest minds from a technology standpoint. It’s a closed group, but we admit anyone in it if they’re interested. I probably spend 10 to 20 hours a week keeping up on things.

Arsalan: So, someone listening to this might think, Oh my God. You just listed ten different things. If you just spend two hours each week on each one of them, that’s 20 hours a week. Unless you are spending some of the time on them as part of your job, someone might wonder how you can do that. Do you not sleep at all? Or, maybe that’s your entertainment?

Kevin: I’m a pretty social person and I think I have a social life. But, a lot of my friends are within the industry and even when we go out, we say we’re not going to talk about technology or work, but we end up doing it anyway. I think that to be really good at your job today, I think employers expect you to be up on the latest trends. I’m not going to speak to every single company out there, but a lot of the research and keeping up with things go hand in hand with my day to day work.

Kevin: I’m also a consultant. I work at a tech company that’s called Cardinal Solutions and I’m a consultant who does UI and UX. For us to really be considered a quality consultant, our clients are expecting us to know the history of the web, the latest trends, and what’s coming in the future. So, I can use some of my time on my job to do that because there’s a lot of overlap there. It is little pockets of time here and there. When I get home and am cooking dinner, I’m also reading something while I’m waiting for dinner to finish cooking. It is what I love so it also serves as part of my entertainment. I’d rather read up on the latest trends than watch a movie.

Arsalan:  I think this is really admirable to have this much dedication. I knew you had this much dedication, but I wanted people to hear you say it yourself because it’s hard for some people to imagine living like this, but you’ve got the bug, and you’re enjoying it and reaping the rewards. I really wanted to congratulate you because you are doing something that a lot of us are not able to do.

Arsalan: You’ve talked about a lot of your jobs. You have a job right now as a consultant for a consulting company. Before that, you worked for agencies and you probably had several jobs in your career. Do you remember how you got your first job as a designer or a software engineer?

Kevin: During my earlier days it was just people in my class who knew that I did computers and one parent would tell another parent and they would come and talk to me. That’s how I got my first job. It was doing independent work for people in my class.

 

Important Links

  • Sketch
  • CSS Weekly
  • Javascript Weekly
  • JSter.Net
  • Cardinal Solutions

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-episode26-kevin-mack.mp3

Episode 25: What can developers learn from UX – with Edward Stull

March 14, 2016 By arsalan 1 Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode25-edward-stull.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

One of the many aspects about software developing comes with ensuring a great user experience. But, defining user experience and showing the value that it contains can sometimes be a hard call. In episode 25, meet Edward Stull. Edward is a user experience guru and discusses with Arsalan just what user experience actually is and the importance of combining user experience with user experience design.

Edward has an arsenal of experience with both user experience and user experience design. In fact, Edward is a consultant in both areas and is here to tell you everything you need to know and more regarding ensuring software meets user experience expectations.

So, just what is user experience and user experience design, and why should you be concerned about it? Listen in to episode 25 to find this out and more.

Edward’s Bio:

Edward Stull works as 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 Edward is not working, he is usually hiking.

Episode Highlights and Show Notes:

Arsalan: today I have the pleasure of interest introducing you to a user experience guru. He has written a book and is in the process of writing a book in an audio format as well about user experience. Usually I asked my guess about themselves first, but I think I’m going to change it up a little and ask him about user experience first. What is this user experience, Ed?

Ed: That’s a great question and the challenges all of us to try to make an adequate explanation of it. User experience as a whole is just the result of using any product or service. Second to that is user experience design. That’s the professional application of trying to create effective user experiences. That often becomes a combination of taking what a user wants to do and what a business wants to do and trying to find ways of reconciling that so that you have a good user experience resulting from that.

Arsalan: Now that we have that out of the way, let me introduce you. Your name is Edward Stull and you are a consultant and you do user experience design. How do you describe yourself?

Ed: Well, you know, I think you just did a great job with it. When I introduce myself, I usually tell people that I am a user experience designer and researcher. About half of my work is the actual design, where I’m trying to generate sometimes documents, but often it is brainstorming and trying to help teams solve software and sometimes digital marketing issues. The other half is a combination of primary and secondary research. It’s not as robust as a traditional academic role, but a lot of times I do a combination of usability research, accessibility research, and third-party research.

Ed: I spend a lot of time going through research reports, as well as secondary and tertiary research sources to be able to be able to support any types of decisions were doing concerning software with evidence.

Arsalan: So, are you doing this research as part of a billable work project for a client or just to keep up to date?

Ed: I would say that at least the way I was defining it the first time is that it tends to be a paid engagement. Not all projects require research and there’s not always the case where you have to do a large research study. Sometimes it’s a matter of just doing the due diligence and realizing what audience you are speaking to or, say, a client’s business and the sector they operate in. That could just end up being research. There is also a lot of research just to keep yourself marketable. It’s just the state of the nation in terms of what’s going on from a UX and information architecture perspective.

Arsalan: Besides user design and experience you’ve also dabbled in programming. Can you tell us a little bit about your experiences in programming, what you’ve done so far, and how you got started with that?

Ed: I think I would completely under pressure audience with my knowledge of programming. But, it makes me a better user experience designer. My knowledge is primarily based on scripting languages and things like HTML and client side work. My work with iPhone apps has helped me a lot. It has really helped me understand that type of structure thinking has really helped me to understand system based design, being a lot more cognizant of the fact of any type of user experience, design or deliverables that I’m doing. It has really helped me to be more cognizant of the people who I’m working with and has helped me to better collaborate with developers hand-in-hand, or work with anyone who’s going to receive the product that I’m designing. It is something that makes me better at what I’m doing.

Arsalan: So, you have done a whole lot of different things. My feeling is that you have not studied computer programming and a formal environment. You’ve probably also not studied user experience in a formal environment. I’m saying that because I don’t know if anyone is actually teaching that. So, what was your education like?

Ed: I actually went to school thinking I was going to be a painter. I ended up graduating with an advertising degree. Then, I was a creative director for a while. I kind of migrated into doing user experience close to fifteen years ago or so when it was more commonly called IA work or information architecture. User experience has essentially evolved out of that, as well as a few other disciplines.

Arsalan: although your education wasn’t directly related to what you’re doing right now, do you think your education was helpful?

Ed: I think most people find themselves in a career at some time wondering if there formal education helped. There are adjacencies with what I’ve learned. For instance, the research perspective helped because I had some wonderful copywriting instructors. Although that may not sound like it’s related, it did help in terms of the structure thinking that it required. To be able to really ferret out and say what is the data that you’re working with and then trying to arrange or rearrange that in some new way. If that happens to be written prose for copywriting or formal research projects or information architecture with UA and UX design. These things come off of a common origin even though the results are often different.

Arsalan: I think I’m really excited to have you here tonight because you are a user experience expert and I have my opinions on user experience. It’s very general. It’s nothing very specific. I’ve read parts of your book and I am completely overwhelmed and I don’t think I could talk to about user experience. My idea of user experience is the quality of interactions that a user goes through that results in a satisfactory outcome and that’s very subjective.

Arsalan: In my worldview, every user interaction should result in a happy customer. It should result in a customer who is able to achieve the goal that he or she set out to do when using the application and that should be done in a way that’s compliant.

Arsalan: In my world, if your application is slow and it forces the user to change their behavior in their activities just to work with your application that is a bad user experience. I know that some people have no clue about user experience and they may even think that it has something to do with user interfaces, which it is in a way. UI and UX have one thing in common and that is you. From my point of view, I should know how to create a good user experience for my users. We need more people to go into user experience and design. That’s why I had you on, to inspire some people. Hopefully, a lot of our listeners can think about it, read your book, and perhaps start working as user experience designers, and perhaps you can mentor them.

Ed: I think your explanation of it was very spot on. Everything that you said was exactly correct, but I would add that the user experience is not only giving the user what they want but also reconciling them with the goals of the business. It’s important to also make the application fast performing. A well-performing application, even poorly designed, is far better than a poorly performing application, well designed.

Ed: What I often tell people to do is to imagine an iPhone app or an android app that you are using and it just has one button on it that says ‘give me a dollar’. Everyone in the world would click that button to see what it does, thinking it must be fantastic. Now, every business in the world would love to have that button read ‘give us a dollar’ so that every user who hits that button is going to essentially give the business a dollar. Neither one of those cases is going to be worthwhile. If every time you hit the button, you got a dollar from the business, that business would go out of business pretty quickly. If every time you hit that button you gave a dollar and got nothing in return. Then as a user you were not being paid off. So, there has to be some way of reconciling this kind of value.

Arsalan: I think we may have to have you come back to this podcast a couple of times to really dig deep into the psyche of what we need to have in our head to really produce good user experiences. I think that this is a very deep topic. How you keep your skills up to date? You do a ton of reading and research and you’re dabbling in program development for iPhones and android apps among other things. You have a busy life. How do you keep your skills up to date?

Ed: honestly, I’m really not all that unique in trying to keep these things up to date. I do probably have a little more time available to me as a consultant. I’m probably lynda.com’s biggest user. There are many great sources, but that is just endlessly fascinating to me that you can listen to tutorials and screencasts and pick up anything to gain a functional knowledge of things. It’s nothing that would be professionally viable, but it’s enough for me to kind of gauge and learns a few things. That then spawns me to Google the heck out of stuff. If I run into something and I don’t know what it is, then I might go over to Stackoverflow or something. It’s almost like task-based learning.

Ed: you had mentioned something like that in one of your recent podcast with Derek Bailey, I believe. You mentioned just-in-time learning. A lot of that stuff resonates with me too. I love reading a book from cover to cover, but I often find that if I need to build something in a development language that I don’t have a whole lot of personal experience with, this kind of learning helps me to take care of a particular task.

Arsalan: That’s a really good point. And as you mentioned, the just-in-time learning idea is that you only learned the thing that you need right now. You don’t learn for the sake of learning. I’ve done both. I love to learn for the sake of learning because I’m so curious. I just want to know. But, I know that it takes a toll on my own time and sanity. Sometimes I just learn as I need to learn. If I’m building a particular website and I need authentication for that, I learned how to do authentication.

Ed: I think there are some people who are inherently more curious than others. You really do run into a situation where there just isn’t enough time to learn everything that you want. What I often try to do is triage it in a way. There are things that I have to do to keep my lights on as a consultant. All of that stuff is kind of like a first level priority. The second is kind of what we’ve talked about with trying to solve different tasks. But, the third level is where I will pick something up that perhaps I’m weak at, but am interested in.

Ed: If you are just learning things to kind of keep your lights on, then it can be exhaustive. Some people are better at it than me. I think there’s this way where you can find these various levels of learning where you’re like okay this is the type of learning that’s keeping me gainfully employed, this is the stuff I need to do, and these are the things that are interesting to me that don’t necessarily contribute to the first two levels. It’s a lot easier to keep the momentum going, if you make it a regular habit.

Arsalan: That’s an excellent point. You have to schedule this learning. It’s not just going to happen. If someone says “in my free time I will learn to ask,” then there is a very strong possibility that you will never have free time. If free time means that I am not doing anything, then I don’t have any free time because I am always doing something, even if it’s just watching TV. But if I put it in my schedule, like if I say one hour before I go to bed, I am going to do this thing that becomes a task for me. It is not part of my free time anymore. It’s work.

Arsalan: If you treat learning like work, then, over time you will accumulate all of this learning that seems impossible. Imagine doing that for a whole month. Say you do one hour a day for thirty days. Now you have thirty hours of learning.

Arsalan: While you do have to learn some things, as you said to keep the lights on, you also have to learn some things to broaden your horizons. You also need to learn what to learn. Let’s take web development as an example. Every six months to a year. The technology landscape changes all the time. New languages and frameworks and tools come out. It’s a never ending ride. So, how do I know what I should learn?

Important Links

  • Lynda
  • 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. 

http://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode25-edward-stull.mp3

Episode 24 : Sarah Mei (second interview)

March 8, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode24-sarah-mei-2.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

There are many ways that programming can be implemented and has been implemented over time. Some are good ways and some are not so good ways. So, how can you tell the difference between which is the best method and why? Sarah Mei compares the ‘Waterfall’ method to pair programming and solo programming. So, what is pair programming, anyway? Think of it as two programmers using one computer screen and two keyboards and mice to work together on one project. In a way, it is kind of like mentorship because you get a chance to learn from your partner and vice versa. That’s not to mention as Sarah points out that you often get the job done much quicker. When done correctly, pair programming can provide an enjoyable learning experience.

Sarah Mei covers this in more detail and so much more in episode 22. Listen in and learn the following from Sarah’s expertise:

  • The ‘Waterfall’ method of software development
  • The benefits of pair programming
  • Should new developers present at conferences?
  • How best to write up a successful conference talk proposal

Sarah’s Bio:

Sarah is a Ruby and JavaScript developer based in San Francisco, California. As the Chief Consultant at DevMynd Software, she spends most of her time pairing with her clients’ developers, helping level up their team. Her particular areas of interest are Object-Oriented Programming, service refactorings, growing teams, and inter-developer dynamics.

She has written about my experiences pair programming and also her approach to testing but her most popular article, by a huge margin, is about the dangers of shiny new technology.

Sarah is writing a book with Sandi Metz about how to refactor Rails applications towards happiness and she can be found on Twitter, GitHub, and LinkedIn.

Episode Highlights and Show Notes:

Arsalan: Today we are going to talk to Sarah Mei once again. Sarah was here for an interview earlier. If you missed it, go ahead and check it out. This will be the 2nd part of the interview. Could you please describe yourself?

Sarah: I am a software developer. That’s how I see myself. Although, I believe it’s been a year or 2 since I’ve done full-time coding. These days I do roughly half time coding and the rest of the time I spend doing other things like writing, blogging, working on talks, or doing conference work. I’ve been doing programming since around 1996. So, this year will be my 20th anniversary.

Arsalan: We should celebrate. We should have you on the 20th-anniversary special.

Sarah: Yeah, that would be awesome. So, I’ve been a developer for most of that time. I made a couple of brief forays into management, but most of the time. I’ve done coding. In the last 10 years or so, I’ve also added a bunch of community work to what I do. These days I do a lot of work with conferences and I also do a lot of work with Rails Bridge, which I cofounded in 2009. That’s what I do and that’s who I see myself as. I’m always interested in hearing what how other people view me.

Arsalan: You’ve done so much work and so many things over the course of your career. It’s hard to describe you as a person who does a single thing. I see with someone who’s inspirational. You have opinions in your letting people know that. People need to know that this is how you can be someone who is successful and conscientious and social. For all of the new developers out there, Sarah is a good role model.

Arsalan: So, do you remember your 1st encounter with programming?

Sarah: I do. It was quite a while before I started programming. We had an Apple IIC computer with an old greenlight monitor. It came with the book of programs and basic that you could type in. There was no explanation. It was just look at the book and type that into the computer. I did one of them and it was vaguely interesting. But, there was no way to save the program. I would’ve had to type that whole thing in all over again. So, I was like “Really? Why am I doing this?” I try to type in another one, but I must have made a mistake somewhere because it didn’t work so I just gave up. I think I was around 10 or 11 at that point. That was the last time that I looked at programming until college.

Arsalan: Why did you pick it up in college?

Sarah: It was accidental. I went in as a structural engineering major. I thought I wanted to build bridges and things like that. I had a weird schedule because I was trying to take language classes and other things at the same time. So, I was looking for electives that would fit into my schedule. There was a programming elective that fit into my schedule so I took that. It was a class called Numerical Methods in Fortran. This was not a programming class that many of the students were taking because Fortran was an old programming language from the 1960s and we were already in the 1990s. It was about doing mathematical calculations, but I loved it. I found it amazing.

Sarah: So, I went and talked to the professor about it and he said, “Well, if you like Fortran than wait until you try a real programming language.” So I took another programming class in C and he was right. C was way more interesting than Fortran. From there I ended up switching my major and going into the computer side of things. I had this feeling that I wanted to build things which is why I went into structural engineering. But, computer programming gives me that same sense and more often. It was addictive.

Arsalan: Were you doing programs to solve real-world problems? Or were you just playing around with the API making Hello World type of programs?

Sarah: A lot of it was stuff that was not super useful to the real world. It was like a command line calculator. What kept me going was that I could see that this was something that was going to be useful in the future. I was going to be able to do things with this, but I had to struggle through the part that was kind of boring in order to get to the place where I could do something useful. I felt that I could make a difference with the world through programming in a much more concrete way. That’s what I liked about it. I motivated through what you can make with it.

Arsalan: It’s the creating something that doesn’t exist and that you are solving a problem. All creative people enjoy that. So, a painter is not necessarily someone who enjoys the brushstrokes, but rather creating the final product. That was the number 1 reason for me wanting to be a software developer. It was because I wanted to do something and make something.

Arsalan: So, you started coding, you got into college and started getting really serious with this. I’m assuming that you graduated with a computer science degree.

Sarah: That’s right; I ended up with the computer science degree.

Arsalan: After that, did you have any trouble getting a job?

Sarah: I came out of school in the late 90s when the.com boom was still going. It wasn’t as crazy as it had been, but it also hadn’t popped yet either. Most of my friends got jobs rather quickly. But I hadn’t been in the programming world so I didn’t know how to get a job in the industry. Most of the programmers that I knew had been programming for a long time, so they knew what to do, but I didn’t.

Sarah: I thought about staying in academia, but I realize that a lot of them didn’t realize how programming was made. They know how computers work and so that’s how I learned. They know the parts that make up the computer and what you can do with it in a general sense, but they really don’t know how a group of people build a specific piece of software. That’s just not what they do. So, I felt that was the biggest gap in my knowledge. It occurred to me that knowing how to build stuff in the group was one of the most important skills to understand in order to make something useful.

Sarah: I went with the biggest company that came to the career center, which turned out to be Microsoft. So I moved to Seattle. I stayed there for a couple of years and worked in Redmond. Most of what I discovered there was how I did not want to make it in the future. Ever since then I have worked at smaller companies. One of the things that I personally discovered was that the bigger the company you are at the more removed, you are from the front lines.

Sarah: The thing is the code you write or the product that you work on or the feature that you add, there’s no way to really trace that back to the company’s success. I found that unsatisfying because it felt like I was writing code, but throwing it into the void. People are using it, but I don’t know if it’s useful. I can’t tell how much my contribution is mattering to the company. At the time Microsoft was still burning products onto discs that needed to be shipped somewhere else. So, they practiced an extreme waterfall method of software development. I didn’t know any better because I had never worked anywhere else as a software developer. I think my time there was useful because it gave me a sense of what the spectrum was like, and were I wanted to be.

Arsalan: This is a problem that we deal with when we’re dealing with large companies or corporations. It’s that doing anything other than waterfall style programming becomes difficult and we need to get buy-in from the management who does not want to cede control.

Sarah: Any company that is at the level where management does not know everybody is going to have this kind of problem to some degree. When you get up to these higher levels, they really do have so many people that they tend to think of them as interchangeable cogs.

Arsalan: That’s a problem that large teams always have. Management likes to have control over product delivery and they think they have control. They think that big design up front is going to give them more control when just the opposite happens.

Sarah: It gives them the illusion of control without actually giving them the actual control.

Arsalan: So, let’s describe waterfall strategy because a lot of people out there may not know what that it is.

Sarah: Absolutely. When software was just getting started as a commercially viable product in the 60s and 70s, most of the stuff they were building was line operations. They were things like payroll systems and those kinds of things. They thought about software the same way that the thought about hardware, which was that you needed to specify up front everything that you needed the software to do. They would have a phase at the beginning of the product that did not involve the developers at all but rather involved those who were involved in the business aspect of it. They would imagine everything they wanted the software to do. They would negotiate what they wanted and what they could have. At no point is the technical staff involved in this yet. They often specify it down to very minute details. They do all this without ever seeing anything actually working. Once they’ve specified everything they think they want the software to do, then they give it to the software designers or architects who would design a software system that could do this thing. They would do all that without ever writing any code or touching any computer. Then, it would be turned over to the developers to implement that design.

Sarah: The reason they called this type of developing “waterfall” is because you can think of it as a kind of waterfall that goes down in a cascading series of pools. So it starts in the top pool which is product design, and then when it moves down to the next pool that software design, and then down to the next pool is software development. When it’s done there, it moves down to the next pool which is software testing. Over the years, they figured out that there were shortcomings with this model. The real shortcoming is that the feedback loops are very long. So, if they make a mistake somewhere in the 1st stage, it may not be obvious until they have working code. At that point, it’s very expensive to fix because they’ve gone through all of these other stages in the meantime.

Sarah: We don’t want a process that reduces mistakes, but rather is resilient to mistakes because we are going to make mistakes. So when we’re talking about the waterfall method we’re talking about creating software that may take only a day rather than a couple of years based on the methodology. When you’re using this method, you’re betting against human frailty and it’s never a good idea to bet against red human frailty because people are messy, inconsistent, and they make mistakes. We need to make sure that our software doesn’t assume an idealized perfect person because that is only going to lead to disappointment.

Arsalan: Software by nature evolves. The things that you can hold in your hand ‘do not evolve. Say for example you’re building a television that’s not going to evolve over time. Once it’s done, it’s done, and people usually understand that. The designs are usually simple. Since software is somewhere on the ether, people have this idea that software is constantly changeable. That’s one problem. The other problem is since they haven’t seen anything like it, they kind of take an existing one and change it a little. Another benefit is that you are not depending on someone doing a huge 200-page write-up that describes a thing; because there’s no way that we’ll ever be accurate.

Sarah: Exactly. Usually what happens when you have these documents is they make assumptions very early in the process and then they write the entire document based on those assumptions. For example, they might build this entire software system under the assumption that the users will be familiar with accounting software when in fact they find out that this needs to be designed for those who may be new users of accounting software. That means that they’ve just invalidated all that work and you end up wasting a lot of people’s time. It’s very frustrating.

Arsalan: I want to talk to you about some of the topics you’ve written about in the last few years. One of them is pair programming. Can you describe to the audience what pair programming is, what’s good about it, and what’s bad?

Sarah: Absolutely. Pair programming is something that sounds like it would never work. It is two people sitting in front of the same computer with two keyboards and two mice and both are working on the same piece of code. If you are used to programming by yourself, this might sound crazy. In reality, it’s like having a conversation and some code gets written incidentally, but you always have someone to talk to about all the decisions you’re making about code. So, when we implement a feature we make thousands of tiny decisions about things like where the code should go, how it should be implemented, which algorithm to use, which method in the standard library does what is needed, or does a new one need to be written. Each of those decisions gets looked at by two people at once. It’s almost like synchronist code review.

Sarah: In the worst case, this can be a very daunting, intimidating, negative experience because people are coming in without the entire context in which the code was written. They will make comments that will feel very personal.

Sarah: At best, it takes longer than if you’re pairing because the person has to acquire the context in order to review the code effectively. So, usually what happens is a couple of people may look at it very perfunctorily and either okay it or don’t okay it. As a result, a lot of code is never reviewed by more than one person. You may think that if you’re the only one who knows your code that you have job security.  While there is a certain level of truth to that, at least in the past, a lot of people are discovering now that having a piece of code that only one of your developers knows anything about is a huge risk for the business. If that person leaves, you have to spend a lot of time and effort figuring out what that code was doing. That’s less likely to be the case when more than one person has looked at that same piece of code.

Sarah: I look at pair programming as a way to reduce the risk of un-reviewed code and as a way to disseminate knowledge across teams and to intercross people in a way that is extremely effective. Having someone sit and pair with you is an amazing way to learn a new skill.

Sarah: Back in 2010, I had not done any front end at that time. I had done some table layouts and some HTML. My Javascript skills involved changing the code and seeing if it worked. That’s where I was. So, my front end development skills were very rudimentary at that time. I tried to look at CSS a couple of times back then, but I just didn’t get it. So, I started working at Pivotal and the first week I was there, I paired on some front end, CSS, and HTML stuff with someone who really knew what they were doing. By the end of the first two weeks that I was there, I went in and completely redesigned my entire personal home page. I redid all of it in CSS. I had tried to learn CSS for years, but I just couldn’t quite get it on my own. But, after two weeks of pairing I felt almost like an expert. Of course, there’s always a lot more to learn, though. It was an amazing way to learn stuff very quickly. That’s what I really liked about Pivotal. Being there meant that I was basically able to learn all the super powers of all the people around me. I absorbed all the things that they could do and they absorbed all the things that I could do. It leads to an extremely high functioning team.

Sarah: I would add that pair programming is a skill. It’s not something that you can just suddenly do and be good at it. There are a lot of ways to do it that will make it less effective than it should be. It’s difficult to imagine what it’s like to do it well without actually having a pair that knows what they’re doing and is skilled at specifically ‘pairing’ and who can ensure that both people benefit as much as possible from the experience.

Arsalan: There are a couple of questions that come to my mind for someone who’s trying to implement pair programming in their organization. They might have these questions as well. Do you pair two equally experienced people or should it be one senior and one junior? It seems to me that the senior-junior relationship would be very beneficial. Let’s say you have one person who’s really good at the front end stuff and someone else who’s really good at the back end stuff. If you pair the two together, hopefully you will learn from each other and gain a different perspective. Or, could it be that it doesn’t matter and you can just pair anyone?

Sarah: You do have to be thoughtful about it. I think that the benefits of a senior-junior pairing are more obvious than pairing people of equal experience. I often tell new developers to find a place where they will be pairing with more senior people. With that said, once you have a team that’s pair programming, it’s important to vary the relative skill levels of the people involved. Generally speaking, I switched pairs each day. So, I would work with one person one day and someone else the next. Depending on the size of the team, that means that I worked with three to five people in a week.

Sarah: That means that when I am paired with someone more junior than I am, instead of engaging the pairing skills, it also engages the teaching skills. I then have to think about how much I ‘drive’ or how much I am typing versus how much the other person is typing because often the best way for junior developers to learn how to do something is by doing it themselves. There’s a fine line between getting the work done and ensuring the person you’re pairing is learning.

Sarah: When I am paired with someone at my own experience level, it’s a completely different feeling of pairing. Many times we can go extremely fast, much faster than I would go on my own. I think that is the ideal case on a product team – to get everyone to that point, where a pair can produce more in one day than two individuals working separately on different things. That is fun because you can tell you’re going really fast and producing high quality code at the same time and finishing a lot of stuff. That is the promise of pair programming and it is what many people love about it.

Sarah: The teaching is very important, but you also need to make sure that your senior developers are not always teaching and that your junior developers are not always in the ‘learning’ role. If you have a situation where someone is always the ‘teacher’ and someone else is always the ‘learner’ that can lead to some very negative dynamics. It’s important for everyone to get a chance to pair with different experience levels and have the chance to be ‘teacher’ one time and ‘learner’ another by mixing things up.

Arsalan: That makes sense. I think I would personally emphasize quality over quantity. At some point you will produce more code than two individual developers by themselves. I think that the real benefit that you really get out of this system is the higher quality and fewer bugs. You can totally avoid sloppy mistakes because it’s hard for two people to make obvious mistakes.

Sarah: Exactly. There are two aspects to that. If I try to suggest something and I say it out loud, once I say it aloud I can already tell it’s a bad idea. The difference between talking about something and thinking about something involves a different set of neuropathways when you vocalize an idea than when you are just thinking about an idea. That means that when you vocalize something that seems like a great idea in your head, you may suddenly say to yourself “No, let’s not do that. That’s a bad idea.”

Sarah: The other part of it is like you said. If I am paired with someone who has complementary, but not overlapping, skills and experience, and I suggest something. They might say that it’s not a good idea because they tried it before themselves and this happened. So, we have the union of our experience to draw on. One of the reasons it gives us this speed is because we tend to Google fewer things. The union of our knowledge is much greater than our knowledge individually.

Arsalan: Yes, and generally one of the pair is going to know a trick, maybe even for Googling. I have done a lot of Googling in my time and I have gotten really good at Googling for very specific things. If you get used to searching for one thing over and over, you eventually get very good at going through the search results. There are very few downsides to pair programming, I think, except that you need two people. If you can only afford one person, you’re probably not going to do pair programming.

Sarah: Yes, and it also requires a certain amount of faith on the part of your product organization or your product person if they’re not a developer. That’s because you’re telling them that while you could be working on two different things at once, you’re only going to work on one thing at a time. They then have to trust that is going to give them a better outcome than if they had two people working on different things separately. It can be a hard sell for that reason, especially to folks who aren’t programmers. But, it’s good to talk about it in terms of the quality aspect of it. Short-cuts that you might take if you’re tired and it’s at the end of the day, you might not take when someone else is watching you. So, I think it’s a good way to supplement my own self-discipline when it comes to doing the right thing, whatever that may be.

Arsalan: Yes, sometimes that’s what you have to do, but when you’re working as a pair, chances are you will write better quality code that will do as advertised. So, time flies and it’s so much fun talking to you, but I do have a few more questions before we let you go.

Arsalan: I want to talk about conferences because you organize conferences and I know that you deal with a lot of people who want to present at conferences. My personal opinion is that if you are a new developer you should not think that you are unqualified to present at a conference. You may be plenty qualified for a very specific topic and there may be plenty of people who could benefit from your niche topic. Perhaps they are a few months or a few years behind you on experience. Do you agree with this statement?

Sarah: Yes, absolutely.

Arsalan: So, let’s talk about conference proposals. You wrote about why some conference proposals got accepted, how to put them together, and what some of the things that people are doing wrong. We don’t have time to go over all the details, but if you could give us a quick summary of how a new person, who perhaps has a couple of years’ experience, could put together a conference proposal that has a better chance of success.

Sarah: First, I’ll say that often the best teacher for a concept, for someone who’s new, is a person who has learned it recently. Many times there were conference talks that I’ve been to that were intended for beginners, but they were taught by someone who was so far removed from being a beginner that the speaker was unable to put themselves back into that mindset. So, they explained things to people who were new couldn’t follow.

Sarah: This is not just a problem that is limited to tech. You see this problem everywhere. So, I think that new developers are often in a great position to explain concepts or anything that they found confusing the first time they looked at it because there are likely to be a bunch of people who found it to be confusing in exactly the same way. I couldn’t do that because I no longer remember what it’s like to be new because you get used to things after a while. So, having someone who can make that context explicit because they’re closer to that place is really valuable.

Sarah: I think a lot of people struggle with having a topic to talk about. I find that coming up with a topic that will be interesting is often the hardest part. So, I tell new developers that if they had come to the conference last year, what talk would you have wanted to see? So, they can kind of go through the thought process and kind of think about what topics they might have been confused about last year. So, if you would have wanted to see that talk last year, I can guarantee you that there will be someone who would want to see it this year. In fact, there are probably more people who want to see it this year than last year. So idea generation is one aspect of it.

Sarah: The second aspect of it is thinking about how you put together an abstract, which is like a little paragraph on what your talk is going to be about. That’s usually what goes in the program of a conference because people will be looking at the program to decide which talks to attend. So, you need to see the topic that you’ll be talking about in the abstract’s paragraph.

Sarah: In a conference proposal there are also usually just a few lines that don’t get put into the program, but are just there for you to talk to the conference proposal reviewers about your talk. This is where you can give them extra information about your talk that you don’t have space for in the abstract because the abstract is usually quite small.

Sarah: So, the biggest tip that I think people often miss is that you want your reader, or the person attending the conference, to be able to understand what they’ll be able to do when they walk out of your talk that they couldn’t do when they walked in. So, write the title and the abstract in the point of view of what the attendee will gain from listening to your talk.

Sarah: lot of the conference proposals that I review will be written in terms of the speaker. So, they may say things like “In this talk I will present three different ways to find objects in Active Record.” To be perfectly honest, the people who are at these conferences don’t care about you as a speaker. What they care about is them. So, a much more effective way to say something like that would be “In this talk you will learn three different ways to find objects in Active Record which will allow you to ……” So, what you really need to do is be really explicit and say here’s what you can expect to do, here’s why you should come and why you should want to learn about this.

Sarah: A lot of people miss that because you’ll see things like “In this talk we’ll learn about Swift” and you’re thinking “Okay, but why would I want to learn about Swift? What am I going to get out of it?” So, this works on the reviewers also because they need to know why people would want to attend that talk. The reviewers are really trying to put together a program that will make people want to buy tickets, show up, or be excited about the sponsors, or whatever. So, they’re not trying to build a program around a certain area of topics, but rather a program that people will read about and be excited about seeing. I think that’s the secret right there. You’re writing for two different audiences: the reviewers and the attendees, but the same point of view works with both and the point of view is “what will an attendee be able to do if they see your talk that they can’t do right now?”

Arsalan: So, I think one way of looking at it would be to imagine yourself in the shoes of the audience and see what pain they’re having right now. So you need people to care about the topic because if nobody cares, then it’s probably not a good topic and you should think about something else.

Sarah: Right and I think that people will be more or less interested in the topic depending on how you talk about it as well. So, for example, who cares about Active Record? Well, maybe they don’t care because they don’t really understand what it means. So, if you’re like “Hey, have you ever wanted to be able to a query of 8 million rows in less than a quarter of a second? If so, you should learn about Active Record and how it makes its sequel statements.

Arsalan: Perhaps all of us should learn copywriting skills before we write proposals.

Sarah: Well, it certainly helps to improve them. I think as developers writing is not something that we often focus on when we’re in school. It’s different now because we’re having a lot of people coming into the industry who have been doing other things before. So, a lot of them do have great writing skills, but it’s not something that our schooling tends to focus on. I think that doing conference talks is a good way to work on that in addition to blog posts and so on.

Arsalan: So there’s the conference proposal, but there’s another thing, which is to establish yourself as someone who can deliver. You have to have some kind of profile that people can look at you and decide whether or not they think you can handle a task. How do you recommend that someone goes about that?

Sarah: So, it’s kind of like a chicken and an egg problem. You need to prove that you can do a conference talk, but in order to do that, you need to do a conference talk.

Arsalan: Or something else. Anything that shows that you can deliver, that you have the knowledge and the skills. You can’t really show that you have the speaking skills until you speak, but at least you can show that you have the knowledge. It’s hard to do it when you’re starting out.

Sarah: I would say that the main thing that was helpful for me and others as well is that I would first write a blog post about the topic that I wanted to do the talk on. You might think that people would no longer be interested in the talk because they can just go read the blog post, but that is actually never the case. Some people will never read a blog, but they’ll watch the heck out of a conference video and other people will never watch conference videos, but they will read anything. Just because your information is in one medium doesn’t mean you can’t put it into another one. If you can write a pretty coherent blog post, that’s a pretty good signal that you at least have some English composition skills and you can write an essay that holds together and construct a narrative and keep it going throughout the body of a blog post. That’s a good way to show that you can construct a narrative for a conference talk and keep it going the entire time that I’m doing the talk. So, having a blog post of the same topic is often very helpful.

Sarah: I also think it’s very helpful to have a video clip, even if it’s just a few minutes that you put up on YouTube or something, of you talking about something technical. It could even be the proposal topic. What that will do is let the reviewers know that you can put together an English sentence and say it aloud. So, having a video that covers three or four minutes on a topic and why you’re excited about it, even if it’s not scripted, the reviewers will see that as a benefit and it validates your ability to coherently put together and speak about your topic. Having the video and blog post on the same topic vastly reduces the risk that the reviewers will see when considering your proposal.

Arsalan: Absolutely. What do you think about sending the same proposal to several different conferences? For example, submitting a proposal to a conference that has a lesser bar and practicing there a couple of times before moving on to a larger conference. Or, is that frowned upon?

Sarah: I think that varies, but big conferences tend to have a different attendee base than smaller conferences. Part of the work that I do is that I am on the board of the nonprofit that runs RubyConf and RailsConf, which are the 2 largest Ruby conferences in the world. So, the people who go to those are much different than the ones who go to the more regional Ruby conferences like Burlington Ruby, which is located in Vermont and draws an average of around 100 people. A lot of the people who attend the larger conferences usually have a conference budget for work and they can go to one of these conferences per year and they usually pick one of these larger conferences like RubyConf, ClojureConf , or JSConf. So, they are very unlikely to have seen your talk before. If you have a video of you doing it’s, even if it’s just for a meet up from your hometown that can also be a great way to reduce the perceived risk on the part of the conference organizer in choosing your talk. I think it’s pretty expected that you would at least submit your talk proposal to a bunch of different conferences.

Sarah: It does pay to be persistent. When I was 1st starting out, I would put in around 10 different conference proposals and would get back maybe one acceptance. It’s almost like a numbers game. You’ve got to find a conference that will take a chance on you then you can build up this corpus and show that you can do this. Some of the best talks that we’ve had at both RubyConf and RailsConf have been new speakers. We took a chance on them because the content seemed really compelling, and the speakers seem to really know what they were doing.

Arsalan: Were they more junior level people or were they more seasoned?

Sarah: Most of our new speakers are more junior level people, but we do get some new speakers who are more senior level. Most of our new speakers are also new developers and we’ve gotten great feedback on a lot of those talks.

Arsalan: So, this is the advice from Sarah Mei. Go speak at conferences. Do pair programming. Put yourself out there and write blog posts. Don’t worry about getting people who are being critical, because they will be. Sometimes people may say hurtful things. That’s okay. They may point out that you’re making a grievous mistake, which you will and that’s okay. Through this experience, you will learn how to express yourself, promote yourself and building a brand for yourself, and build a brand for yourself. What do you think about that, Sarah?

Sarah: the way I think about conferences for me is I always thought about it as job security. Once I left Microsoft and was working at smaller companies, in theory, my job security went down because I was working at smaller companies and they may go out of business at any time or they may lose some funding or lay people off. So, once I had kids, I needed to make sure that I had a stable income. I didn’t want to go back to a large company.

Sarah: So, the way that I manufactured job security was by doing conference talks and blog posts and so on. I think that having a strong support network is important. Being able to log off and interact with your family and friends is also important. My goal was to be able to get a job quickly using the network of people that I have built up, and that has certainly happened for me. Having that security allows me to take more risks in my work life. If I needed freelance work to tide me over, I could get that tomorrow and that has been very powerful to me.

Arsalan: There is job security. In that sense and you will be to pick a path for yourself. In our field, there is no tenure like there is in other fields. But, you have the ability to work for any company for as long as you want to or move around if you want. You could work from home. You could do a contract. I don’t think in the history of humanity, there has ever been a career that has been so flexible, so fulfilling, so rewarding in terms of fulfilling your need for creativity while giving you lots of money.

Sarah: I think that there have been versions of that over the years. A lot of times when I think about what I do, it’s almost the modern equivalent of being a machinist because of their ability to find a job regardless of where they are living. Programming to me feels like the digital equivalent to machining because you are building machines to build other machines. It is a very in demand, flexible and well-paying job. You can definitely raise a family on it for sure.

Arsalan: It was such a pleasure having you here, Sarah, and talking to again. It’s so hard to stop. We are already well over our time, but it looks like we just have so much to talk about. Hopefully, we will have you back on again soon to talk about some of the other things that I had wanted to talk to you about.

Sarah: It was my pleasure.

Arsalan: Before we go, is there anything that you want to say to new developers to inspire them for 2016?

Sarah: I’m not sure if this is what you had in mind, but the important thing when you are working on a problem and you can’t seem to work it out is to think about what you can build with that. Once you work through the problem. It can be really difficult to keep your eye on the ball. It was for me. As an industry, we are learning so much from all these people who are coming in from different directions. So, I’m really excited to see what we’re going to build in the next 10 years.

Arsalan: So, how can people get in touch with you?

Sarah: Probably the most effective way to get in touch with me is on Twitter. My email tends to be something that’s difficult to keep up with, but I do manage to keep up with my Twitter: @sarahmei.

Arsalan: It was a pleasure talking to you once again and we’ll see you later.

 

Important Links

  • Microsoft
  • RailsBridge
  • RubyConf
  • RailsConf
  • BurlingtonRuby
  • ClojureConf
  • JSConf

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-episode24-sarah-mei-2.mp3

Episode 23: How to hire and build great teams

February 23, 2016 By arsalan Leave a Comment

http://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode23-panel-how-to-hire-and-build-great-team.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Android | RSS

How can we achieve diversity and excellence while hiring new employees and building great teams? Listen to this fantastic discussion with Jeff Johnson and Edward Stull. While we often talk about mentoring developers from the software developer’s perspective, we haven’t talked much about what it’s like from the hiring manager’s side of things. Have you ever wondered what the hiring process was really like behind the scenes? Learn the answers to many of your burning questions in episode 23. Arsalan Ahmed hosts a panel discussion with two of the tech industry’s finest, Jeff Johnson and Edward Stull concerning team building and the hiring process.

Happy Learning!

Arsalan: Today, on our discussion panel we have Jeff Johnson and Edward Stull. I’m really excited about this discussion panel because it’s going to be about building a team and doing the hiring, but from two different perspectives. Jeff is on an upward trajectory but is still fairly new to the industry. Jeff has the experience of being a startup CTO and hiring in that context, as well as being on the other side and being hired several times in the last few years. We also have Edward Stull who is a user experience expert but he has been in managerial positions. He has managed teams and hired a ton of people. So here we have two different perspectives, which is what the thought show is all about.

Arsalan: So, right off the bat, I want to ask both of your general impressions about building a team and hiring. Is that something you both enjoy?

Edward: I really enjoy hiring because it ends up setting the success of what your everyday life is going to be. If you have a good team, work can be a real joy. If you have problems with the team, then it can be like a bad relationship. The job of hiring folks is probably the most important task you can do. Teams are echo systems. So, you want people to be happy and like they are doing good work. But, the introduction of new people into that echo system can make that team either happier or less so.

Jeff: I totally agree. It is such a core piece. When you’re looking at developing a product, the team is almost the product in and of itself. The growth from line 0and the person to the point you reach as you tack on more team members and libraries become more of a comfortable, natural progression.

Arsalan: If you need to grow and build a team, how do you approach that task? Do you need to think about it, form a strategy, or do a mass hiring, or just get whoever you can get?

Edward: Having a strategy for your hiring process is definitely beneficial. At a larger company, people have requisition orders to staff folks. But, sometimes you just have an acute need. Knowing what you’re getting into with that hiring is not only good for you but also good for the person you’re hiring. Knowing what you’re getting into is definitely good practice.

Arsalan: In my experience what a lot of companies end up doing is saying they have the budget to hire two warm bodies. So that usually means they need to go out and push for resumes from recruitment companies or put job qualifications and requirements on job websites, to recruiters, or whatever. Then they get back a bunch of resumes, interview the candidates and choose the two people from the candidate pool. What you think, Jeff?

Jeff: I think that’s a big part of the perception in a bigger established environment where you’re working with these business constraints that say this is our budget. We want our team to be as good as it can and we want our team to be filled, and with the right people on it. If your manager can look at you as being beyond just a resource, and say, “Here’s how your career looks here and here’s a growth opportunity that you could have here if you chose to proceed with certain steps on your own.” I think it’s possible to define a good trajectory for a person even if on paper they are a resource.

Edward: I often use the term “trajectory” as well. This is especially true if you hire someone who’s young and they are within the first couple of jobs that they have ever had. You have to be especially careful with hiring younger folks because even as the hiring manager, you could really mess up their career because their perception of work and their boss affects their craft. So, that trajectory comment that Jeff was making is really important. Ultimately it is the person’s responsibility, but your contribution to that as a manager can be huge to folks.

Jeff: I think that it is a really good point that it can go wrong. I think it’s really a good company’s responsibility to acknowledge that they are going to fill a role, but know how they are going to develop the situation and what the expectation is of where it’s heading. I think that ties well with the fact that you really ought to have a hiring plan beyond “two bodies.”

Arsalan: I hope people are able to detect my sarcasm in my last expression. I think that using the word resources works because when you are building an invoice it’s easier to list out your needs in the form of a resource. You can’t throw money and people at a problem and expected to automatically solve itself. Applications and software have some science to and engineering to them. This is another thing that people like to use the term “engineer” when they hire developers, and it’s kind of disingenuous because we are not really engineers. Engineering is a disciplined set of activities that you do to engineer a product. It’s well known, well understood, and doesn’t change often. A developer has to use something that you can’t really point to. As a team, we sometimes feel like developers are interchangeable because they are not really adding anything valuable to the product. They’re just doing the mindless work.

Jeff: I definitely see where you’re coming from because you sometimes get these teams that end up taking on the role of a kind of spec execution programmer. Those are teams where it’s not an area where you get to use some of the creativeness that a lot of software developers got into the field to do. You’re not going to get the best out of that team, either, and I don’t think you’re going to see that kind of growth. A big requirement for that role is identifying how to mix that art and the engineering together to identify folks who have the kind of passion for pursuing that. That’s why it’s difficult to assess a software engineer by having them do a test or create a sample widget for a pass/fail grade. It’s not that simple because so much more goes into it.

Arsalan: It is hard to figure out how to create a team because you don’t really have a bullet list to follow. As an industry, we don’t really know how to filter people and find the right person. When you are a CTO for a startup, what was your product about?

Jeff: it was and still is a web application for scheduling and payment processing for leisure class studios like dance or yoga. It’s “Class Bug” if anyone of you out there is looking to start a yoga studio.

Arsalan: I hope you’re still a shareholder and still get a cut out of it.

Jeff: I’m still committing code just not to the degree of the 24 hours that the startup world can be sometimes. We are web-based, but there’s no way that you could put out a list and say which specific programming languages, and other skills you need. It’s not that easy.

Arsalan: So, my question to you, Jeff, was this. When you have to hire people because you have more work than you can handle, how do you list the qualifications, come up with a list, and how do you communicate the list of what those new people need to have? What are those qualifications? What comes to your mind, Jeff?

Jeff: I would say that for me, it’s easy to start with the tech stack. For me, the qualifications that stand out are the things that would make a great team working experience. They seem like fluff in a lot of cases, but they are core components that you do want to assess when you agree to meet someone.

  • The ability to schedule and manage their own work
  • The ability to manage a project from either side of it
  • The knowledge of understanding a system as a whole
  • Communication

Communication is really important. It’s not just about being able to read and write well. It’s also about being able to seek out others if you have a problem or question. It’s also being able to ask for help before that problem becomes a bigger issue.

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-episode23-panel-how-to-hire-and-build-great-team.mp3
  • Prev Page...
  • 1
  • …
  • 4
  • 5
  • 6
  • 7
  • 8
  • 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