• iTunes
  • Stitcher
  • facebook
  • twitter
  • Home
  • About
  • All Podcast Episodes
Mentoring Developers

Mentoring Developers

Helping software developers thrive

Archives for December 2015

Episode 15 – How Jeff Johnson went from being an apprentice to working for Microsoft

December 29, 2015 By arsalan Leave a Comment

https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode15-jeff-johnson.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Google Podcasts | Spotify | RSS | More

Meet Jeff Johnson, one of Microsoft’s finest. While Jeff agrees that you don’t necessarily need a degree to gain your footing as a software engineer, a bit of formal education can sometimes do wonders. An education, while important, is but one way to immerse yourself in the world of technology. There are so many other ways to engage in unique learning experiences as well. Many of these can be found online in your spare time like podcasts, conferences, blogs, and more. Join us for episode 15 and give a listen to Jeff’s words of wisdom as Arsalan quizzes him on the many aspects of engaging in software engineering.

Jeff’s Bio:

Jeff Johnson is a Seattle based engineer passionate about the craft and the end user. He has been a startup CTO, Program Manager, and most recently Software Engineer working on Microsoft Office Graphics. Originally from Ohio and earning a degree in Electrical and Computer Engineering at Illinois Tech in Chicago, Jeff has been working his way out west to enjoy the vibrant tech community and amazing landscapes.

You can find Jeff’s work on Github.

Episode Highlights and Show Notes:

Arsalan: I know Jeff from a long time ago and I mentored him and now he’s off to really good things.  Who is Jeff Johnson? Jeff, please describe yourself.

Jeff: I am a computer guy by day/night and hike guy by weekends. I’ve been passionate about engineering since childhood. Now, I’m able to do it professionally as a software engineer at Microsoft.

Arsalan: I know you have done different things at Microsoft. Please tell us a little about what you’ve done.

Jeff: I began as a program manager. Fresh out of college, I joined the charting team: Data Visualizations. We are responsible for visualizations throughout Office. Our platform runs in Word, Excel, and Powerpoint. It was a great experience. We would actually go to people’s houses and watch them use Excel. It was great having that kind of interaction.

Arsalan: You’ve been on both sides. You’ve been a manager and you’ve also been a hardcore developer. From my own experience working with you, I know that you are a top-notch developer. It’s very interesting that you are interested in managing because a lot of developers are not.

Jeff: It was something that I was interested in, but it was really hard to get away from engineering. I’ve had some startup experience and see myself doing something similar in the long-term. Whether as part of a large corporation or on my own, part of my interest is finding out what kind of problems people need solved, whether they know about it or not. I’m looking for ways to make their work or their lives better. It was very attractive to me.

Arsalan:  For someone thinking about going into programming, they might be unsure what it is going to be like. I think it would be helpful for them if you could walk through your first encounter in programming so that other people can get inspired by it.

Jeff: My first experience would have been in 5th or 6th grade and starting out in PHP. I was playing video games at the time. I wanted to make a website for our clan. I started out chugging through tutorials online, which at the time were pretty fragmented. It was hard to hold together some of those resources. I started with copying and pasting things and watched what just a few lines will do to stuff right on my computer. It was amazing to me having that kind of control and ability to make something work like that on my own.

Arsalan: The feeling of creativity is very exciting.

Jeff: One of the things that I love about programming is that you are building upon either what you have built or something that others have built. There are very little instances of throwing something away and starting something fresh. It’s more incremental progress. Everyday you’ve moved the needle a little more because maybe one day you started at zero, but the next day you started somewhere else. I think that’s one of the things that are truly unique about the field itself. It’s because you are building bigger and bigger progress.

Arsalan: A lot of people think that software development can be a vehicle for change in society. People talk about making a dent in the universe. They want to bring about changes and they think that is the way to do it.

Jeff: Computers are able to be duplicated because once you build it once; you can put it in so many places. Anyone can have influence on a local sphere, but with programming you can distribute it to so many people. That is world changing right there.

Arsalan: Did you study computer programming in some kind of formal environment?

Jeff: I studied electrical and computer engineering. We touched a bit on computer science. Computer engineering is kind of halfway between electrical and computer science. It was really cool because I got to pick and choose which computer science courses I wanted to take. I did have a good chunk of formal teaching, but previous to that I had done a lot of training on my own. That’s how I’m continuing to grow as a developer too. There are a lot of resources out there for programming. With the right kind of desire, you can test the waters a bit and I think it’s also easy to get that kind of desire out of the classroom as well.

Arsalan: How did the classes go? How did it go while getting the computer engineering degree? Now that you’ve worked in the industry for a few years, do you think it was worth it? If you hadn’t have done that, would you have been the same person or do you think that it made a difference?

Jeff: The experience was awesome. I remember one of my first days in my first computer science courses, which would’ve been Intro to Objective Programming. I was blown away that we were going to talk about this all day. It was the first time when I found it to be exciting. A good deal of it has shown useful since I’ve switched over to software engineering, especially the lower level stuff. Learning about how the computer functions and the assembly and things underneath that has helped. That’s particularly true since I’m working with C++. The most valuable piece was learning the engineering process.  I also think the grueling labs where you’re taking a problem, chunking it up and then going after it was a good take away from my undergrad. It’s also something that you get in a professional environment. You’re really focused and devoted to learning how to become an engineer and you have the resources around you to do that. So, I think it was very valuable. It was a good four years well spent.

Arsalan: If you were considering taking computer science or engineering as a major, but then you rethink your plan and you it to a minor instead. Do you think it’s important to become a software engineer to be immersed in computer science as a major in college, or do you think you can get away with it as a minor or maybe just take a couple of courses here and there on the side?

Jeff: I think if you want to be a programmer, regardless of which path you take, there’s always a way to do that. I think for someone who is passionate about computer programming, the most beneficial thing you can do is immerse yourself in it. Being able to buckle down and focus on that specific area has huge returns in skills, velocity, and how fast you can come out of that and perform in a real environment. Immersing yourself in it is the best way to hit the ground running.

Arsalan: It’s important to immerse yourself. It’s important to show some intent as well, but does it help you get your first job? Once you have your first job, you have a couple of years’ experience, and maybe your degree doesn’t matter as much as your experience at that point. Do you think the degree helped you get your first job?

Jeff:  Yes. I think that was a tremendous foot in the door. I think it came down to the filter of making the interview. I don’t think it was the premier hiring decision.  Having the degree is not enough, but having the degree in a relevant field allowed me to get past the first filter of candidates to reach the interview phase. It’s still possible to get your foot in the door without the degree, but I imagine it’s more challenging.

Arsalan: How did you get your first job as a software developer?

Jeff: I met Microsoft at the career fair in November 2012. I introduced myself to the recruiters and had some discussions with them. I was able to make some personal contacts with them and provided them with my information. From there it was a pretty quick process. I received my job offer that same day.

Arsalan: You applied for the program manager position. Did you have to go through technical or programming interviews as well?

Jeff: I did a mix. There were a few interviews where we discussed design, team, and how I do things. There were also one or two interviews where we discussed my technical background as well, but it was very light compared to some of the software engineering interviews that I had done in the past. But, they wanted to make sure I knew what I was talking about.

Arsalan: You mentioned you applied for this job through an academic job fair. That was probably organized through your university, correct?

Jeff: That is correct.

Arsalan: That’s another benefit of going to college.

Jeff: I benefited tremendously from our career center. I was able to have a good relationship with some important folks. One of them was and still is a mentor to me. That was a huge resource for me in learning how to pursue companies and opportunities directly that interested me. But, it was also nice to have a host of companies at the job fair at the school as well.

Arsalan: What are some of the challenges that you face day to day in your first Microsoft job? When I worked with you, you were an intern. You worked a couple of positions as an intern. Tell me about your challenges in those positions. Was keeping your skills one of them, or did you have more challenges keeping up with the corporate environment?

Jeff: It depends from area to area. Working professionally on a team was a bit of a challenge. Learning how to structure your questions and when to go get feedback, those soft skills that are learned on the job were more challenging to me than the technical piece. We spent a great part of a month just learning the technical part of the job, working on some pet projects. It was grooming us to be more comfortable with the job, language, and the tools. With that under our belts, it was really easy to get going on the actual work at hand.

Arsalan: I want to talk to you about the mentorship program there that I instituted there and we had the one month that we talked about. Every week there was a set of objectives that you needed to achieve some coding, some projects, and some readings. The goal was to give the apprentice or new developer a better handle on things. They’re not going to be experts, but they’re also not going to be overwhelmed or make some common mistakes. Do you think that was a good approach? There are two approaches to mentorship. The other one is to shadow a more senior employee and work on the same projects for a couple of months and learn by being around that person. Which do you think is better?

Jeff: For the purpose of getting started, I think a more structured approach was better because you really need to get your feet wet in a lot of areas. The bigger the project, the more errors there are. By getting your feet wet and knowing the very basics of where to look, what to ask, who to ask is a great approach to get going. In the longer term, having someone to shadow has tons of value for your career as well, but those discussions you’re not ready for right off the bat. You really need to get moving first to learn how to feel out the team and the culture more. There’s no better way to get moving than having that structured buildup.

Arsalan: That’s interesting. I think you’re suggesting a hybrid approach. Initially when people come in, let them have the structured classroom environment to learn certain skills and do certain projects. Then, having assigned mentors for once they graduate from that initial training. That way, you have someone assigned to you for questions if they come up so that you don’t make a mistake. That hybrid approach is brilliant.

Arsalan: Have you found anyone having struggles as a new developer? Perhaps not yourself, but do you know of other people who have struggled as new developers?

Jeff: Absolutely. I’ve had some struggles myself, but I’ve seen it as well to varying degrees in others.

Arsalan: Can you describe a couple of those?

Jeff: One individual was taking the task at hand and really getting himself bothered about his velocity and ability to solve the problems on his own. This was an internship setting where everyone has their own stuff to do. You can really see someone’s frustration when they struggle. It’s really visible. I didn’t know what to do at the time, although now I could be a little more helpful. I think what would’ve really helped him out would have been asking for help sooner rather than waiting until the deadline is slipping. It would’ve helped him by seeking help sooner and communicating that he was going to be behind on something and why. Not being able to communicate that is detrimental and a lot of junior developers face that.

Arsalan: I think what you’re saying is absolutely true, but I wonder if the person who is not coming out and asking for help is doing that due to a fear of being judged. There could be a lack of confidence because they don’t have the experience. There could also be this imposter syndrome where they don’t feel like they belong and they don’t want to be found out. There are a lot of fears and emotions going through a person. As an organization, it would be great if we could say that it’s okay to say that you don’t know how to do something or that you are stuck.

Arsalan: For someone who is thinking about software development as a career, but is a little intimidated, how would you rate software development as a career on a scale of 1 to 10?

Jeff: It’s got to be an 8 or a 9 to me. I only say that because there’s always room. There’s always something magical out there that I don’t know. The nature of the problems and keeping your mind engaged, coming into the office and solving unique problems pretty regularly is not something you get at a lot of desk jobs. It’s a desk job. I’m sitting at my computer, but my mind is flowing. It also provides a lot of flexibility too, I think. That is a differentiator in my mind. I want to keep my mind going. That’s something that software engineers really thrive on, I think.

Arsalan: If you could start over, now that you know something that you didn’t know, what would you do differently as a new developer?

Jeff: I would have spent more time on my tools, learning them, customizing them, and making them work for me. I have recently begun investing in my own scripts, or learning other peoples’ stuff and talking to other developers about their productivity. If you want to talk to a developer for eight hours, just talk to them about their text editor stuff. I’ve realized the time that I can save in a day by having efficient tools. I can also save on frustration as well by doing that and having the computer work for me. It pays off so much. That free time means that I’m getting something else done, working on another project, or maybe I’m going home. It’s a win-win. The tools and the more I put into learning them and improving them just dividends.

Arsalan: Do you think it’s important for new developers to promote themselves? Is it important to talk about what you have done in addition to doing good work? I’m asking because most developers are introverts and they don’t really like to socialize, but there is a growing movement for self-promotion and I want to know what your opinion is.

Jeff: Any work that you do, that you can have in the public and open to others to see, stumble upon, or use gives you some of that self-promotion. It also makes you a better engineer. Lead with your projects. Produce things and get them out there in front of people. That’s the best promotion you can have. It’s not just you saying that you know this great technology. It’s you proving it. It’s you putting it out there and helping out other people in the community. That’s a win-win.

Arsalan: That’s a good answer. I was wondering if there were other ways of promoting your work. You could do open source work and you could put your code up on GitHub. But, you could also do other things. You could write about it. Even if it’s proprietary and you can’t open source, you could perhaps write a blog post about it or maintain a regular blog. You could talk about what you’re working on as a way to promote yourself and your work. Or, you could give talks in user groups and conferences. Is that something that’s important that has value or is it too much work and not enough bang for the buck?

Jeff: Those are activities that I have in my head that I should do, but are not ones that I’ve approached. Some of that is the fear of not being ready to do that. From a consumer of a lot of that content, it’s always been worthwhile for me to be on the other end reading those blog articles. I can only imagine that it’s good for the presenter as well.

Arsalan: Do you think you’re not ready because you don’t have anything to share? Or, you’re not ready because you’re a little shy?

Jeff: I’d say it’s a bit of both. I think the shyness is definitely a factor. It’s tough to get in front of a room. It’s funny that it’s tough because the audience is there because they really want to hear what you have to say. They want you to do a good job and it can be tough to overcome that.  I do hope to be able to do that at some point, though.

Arsalan: Do you listen to podcasts?

Jeff: Not much lately. I have been listening to as much of This American Life as I can because I only read tech things. So I need to see something else out there, but I do plan on listening to this podcast. I’ll tell you this much.

Arsalan: That’s good to know. Everyone should be listening to Mentoring Developers. What about screencasts? Some people don’t like to go to conferences for various reasons, but they do like to watch recorded conference presentations.

Jeff: Absolutely. I learned and built an entire product just by watching Rails casts. Brian Bates does an amazing screencast. I think it’s a very consumable medium. The conference is a bit of a different experience. But, purely for consuming technical information, I love the screencasts.

Arsalan: What’s the best advice you can give to software shops that are looking to hire new developers?

Jeff: Be clear that you’re hiring them to teach them and to grow. Be focused on explicitly saying that you are there to help them become a better engineer and we know that we are going to be a better team and a better company because of it.

Arsalan: What’s your best advice for new and aspiring developers?

Jeff: Immerse yourself in the technology. Focus on the aspects that you’re passionate about…and you’ll find your way over there. Ask as many questions as you can reasonably get out. Try to find those resources that will be really valuable to you in the long run.

Arsalan: That’s an all-encompassing answer. Ask questions. Look for answers and don’t be afraid. You will succeed if you persevere. It’s been fun talking to you especially since I know you personally. It’s been really good to see your journey from intern to starting your own company and being a founder, and then going to Microsoft and doing program managing and software development. I think it’s amazing. People are really going to benefit from this interview.

Jeff: Thank you. I’ve really appreciated the opportunity to talk to you today. The mentoring that you’ve provided for me was really helpful in that journey and getting started and things like that.

Arsalan: Thank you. Before we go, are there any things that you’d like to promote and how our listeners can get in touch with you?

Jeff: I am working on a Rails gem right now to do a progressive loading. If that sounds interesting to you, check me out at johnsonjeff.com. It’s got a link to my GitHub and a few other things. Aspiring developers feel free to reach out to me and we can always talk tech. I’m always happy to point stuff out.

Important Links

  • [Progressive Load]
  • [OpenSource] 43:24
  • [GitHub] 43.29
  • [This American Life] 45:24
  • [Rails Casts] 45:59
  • [Hand Drawn Hero] 46:56
  • [Jeff Johnson’s Website] 52:57

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. 


https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode15-jeff-johnson.mp3

Episode 14 – Reuven Lerner on launching your software development career

December 22, 2015 By arsalan Leave a Comment

https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode14-reuven-lerner-part2.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Google Podcasts | Spotify | RSS | More

In episode 14 of Mentoring Developers, I conclude my discussion with Reuven Lerner about launching a career in software development. Learn about email “drip” campaigns and ways in which successful software engineers use them to increase their reach and, ultimately, revenues. You will also hear Reuven talk about writing techniques for blogs. Writing is a skill that every developer should develop and hone and it takes years of practice and the best time to start is right now.

Get advice from Reuven and Arsalan about starting and growing your career as a software engineer as well as hiring new developers.

Reuven Lerner’s Bio:

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

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

Reuven curates DailyTechVideo.com (offering a new conference talk about programming each day), and is a permanent panelist on the Freelancers Show, a weekly podcast for independent consultants. He also edits MandarinWeekly.com, a weekly collection of links and resources for anyone learning Chinese.
Reuven has a Bachelor’s degree in Computer Science and Engineering from MIT, and a PhD from the Learning Sciences program at Northwestern University, where he created and studied collaborative online learning communities as the developer of the Modeling Commons.

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

Episode Highlights and Show Notes:

Arsalan: A drip campaign is an email marketing campaign in the sense that you want to sell something to a group of people. It is like an email sequence that people will go through with the end goal of a sale once the sequence is complete. In your case, you’re probably selling them a membership into your larger mailing list, is that right?

Reuven: Right. Many people are familiar with an auto-responder where you sign up for an email list and you receive an email back. A “drip” campaign is sort of like a glorified longer term auto-responder. When you sign up for a drip campaign, you receive an email every day for “n” days until the drip campaign runs out. That is where an email course comes in. You can teach people things in these bite sized nuggets.

Reuven: My point is to get people onto my main email list so that they can then get information from me on a regular basis. If they hear from me on a regular basis, they will be more interested in buying my products. I also know that an overwhelming majority will not buy my products, and that’s okay. I want people to buy my products only if it is going to add value to them, but it is okay for me to talk to people in countries where they just can’t afford it, or students, or people who just simply want to interact and learn. I love that. I’m fine if I can make my living from the 10% to 20% of the people who buy my product and I’m happy with other people learning too.

Reuven: I’ve also started doing webinars every month and a half or so and that gets put on YouTube. All these things feed into my main list so that I can grow my following. This way when I want to sell something, I can even though I know that most people are not going to buy from me.

Arsalan: That’s a lot of information. First, you have to write the emails. You have to create a campaign. That means that you have to sign up for a service because you don’t want to be banned for spamming. Don’t use your own email account.

Reuven: I used to laugh at these companies that do email for you, but they provide a lot of value. You can do an amazing amount of stuff with automation using drip campaigns. You do have to sign up with them, which is right around $50 a month. You need a domain, the company, the material.

Arsalan: You need to write the material and produce a sequence, right?

Reuven: Yes.

Arsalan: So, let’s say there are six emails that will go out in a sequence. That’s copywriting and there’s some skill there. You need to have a compelling message at the end, like “join my mailing list.” Then, once they are on your mailing list, you have to write content for that. Then, you also have to give them some value in the weekly or monthly emails that you send that would compel them to open and read them.

Arsalan: You are paying monthly to this company called Drip, which is a fantastic company, I’m sure. But, there are other companies out there as well like AWeber and MailChimp that have a limited, but free version. Drip is very developer focused, so that is good. But, it is $50 for their basic plan. I’m unsure what the higher tiers are for. Yet, maybe if you are very successful, you pay more.

Reuven: You pay $100 per month if you have 5,000 subscribers or more.

Arsalan: Okay, so it’s still pretty low. You’re a consultant. You make a sizeable amount of money, or at least you should.

Reuven: Sometimes.

Arsalan: Your skills are in demand. People want to learn from you and others want to give you projects. I’m sure that you have the other problem of having to turn away people, which is a good problem to have during a certain stage in your career. Someone who is just starting out may have a few years of experience, but may not have a reputation. If they want to follow in your footsteps, they might run into some issues, like money and time. Time is valuable when you need to spend several hours per week setting these activities up. I don’t know how much time you spend on these activities. I would expect to spend around 10 hours or more every week without any clear and immediate return on investment.

Arsalan: The thing to remember, though, is that even if you do sell a lot of products, there’s no guarantee that you will make a lot of money or even replace your current income. You’ll be augmenting it. You’re thinking long term, retirement, and passive income. You’re thinking larger because you’ve already accomplished so much in the way that you are doing things now. For someone just starting out, they would love to be doing consulting at a good hourly rate, but it’s hard to sustain a consulting lifestyle over 40 years. That’s probably why we see more people moving into passive income and products. What do you think of consulting versus getting a job and having job security?

Reuven: I have no complaints or criticism of people who do that. I’m fortunate right now working with these big companies that schedule courses many months in advance. So, assuming that the course is not cancelled, I have a good sense of what my monthly income will be, but it still varies. If cancellations happen with one company, sometimes another company may take the newly vacant slots. In that way, it isn’t a total loss.

Reuven: There’s also factoring in that maybe someone doesn’t pay you, or they don’t pay you on time. Then, you have to deal with billing and accounting. I think it’s totally reasonable to have a good job with a big or small company, come home to be with your family and not be crazed with work all the time. I’ve been doing this for so long that this is the norm for me. In some ways it’s not a healthy norm because I’m constantly dealing with work stuff and work is constantly interrupting me, family, or whatever and I definitely sometimes need to push back

Reuven: My next goal is to be able to teach two to three weeks out of the month a year from now. The rest of the month I’d like to work on new eBooks, new content, new courses, new things that I can sell for that passive income. It’s an amazing feeling when you get an email from a payment provider saying that someone you don’t know has bought one of your products. The only thing that beats that is getting an email from them saying “wow, I love what you did.” That totally makes my month. I’d love to be there in another year where I am just doing lots of content and then it will all just build on itself

Reuven: You have to be willing to put in the time and that’s a hard thing to do. If you’re consulting 40 hours a week, it’s hard to find time to write. If you’re working a full time job and trying to break into consulting, it’s even harder, especially if you have a family. My solution has been a very poor one, which is just not to sleep very much. It’s not one that I recommend, but it’s one that has been a reality for me for a while now that I’m trying to break. This is a habit that’s not good for me or my family.

Arsalan: I find myself in a similar situation because I’m trying to run this podcast and I work as a full time consultant in a similar situation. I have to spend extra hours. The whole family has to sacrifice for this. Everyone has to pitch in. They’re taking care of themselves and not having me around as much. But, I bring this podcast to the people, which is a very important service that I’m providing. It is something that has been on my mind for many years. I really thought that someone would come up and talk about mentorship and diversity and all these other issues that I think are really relevant and important, but no one else is doing. So, I figured it was up to me to do it. But, if I have to do it, then I must do it consciously and make a commitment to do it. It’s just as important as my day job. That’s what you’re doing and you’re probably spending even more time than I’m spending on this podcast.

Arsalan: You have to be organized in order to do it if you have to do it for long term, like two years or more. You don’t want to just make $100 per month. That’s not enough. You want to make enough money so that if you did not want to teach or train people anymore, you could do that. That’s your goal, right?

Reuven: That’s right. I’ve been writing for a long time and it comes very easy to me. I think part of it is that I had to do a lot of writing when I was in school. I also wrote for the student newspaper when I was at MIT. So, for years, I have been writing on deadline. If I sat down and had to write something from scratch that I had never done before, it would take a long time. But, for the most part, the things that I am writing about have come to me from questions that I received in class that I try to further scope out or research. I already have a beginning and an end. So, I just have to fill in the middle.

Reuven: Everyone has their own style. My style is to go through it slowly and methodically, which is good for my readers, but it’s also good for me. That’s because it means that I’m sort of bootstrapping myself into things. In my free classes, I’ve even started using some of my webinars to test new material. So, I figure, if it’s good, then I can make it even better for my paid classes. I can spruce things up and see what works well and what doesn’t. It’s a matter of taking the content and improving it. The material on my blog is generally in its most refined form.

Arsalan: So far, we’ve talked about how you got interested in programming and what you’re doing right now. These are really valuable pieces of information, but we still didn’t get a picture of how you got started as a professional software engineer. Did you ever work as an employee?

Reuven: Yes, I did. When we were talking earlier about the different degrees, I mentioned that MIT has this five year Master’s program. After four years you get a Bachelor’s degree, and after five years you get a Master’s degree in Computer Science. Back when I was there, you had to be accepted into this fifth year Master’s degree program, which I was not. But, that acceptance or non-acceptance into the program comes two years after your first acceptance to the program. The first acceptance is just for a summer internship program working for a big company. So, a bunch of companies come to MIT and say they want the people who are going to be in this program, regardless of whether or not they are going to do a Master’s program in the end.

Reuven: I was fortunate enough to work for HP’s medical products group. This group was later spun off to Agilent, which was then sold to Philips. Now and then when I go to the Philips website, I will see one of the things that I was working on, just many generations later. For about two and a half years I worked for HP on hospital computer systems and I learned a lot. Then, a friend of mine from MIT called me. This is where personal connections come into play. How do people hire other people? A lot of it is through personal connections.

Reuven: A friend of mine was working at Time Warner. They needed a web guy. My friend recommended me. So, I moved from Boston to New York for about eight months to work at Time Warner, and then I moved to Israel. That was my three year period, plus the summers before that, working as a full time employee. It was valuable to see how companies work from the inside and how they’re structured and their management. That said, once I moved to Israel and began consulting, Time Warner agreed to be my first consulting client, which was very nice of them. I then learned a new way of doing work, and one that at this point, I don’t see myself going away from anytime soon. I sort of eased into the world of corporate work and the world of consulting work.

Arsalan: The rest is history, as they say.

Reuven: I am so fortunate that I have these courses lined up months in advance. Yes, I’m turning down work, although I’m really bad at doing that…, but I don’t like to disappoint people. I like working with new people and meeting smart, interesting people and doing projects. Five or ten years ago it was a different story for me. I was on the job boards looking for people who would hire me. I didn’t understand why they weren’t hiring me. Yet, there are a thousand and one reasons for that. Robert Williams has this thing called “Let’s Workshop.” “

Reuven: Let’s Workshop” is a service that sends you an email with leads that he has sifted through. He gives you like ten leads, but not all of them are going to apply to you. He also wrote an eBook about how to write email to potential clients. If someone is looking for a freelancer, how do you write to them? It is a brilliant short book. I read through this book and it dawned on me why no one was hiring me. What I had been doing was sending this ridiculously long and detailed email because I figured that’s what they wanted. But, Robert’s solution is to send them something short because they just want to save time and solve their problem. Everyone searches for work at some point and everyone has to learn how to do it better. If I had done it better, I’d be doing more development and less training even though I love doing the training.

Arsalan: I’ve read that book and have found it to be a mixed bag. I’ve heard great things and am happy he’s doing really well. But, I’ve found that the leads were perhaps skewed on one side. If you are a Word Press developer or a designer, you may have good luck with him. That’s a particular service and we don’t really want to talk about a particular service because there are certain types of leads he sends. Maybe the quality will go up or down, but we’re trying to get some timeless advice.

Arsalan: This is good to know because I hear a lot of people say they need a computer science degree to get into development. That’s a myth because you don’t need a degree to be a software engineer. But, if you have a degree, it will benefit you in other ways. It won’t matter for the first couple of jobs. It may matter in the long term, like in your example and how it helps you to do some higher order things.

Arsalan: Getting a job is not the only way to move your career forward. There are other avenues. You can create a presence for yourself. You can do consulting and contract work. You could do training if you get good in one aspect. You can produce content that others can consume. There are some ways to make some passive income. There are many different ways of making money and keeping your passion going. If you’re looking at how to contract or how to get a few contracts, then this course “Let’s Workshop” may provide some value, but there are other avenues as well. Do you agree that a new developer, who may not have expertise in any one thing, may have other options besides getting a job?

Reuven: For sure. The world is still desperate for developers. There is not enough talent to solve all the problems that people have. As time goes on, you would think that we’d be graduating people with more computer science degrees as developers. That way the supply and demand balance would have more supply. Yet, demand keeps outstripping supply. If you’re interested in working in the computer science field and you don’t have a computer science degree, you can get a job. It might take you longer because people might look askance at you or they might put you into the secondary pile, but you will be able to get a job. That job will lead to another job and it will continue on from there. You will meet people and they will recommend you. You will have ideas of your own and maybe start a new company or go into consulting. The world is your oyster.

Reuven: One of the most instructive things that happened to me was when I was at MIT. I was the Editor in Chief of the student newspaper there. There was a program called The Knight Fellowships where they brought science journalists to MIT to spend a year taking courses. The idea is that they would be better science journalists after spending a year taking courses with the undergrads. We somehow stumbled into getting a meeting with them. We asked them how they got into science journalism. None of them had studied science and none of them had studied journalism. I realized that what you study in college does not determine your career. The same is true with the computer industry. You can move around and it’s what you make of it. You may have to work harder without the degree, or compromise a bit more, but it’s still possible.

Arsalan: You don’t have to get a job in your location. If you live in a location where there are no tech jobs or the tech jobs only pay minimum wage, you don’t have to accept that. The internet makes this possible. You can work remotely or start a website. (28:05)

Arsalan: I want to talk about the majority of developers out there. My contention is that as long as you have an Internet connection, a quiet space, and the motivation, you can be a software engineer.  If you don’t find someone to hire you right away, you may need to be persistent. Don’t give up because you will eventually get recognized. The reason is because there are not enough people out there who are doing this. Some things you could try:

  • Creating a blog post
  • Commenting on stackoverflow
  • Following podcasts and commenting

These are just a few of the many things that you could do. I was wondering if it were possible for them to start a consulting company fresh out of college? Do you think that is a possibility, Reuven?

Reuven: People can do that, especially if you have some experience from high school or college. What might be hard is setting up the consulting company because it’s still a company. You don’t want to have to learn all the business things and the technology things at the same time. That might be a little hard. It’s not a bad idea to start a consulting company right out of college, but I think you should only do that if you have the technical chops already.

Arsalan: The advice is that if you want to start in software engineering and you have limited experience, try to gain more experience. If you want to create a startup, work somewhere that you can gain some of the business skills that you will need as well to increase your chances of success. We hear stories about teenagers starting companies that are successful, but those are rare.

Reuven: Yes, those are outliers. The only caveat that I would have with your example about business is you want to make sure that if you have a full time job, that you don’t also have a non-compete clause. Let’s say you work for a shoe e-commerce company and you decide you’re going to go off and start your own shoe e-commerce company they might come after you and sue you if you had signed a non-compete clause. It’s probably not likely, but it could happen.

Arsalan: That’s true. I forgot about the non-compete clauses. But, I think those things have a time limit like maybe a year or two, but you would have to go through your contract to see what it says.

Arsalan: You’ve worked for a few years with a few different companies, was it easy for you starting out for people to accept you and giving you responsibility?

Reuven: Do you mean in my consulting practice?

Arsalan: As a junior employee

Reuven: I think if I would’ve been a little less naïve and a little more aware of what was going on I would’ve realized how many times they were rolling their eyes at some of the things I was doing. I think my progress was enough to keep me going. I wasn’t a stellar employee, but I was good enough that they just kept telling me to keep doing what I was doing. But with big companies, there’s not the expectation that you’re going to move mountains, but that’s nice in some ways. You don’t want to be in a pressure cooker all the time.

Reuven: There were times when I goofed off because I didn’t really have a whole lot to do, which probably wasn’t a very good idea. But, then there were other times when it was crunch time and I would put in extra hours or come in on Sundays. I probably felt more at home when I worked at Time Warner because although it was a huge company, they treated us like a startup.  I liked that because I am a small company kind of guy. But, by the time I left Time Warner, there were 40 of us in my area and it was already starting to feel big. I got along well with everyone I worked with and am still on good terms with them.

Arsalan: I think it’s important to recognize that you were just starting out; you kept good relations and that helped you get your first contract. If you’re going to leave a job, don’t leave on bad terms.

Reuven: I totally agree. When I was leaving my first job at HP, I wasn’t sure how to tell my boss. So, I sat down with him, we talked about it and he understood. That’s just part of the corporate world. People come and go. That’s how corporations work. To some degree, people are like interchangeable parts. I left on very good terms. When I left Time Warner, I left on excellent terms. The US is a big country. Israel is a tiny country. I think we have like 8 million people living here. The computer industry is very small. Everyone knows everyone else to one degree or another, and if you are not nice to people, it will haunt you. Always be nice to people, even when you are not at work because people are always going to be hiring and you don’t know who is going to be talking to whom. You don’t want to be viewed as that one person who is going to be difficult to work with.

Arsalan: It’s a good principle to live by. You have to watch your language and ensure that you don’t send any nasty emails to anyone as you are leaving so that you can leave on good terms. In the US there is this other cultural problem as well. Maybe people are against you because of your background. As a senior or manager who is running a team, you have to understand that it is natural for people to have biases. If one person is biased against another, sometimes it is hard for there to be harmony. I think when you are a senior level, you have to open your hearts up a bit more and have empathy. If someone is doing something that doesn’t fit with our cultural ideas, we have to give them the space. When we are in a professional environment, we should leave our personal biases behind. When you are running a team, I think it is on us to ensure that too much authority over a bias does not come into play. What do you think?

Reuven: I am always perplexed that these sorts of biases exist. It is ridiculous. If you want your companies to succeed and your teams to succeed, you are going to want to hire the best people. The best are comprised of several different dimensions. One of those dimensions should not be what this person’s ethnic, cultural, sexual background is. Those are all secondary territories, if they enter into it at all.

Reuven: If someone is mistreating you at work, there is probably a human resources department. They are there to help you. If you are experiencing any biases, it is inexcusable and you should go and talk to your Human Resources department. The problem is what if you are at a tiny company or don’t have any other options available for work. It’s easy to say that in the computer industry you will have lots of work options, but it’s not necessarily true. You never want to be in a situation where you feel trapped and you can’t leave a job even though they are treating you terribly. I’m not suggesting you stay at a job where you are being mistreated, but maybe you need to speak up and bring the problem to someone’s attention.

Arsalan: If you could start over, would you do something differently?

Reuven: Maybe. When I worked at HP, they told us we were moving far away and I didn’t have a car at the time. They asked me what I was going to do and I said I was going to get a car. They said right. So, on one hand I guess if I were going to start over I could’ve said no, I’m living in Cambridge, Massachusetts. There are lots of startups here. I’ll just work for one of these startups. I would’ve been happy there and they would’ve been happy with me. But, at the same time, I’m glad that I had the experience that I had. Being a corporate pawn, I could’ve gone one way or another. But, other than that, I’m actually quite happy with how things have gone.

Arsalan: Do you listen to podcasts or listen to screencasts, or are there any blogs that you’d like to recommend?

Reuven: I listen to a ton of podcasts. There are a whole lot of programming and software engineering podcasts, and consulting podcasts. That’s one category that I listen to. I’m also obsessively interested in politics, so I listen to things like the political gabfest. I also listen to the podcast for the American presidential election. I also listen to the New Yorker podcast, the Economist. Then, there are also some fun ones. It’s not unusual if you see me walking down the street with earphones in my ear and I am laughing very loudly.

Arsalan: What’s your best advice for software shops?

Reuven: Communication. We need to communicate more clearly among ourselves and with our customers. Your customers are most interested in whom they can rely on, who can make their businesses better, and in most cases that means clear, upfront communication and reliability more than technical genius.

Arsalan: What’s your best advice for new and aspiring software developers?

Reuven: To realize that you will never know everything, but you have to keep trying. Learn how to learn well. Enjoy the learning. Find your niche so that you can learn things that are more appropriate and more interesting. At the same time, realize that there is no way that anyone can possibly learn everything that is necessary. So, you may just be winging it part of the time. That’s all of us, even those of us who may sound like we know what we are doing all the time. We’re winging it part of the time.

Arsalan: Tell us about some of the projects you are working on and where can people go to find out more about you?

Reuven: There is my newsletter, which you can subscribe to from my website at lerner.co.il. There’s also my blog: blog.lerner.co.il. I try to do a webinar every month or two and those are announced on both my blog and my newsletter. You can follow me on Twitter at @ReuvenMLerner. Those are the general ways that I communicate with people and I am always very happy to hear from people. You can also email me at Reuven.lerner.co.il and I’m very happy to respond to people, just remember that I’m terrible at responding on time to email. So, if I don’t respond to you right away, don’t take it personally, it’s not you.

Reuven: For my projects, my first eBook: “Practice Makes Python” is at practicemakespython.com. It’s a book of 50 Python exercises and assumes that you’ve already learned some Python and you are looking to strengthen your skill and gain some fluency. These are 50 exercises that I’ve used in my classes with large companies to try to help people improve fluency. The book will make you work hard and through working on the problems and reading the solutions you can hopefully gain some insight there.

Reuven: I’m working on a similar book now called “Practice Makes Regex” which I am probably going to open for sale to my mailing list sometime in the next two to three weeks. Then I will make it available for sale to the general public as well. I also have my Daily Tech Video site called dailytechvideo.com. I also have my mandarinweekly.com website for those of you learning Chinese. Learning Chinese is super cool and fun, and not nearly as hard as you might imagine. If you learn it, people think you’re brilliant. I’m also starting to do more coaching and working with technical trainers. I have a coaching program mentioned on my blog for those of you interested in doing technical training. I would be happy to talk to you about that. I’m also working on an eBook on how to do technical training. That will also be announced on my mailing list. I think that is it for now.

Important Links

  • http://lerner.co.il (home page)
  • http://blog.lerner.co.il (blog)
  • http://practicemakesregexp.com/
  • http://DailyTechVideo.com — a new high-quality conference video each day
  • http://MandarinWeekly.com — a summary of the best new links for people learning Chinese

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. 


https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode14-reuven-lerner-part2.mp3

Episode 13 – Why would someone get a PhD in Learning Sciences? Meet Dr. Reuven Lerner

December 15, 2015 By arsalan Leave a Comment

https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode13-reuven-lerner-part1.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Google Podcasts | Spotify | RSS | More

Have you ever wondered if anyone in the tech field ever got a Ph.D. and if so, what it was used for? Do you even need a Ph.D.? Do you need any formal education at all to get started? Episode 13 has you covered. Meet Reuven. He created one of the first 100 websites in the world just after graduating from MIT’s computer science dept. Later, he decided to further his education and went on to obtain a Ph.D. from Northwestern University. Reuven spends most of time training programmers. He works as a consultant for big corporations like Apple, AutoDesk, and Cisco.

We all know that a solid education is crucial to get a push up in life, but it is not always necessary for software development. In fact, few go further than a Bachelor’s or Master’s degree. If you’ve ever wondered what the future holds for a higher degree, this podcast is for you. Arsalan will explore the opportunities and reasons behind Reuven’s decision to do just that.

 

Reuven Lerner’s Bio:

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

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

Reuven curates DailyTechVideo.com (offering a new conference talk about programming each day), and is a permanent panelist on the Freelancers Show, a weekly podcast for independent consultants. He also edits MandarinWeekly.com, a weekly collection of links and resources for anyone learning Chinese.
Reuven has a Bachelor’s degree in Computer Science and Engineering from MIT, and a PhD from the Learning Sciences program at Northwestern University, where he created and studied collaborative online learning communities as the developer of the Modeling Commons.

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

 

Episode Highlights and Show Notes:

Reuven: From the time I was in high school I was really interested in programming. We had a computer at home and I would play around with programming, but nothing very serious. I was fortunate enough to go to MIT where I studied computer science. So, I have been doing software engineering for the last to 25 years. First, I worked for big companies like HP and Time Warner. Moved to Israel in 1995 and began consulting. Consulting business has morphed over time to include: Lennox system admin, helping people with configurations, and Pearl programming. From there I moved more and more into web stuff as the web became increasingly popular. That has shifted again over the last 2-3 years as I’ve moved away from doing more day to day developing work and moving more into doing technical training.

Reuven: I do some development work on my own and help people with development work here and there. Probably about 80% of my time is spent going to large companies: Cisco, VMware, EMC, SanDisk and training their developers to the technologies that I know best and like, which is most often Python, Postgres, GIT, and Ruby, with other things as well like Regular Expressions.

Arsalan: One of the favorite topics of any new developer, as you know, is Regular Expressions. They love it.

Reuven: The course that I teach in Regular Expressions basically came from my other programming courses. For years, I taught courses in Pearl, Ruby, and Python, and I would try to stick in about two hours of Regular Expressions. But because no one knew what I was talking about, I decided to make it its own course and give it two full days. It has been surprisingly successful. I really feel that giving it the time has been really worth the syntax and the effort.

Arsalan: I love Regular Expressions. I’ve been using them since I was in college. But, I can imagine many of the people listening to the podcast might be thinking what this Regular Expression thing is? Can you quickly describe in one line what it is and why we should care about it?

Reuven: Regular Expressions are a way to describe patterns of text. So, if you’re looking for all of the capitalized words in a document, all the words that contain the letter ‘x’ in a document. If you’re looking for a configuration file, name-value pairs that fit a certain pattern, you can describe those with regular Expressions. The good news is, once you get over the hump of the syntax, describing things in that way is really easy. Regular Expressions are really powerful. The bad news is that the learning curve is very steep, and once you write a Regular Expression, even the person who wrote it has a very difficult time understanding it and debugging it very often.

Arsalan: That is true, and so you need good debugging tools. You also need to be aware that implementations can be slightly different.

Reuven: Yes, first you tell people “here you need a backslash unless you’re using a different version, and then you don’t need a backslash.” That trips me up all the time. I’m a die-hard eMax user and I also use the Unix Shell for things. I use Regular Expressions for things in programming languages, and in eMax, and the Shell and I never remember which requires backslashes and which does not. I’ll just try it the way I want and if it doesn’t work, I will try it another way. It might not be the smartest approach, but it’s served me well for a number of years already.

Arsalan: One of the ways you could potentially overcome that would be to keep a cheat sheet, but then that’s work. What I do is I go to a website called Regular-Expressions.info.

Reuven: That’s a great site. It’s very dry, but it’s also very useful.

Arsalan: It’s very precise and it gives you implementations and that’s where I learn a lot of the advanced features. With Regular Expressions, you could teach a class on it or a college course on it if you wanted to.

Reuven: Just last week when I was teaching a Python class, I had mentioned that I am writing a book now on Regular Expressions because of the advanced features.

Arsalan: You went to school and got your Ph.D. degree. Did you get a Master’s degree?

Reuven: No, actually I did not get my Master’s degree. One of the weird perks. I got my Bachelor’s at MIT, but I did not get into the Master’s program. Luckily, I worked for the student newspaper where we put up one of the first websites in the world, so that sort of jumpstarted my career. Then when I went my Ph.D. at Northwestern, the program was unusual. The way it worked was, if you fail out, then you get the Master’s, but if you finish, then you get the Ph.D. without the Master’s.

Arsalan: So, if you get the Ph.D., then you don’t need to worry about the Master’s. Some schools will give you a Master’s degree anyway as you’re working towards a Ph.D. In my mind I am thinking that maybe they don’t want you to get the Master’s because they want you to finish and get the Ph.D. That may be because you would have tons of incentive to drop out and get a job in Silicon Valley and make a lot of money, but they want you to stick with it.

Reuven: Back when I was at MIT in my computer sciences program, it wasn’t called Computer Science. It was called Learning Science. It was computer science and cognitive science and design for educational purposes. Anyone not going into academic research was an outlier. My advisor came to me and asked if I was going into academia, and I said no. This was a bit unusual and a shock to the system. The assumption is that you will go into academia. One of my friends said that going into academia is your ‘card of entry’. The only way to even apply to a job is to have a Ph.D.

Arsalan: That is true. I have a wife who just got her Ph.D. a few years ago and she started teaching as a professor. So, I’ve been through her process of getting a Ph.D. and all that wonderful stuff that goes with it. I know that it’s hard for someone that is obviously smart and motivated to get a Ph.D., but then have very limited options. I think that in computer science, also, it limits your options. If you have a Ph.D. degree and you want to be a junior developer, it’s kind of hard to do.

Reuven: Right. I don’t think that would really happen. If someone with a Ph.D. were to be hired, I don’t think they would be hired as a junior developer. They’d probably get another title like data scientist, which is morphed enough to be junior, senior, or whatever. Someone who has a Ph.D. has typically gotten enough data analysis in the sciences, especially the social sciences that he can slide by into a data scientist role and learn what you need along the way.

Arsalan: The shortest path of success is the obvious, but there are a limited number of professor positions.

Reuven: I have incredible respect for the people who are willing to go the academic career path. I just can’t imagine doing that to myself. It’s so difficult. One of my office mates, who are a professor at Stanford, was saying that he felt the Ph.D. program was hard. But, that was nothing compared to what it’s like to be a professor, the whole tenure race, trying to get funding, and funding with funding being limited now these days. But, if you can make it through and get a tenure position, then it’s a huge amount of freedom. You get to ask whatever questions you want and try to answer them, which is a tremendous thing for a curious, smart person.

Arsalan: Absolutely. It’s the freedom to do what you want, pursue the direction that you want. Obviously, you can’t do whatever you want because you have to show results. No one is going to pay you for that. Even computer science professors don’t make a lot of money.

Reuven: Right. At the same time, a lot of it is grant based. But, if you’re willing to give up the grants, then you can have whatever freedom you want. In some ways people were asking me why I am not going into academia. As I’ve said, I just don’t see myself doing that and I’m not such a good researcher. I feel like, in my current career with the consulting, training, and doing all these other projects on the side, I’ve got roughly the same amount of freedom, if not more. That’s without having to deal with the craziness, politics, and bureaucracy of the university. So, I feel like I’ve won.

Arsalan: There are a lot of people out there who don’t even have a Bachelor’s degree in anything. Or, they may have a Bachelor’s degree in some other field. Or, they may have started a computer science or engineering degree, and they are wondering if it is even worth it. Do you think it’s worth it?

Reuven: Almost certainly, yes, but let me back up by saying there are plenty of people in the computer industry who don’t have even Bachelor’s degrees, or they have Bachelor’s degrees in other subjects. So, the question is whether you can succeed in the computer industry without a Bachelor’s in computer science. The answer is ‘yes!’ You can. So, why do I think it would be important for people to get a degree in computer science, or at least get the equivalent of that degree? It will help you with your thinking. It will help you to put things in order. It will help you to understand what the data structures are, what the theoretical possibilities are, and how things work together. It will shorten the learning curve. You can learn a lot of this stuff on your own. But, my experience has been that a lot of people who haven’t are then missing out on the underlying theory and aren’t able to connect the dots so well.

Arsalan: What was your motivation for getting the Ph.D. because by the time you get the Ph.D. you have the knowledge. You went to MIT. You have the background. Why Ph.D.?

Reuven: A Ph.D. and a Bachelor’s are very different. In a Bachelor’s you are taking coursework to learn the fundamentals of the discipline. What are the basics? How does it work? How do the dots connect? So, you are learning basic data structures, basic programming languages, how the language work, how does an operating system work. With a Ph.D. you are going to be the world’s expert in some very small thing. You’re going to ask a specific question and you’re going to try to answer that question which will then build on what you learned in your Bachelor’s, but will use lots of other things as well.

Reuven: I decide to do a Ph.D because I was getting bored with my consulting work. I was getting frustrated because my clients had these projects that were dragging along forever. They were getting frustrated. I also felt that I wasn’t making any advances in my career. I spoke to a professor friend of mine and he suggested doing a Ph.D. because it will open your mind to lots of new ideas. You’ll meet new people and you’ll think in new ways. Then, you can continue with what you’re doing. He was right.

Reuven: I did the degree in learning sciences as opposed to a computer science program, which gave me the tools to understand how people learn and how to make my lessons more effective, how to create better student material. It even allowed me to explore new business ideas. All that comes from the Ph.D. Now, I am writing a book for people who want to do technical training successfully. About a third of that was drawn from my Ph.D. in Learning Sciences program. Could I have learned this on my own? Yes, but I feel I was steeped into this for many years with people who talk about it all the time and who use a certain vocabulary.

Arsalan: When you are committed to a thing, you need to show your commitment in whatever way possible. In your case, because of your degrees, the Ph.D. degree gives you the environment, tools, people, and resources so that you can invest a few years. How many years did it take for you?

Reuven: Eleven years.

Arsalan: Hopefully it doesn’t take you 11 years. Hopefully it only takes you four or five years. That’s 11 years that you are going to dedicate to a thing, but you’re not going to do that unless you are in a structured program. For Reuven’s case, it was a Ph.D. For someone else it might be a Bachelor’s. For someone else it may be a different program, but being in a structured environment definitely helps. Not all of us can do a Ph.D., but we can all take a lesson out of that and apply it to our lives.

Reuven: To summarize it to some degree, I feel fortunate that I was able to spend this time thinking about certain problems. I see my role now as translating some of this research and ideas to the general public who can benefit from it without enduring the same lengthy process that I went through.

Arsalan: That’s what gives you the confidence and authority to write the books that you’re doing and expand your training. I heard from your own podcast that you are taking charge of your teaching. Is it true that you have your own training company?

Reuven: Yes. I have my own consulting company and we mostly do training.

Arsalan: If you take a step back and just think about all the crazy things that we do and we just expect them to be there. Just having the ability to talk to you today over Skype is incredible. Twenty years ago this would have been an incredible idea.

Reuven: I remember it. It was about 20 years ago and there was an Israeli company called VocalTec. When I was working at Time Warner, they came to demo to us that you could have all your audio over the internet. We were all waiting with baited breath to hear how all this would work. It was kind of surprising that it worked at all. My boss at the time said that it sounded like AM radio in the bathroom, but things have really progressed since then. Now, I can be anywhere in the world and I can call people on Skype and to us it’s more or less like any regular phone call and with video. The only way that the programmers who develop it can develop it is to focus on their thing and keep the rest as an abstraction. If the people who are doing the video representations have to worry about how the network is going to carry the data, they’re not going to ever be able to get their jobs done.

Arsalan: Absolutely. You can’t think about the whole program. If you are overwhelmed, that is fine. There is no one working in technology who is not overwhelmed about something.

Arsalan: Does that affect you or your performance? Does it distract you a little when you need to get something accomplished and you feel like you really need to learn this other thing that came out? How do you balance learning new information from your client work?

Reuven: Poorly. When I’m doing development, I often tell my clients that my goal is to come to them knowing between two-thirds to three-quarters of what I need to know. If it’s a good project, I will have to do some homework, investigate it, understand it, and write it up in order to be able to answer their questions. That happens to me when I’m doing training as well. If someone asks me a question while I’m in class, I might have to say that I have no idea and that now I have homework to do. Then, I will try to come back the next day or two days later with an answer.

 

Important Links

  • http://lerner.co.il (home page)
  • http://blog.lerner.co.il (blog)
  • http://DailyTechVideo.com — a new high-quality conference video each day
  • http://MandarinWeekly.com — a summary of the best new links for people learning Chinese

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. 


https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode13-reuven-lerner-part1.mp3

Episode 12 – Tracy Lee

December 8, 2015 By arsalan Leave a Comment

https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode12-tracy-lee.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | Google Podcasts | Spotify | RSS | More

Is it possible to jump into software development without any formal education or prior coding experience? Find out in Episode 12. Meet Tracy Lee. Tracy has a background in sales, marketing, and entrepreneurship. About a year and a half ago Tracy Lee decided to try her hand at coding. More specifically, she wanted to learn all about the Javascript Framework known as Ember. Join us and find out how she’s doing and how she got involved in software development.

Tracy’s Bio:

Tracy’s passion for JavaScript began with the love of a Tomster, the emberJS mascot. She loves the ember framework, the concept of convention over configuration, and the easy to use ember-cli. Tracy loves exploring new technologies, frameworks, libraries, and open source projects such as Angular, React, Node, and learning ES2015 syntax.

Tracy organizes Modern Web UI on her free time, is a speaker, advisor, author, and serial entrepreneur and serves as Founder & CEO at Wingman. She is also the CEO of Dishcrawl and has helped scale the company into 250 cities with over 180 people across the world.

Tracy has helped build 7+ companies in the past 12 years and has a marketing background from SJSU. Tracy is well versed in building companies from the ground up, social media marketing, and growth hacking for companies at various stages.

Please say hi to Tracy on Twitter.

Episode Highlights and Show Notes:

Tracy: I started out with an interest in Tomster, the mascot for Ember. I collected the various Tomsters from other Ember communities and traded them with others within the Ember community. This helped initiate further interest in Ember, which prompted the desire to learn the Ember framework.  I find the challenges associated with learning javascript to be fun and gratifying.

Tracy: I enjoy building and taking part in communities. In fact, I recently joined the Board of Hacker Dojo, a local hacker space in Mountain View. I’ve organized modern web UI, which is a meet up focused on exploring next-gen standards, frameworks, tools, and techniques. I have also been involved with other entrepreneurs and investors. I recently started a website called Mentor Hacked.

Tracy: I like to watch Ember videos online while working out at the gym. I find Ember easy to learn. I like it for its convention over configuration manner and because with the CLI you really don’t have to think about it.

Tracy: I did not study computer programming at all in a formal environment. I just took two classes and solicited the help of others. I have been a serial entrepreneur for the past 12 yrs. I have been in the tech industry working with tech startups for 8 yrs.

Arsalan: The key is to never be afraid to ask for help. But, at the same time, remember that everyone’s time is valuable. So, don’t take it too personally if you don’t get the right answer right away, or you are asked to look it up, read the documents, or to go ask someone else like on Stackoverflow. While it may or may not be the first person you encounter, there is always someone who is happy to help you.

Tracy: There are things that new developers can do right away and be helpful to people so that others are more willing to return the favor. You could work with open source documentation, fix pieces that are missing, edit an HBS file. Even simple tasks and corrections can be very helpful within the community.

Arsalan: One source is GitHub’s Pull Requests, that offers a mentorship for new developers. If you come across a document that looks like it might need an edit, you can do the edit and submit it as a pull request form. Then, if it is incorrect, they will let you know and will not accept it. If you continue doing things like this you will end up with a lot of contributions.

Arsalan: With everything that you have going on, where is the time to contribute and what is the motivation?

Tracy: Software development is exciting and comparable to playing a  game if you like building things. Learning coding was initially only intended to be a short-term project, but the more I got into it, the more eye-opening and enjoyable it became. Learning how to code has also enabled me to enhance my business skills and to be able to have a better working relationship with developers.

Arsalan: Developers need to be left to do their jobs with uninterrupted time. Fewer distractions can mean more concentration, which leads to improved production.

Arsalan: You do not have a job as a software developer, nor do you plan to get a job as a developer. Yet, you are putting in all of this time to learn and develop your coding skills. What is the end game? What do you get out of software development?

Tracy: I get to be empowered. I no longer have to wait for someone else to develop something for me if it is something that I can do myself. It also helps me in business as well.

Tracy: From a business perspective, I have learned how to view the hiring of new developers as well. Instead of choosing a developer based on personality, you can go to GetHub and see some of their code, you can ask about their skills, or etc. Having the ability to view a new developer’s code is more interesting and beneficial than just hiring someone that you know little to nothing about.

Arsalan: As a new developer, if you have the ability to create your own projects or work on other projects so that you can show proof of your skills that is always a good idea. Not all developers can do this, though. Sometimes they have done some work, but their work is not open source. Most development happens behind closed doors and you can’t legally share the code. While nights and weekends are a possibility for some, it may not be for others due to other obligations. So, what happens to them?

Tracy: If you keep files on how you do something such as a way you set up a document or a CD pipeline, and you can talk about it intelligently, then that might be a really smart way to go about it. Hiring developers can also depend on how well they can take feedback as well.

Arsalan: Big silicon valley companies often have a very high bar for new developers, but there is life outside of Silicon valley. Once you have proven yourself, it becomes easier to move on to other positions. Silicon valley can be a tough place to get your start as a new developer unless you have bragging rights to something. But, you can go somewhere else where you can gain the experience you need. Then, you can go to Silicon valley if needed.

Tracy: One of the mistakes people in Silicon valley sometimes make is only hiring from that specific talent pool. There are talented people all over the country.

Tracy: It’s common for everyone to think that they aren’t good enough at something at one point or another. You have to be okay with learning new things and being a beginner all over again.

Tracy: If you can get a formal mentorship, that is great. But, if not, then getting someone within the community that you can learn from is just as important.

Important Links

  • GitHub
  • Stack Overflow
  • Hacker Dojo

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. 


https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode12-tracy-lee.mp3
Subscribe To Mentoring Developers Podcast
Subscribe via Stitcher

We Be Tweeterin’

What do employees actually want from their employers? For the best advice, check out a short video on how to keep your employees motivated? The link is down below👇 youtu.be/XftmqjoKejE pic.twitter.com/1LgOxyJEfX

About 2 days ago from Mentoring Developers's Twitter · reply · retweet · favorite

Have you ever thought about joining a software development community? Not sure? Click on the link below👇 youtu.be/L7r1q72Lti0 pic.twitter.com/xRB6K5DmaH

Last week from Mentoring Developers's Twitter · reply · retweet · favorite

What skills combination can make you a valuable employee as a budding software developer? David breaks it down for us in this short video. Click on the link below👇 youtu.be/LDngNkn2Lqo

About 2 weeks ago from Mentoring Developers's Twitter · reply · retweet · favorite

Do you know what are API and AJAX? David Ihnen breaks it down for us in a short video. Click on the link below👇 youtu.be/pcjeONtzMD8 pic.twitter.com/6tXPfTTohl

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

Are you worried about your software development career? Apprentices Kasey and Divya talk to Arsalan about their software development career and give advice to new software developers. Click the link below youtube.com/watch?v=D7wEgF…

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

Follow @mentoringdevs

Search

Copyright © 2022 · Mentoring Developers