#71: Soft Skills: The software developer's life manual Transcript
00:00 Writing good, clean code and having a deep working knowledge of Python is critical to your success as a Python developer.
00:05 But if you look at all those who have truly excelled in their career, it's often because they bring something in addition to just coding skills.
00:12 We all want to be the most successful and satisfied versions of ourselves, but that's much easier said than done.
00:19 That's why I'm excited to introduce you to John Sonmez.
00:21 He's had a brilliant career as a software developer, and he wrote a book to help all of us do the same.
00:26 It's called Soft Skills, the software developer's life manual, and it's packed full of concrete, practical steps that you can take to stand out in the tech industry.
00:35 This is Talk Python to Me, episode 71, recorded August 10th, 2016.
00:53 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities.
01:11 This is your host, Michael Kennedy. Follow me on Twitter, where I'm @mkennedy.
01:16 Keep up with the show and listen to past episodes at talkpython.fm, and follow the show on Twitter via at talkpython.
01:22 This episode is brought to you by Hired and SnapCI.
01:26 Thank them for supporting the show on Twitter via at hired underscore HQ and at snap underscore CI.
01:32 Hey, everyone. Thanks for listening to this episode.
01:36 I have a quick Kickstarter update before we get to the interview with John.
01:39 Many of you asked about this crazy student reward that I said we're going to reveal and talk about when we get far enough along in the Kickstarter.
01:46 Well, it's time to reveal the crazy student reward.
01:50 So the entire premise of my Kickstarter course is to help you guys successfully build and launch new online businesses,
01:57 either as a side business or completely as a full-time endeavor.
02:01 So here's the crazy goal.
02:03 If we reach $40,000 for the Kickstarter, and we're not that far away, we will fund at least one business that has successfully launched within six months of the course going live.
02:13 We'll pick a student and we'll give them $1,000 cash to help them promote and launch their business.
02:19 If we make it a little bit farther to $50,000, we'll do this for three students.
02:24 We hope that you guys who are back in the Kickstarter love this reward.
02:27 It's not a million dollars of VC money, but hey, if you can get two extra weeks to stop consulting
02:32 and just focus on launching your business and get it out there and be successful, we'd love to be part of that.
02:37 So if you want to check out the Kickstarter, people seem to really like what we're building there.
02:41 It's at talkpython.fm/launch.
02:44 Now let's talk to John about software careers.
02:46 Hey, John, welcome to the show.
02:50 Thanks. I'm glad to be here.
02:51 Yeah, I'm really glad to have you here.
02:53 I'm a big fan of your work and I've recommended people check out your books and some of your videos when they've asked for career advice.
03:00 But after recommending your work a bunch of times, I'm like, you know, why don't I just have John on the show and we can, you know, really dive into it.
03:09 And my goal, my hope is that a lot of the listeners out there, we can help them boost their career, get that job they're looking for, something like that.
03:18 Yeah, that sounds like a plan. Let's do it.
03:20 Awesome. All right. So before we get into what you have in your book and some of the other stuff you have going on to achieve that goal, let's just start at the beginning.
03:28 What's your story? How did you get into programming?
03:29 Ah, gosh, let's see. How did I get into programming?
03:32 I think, you know, probably way back when I was a kid, I think, you know, the first thing that I remember that really got me inspired to program was going into a, like a survey course in maybe like junior high school or elementary school where we had some Apple IIEs.
03:49 And this is the first time I saw one of those computers and we're learning the basics of programming and basic.
03:55 And I remember having this floppy disk with me and I was like, I was just so fascinated by this idea that you could actually program a computer.
04:02 I mean, I didn't even really know much about computers at that point, but it just, it just seems so intriguing to me.
04:07 So I remember having this disk where I had all these little silly programs that I wrote and, you know, I started to have these aspirations of,
04:14 of building games, of building, building something with it.
04:17 I think I didn't really have an opportunity, you know, not, not too many people have an Apple IIe.
04:23 So I didn't really have an opportunity to do much with that until a few years later when, you know, home PCs were becoming more, more of a thing.
04:31 And I remember finding, you know, getting, getting a home PC.
04:35 And the first thing kind of that I did when my dad brought home the home PC was I found QBasic on there.
04:42 And I started playing around with that.
04:45 No, that's awesome.
04:46 You started out with this exploratory experience with basic and QBasic, you know, and how did you go from that into, I want to make this my career.
04:58 This is super interesting and actually getting into programming for real.
05:01 Yeah.
05:02 So I think from there, you know, once I had gotten a home computer, I was just, I just hooked.
05:06 I was, I wasn't programming at that point, but I was, I loved computer games.
05:11 I had been, you know, playing Atari, Nintendo, all that stuff.
05:15 And here was this, this computer that even more powerful, I remember playing, you know, Sierra online or Sierra games and all that.
05:23 And I liked the idea of, of creating my own game.
05:27 And that's, that's kind of something that I think really drove me.
05:31 I remember spending a lot of time online playing a mud, these multi-user dungeons, kind of the precursor to the EverQuest and the WoW, where it's just a text-based game.
05:42 Those were great.
05:43 Which ones, which ones did you play?
05:45 Do you recall?
05:45 Oh gosh.
05:46 Like, well, there was, I remember playing just through Telnet, right?
05:50 Oh yeah.
05:50 I had this dial-up BBS, right?
05:52 And it actually had internet access.
05:55 So you dial up to the BBS and then you could actually get Telnet access from the BBS system.
06:01 And, and then I would find mud listings and I'd Telnet into Deku muds and all the different variations.
06:08 I can't even remember.
06:09 I didn't like LP muds that much.
06:11 Yeah, that's cool.
06:11 I remember my friends and I played this one called Shadow's Edge.
06:14 I think it was pretty, pretty popular.
06:16 I, those, those were really interesting days.
06:19 Those were the days when William Gibson was talking about cyberspace and the world seemed like, even though it's so bizarre, it was so basic and text-based.
06:28 And yet it seemed almost like there was more possible.
06:30 Exactly.
06:31 Yeah.
06:32 How funny, huh?
06:33 Yeah.
06:33 I just remember, you know, sitting at the terminal, you know, and, and thinking, imagine, you know, there's, there's Telnet and then I was like, and then there's gopher protocol.
06:41 And I was like, just thinking like, gosh, it's so much, it's, it felt like this cyberspace to me.
06:48 It really did.
06:49 It felt like there's this huge universe out there that I can access via text.
06:53 And it was awesome.
06:54 And I remember even playing a mud that was in, there was this BBS system called Major BBS and so they had this major mud that was part of the BBS system.
07:04 And, and actually, you know, it's kind of funny about that is that that was perhaps the most complex program I had written at that time was I remember being in high school and I couldn't play the game all day.
07:16 But I found this, this program called Terminate.
07:20 It was a, to connect to the BBS, I forget what they, what they call it, a client essentially.
07:25 And it was programmable.
07:27 And so I wrote a script to play the game while I was at school.
07:33 So basically, you know, I'd run this script and while I was at school, it would connect to the BBS.
07:39 It would go in, log into the game.
07:41 It would run around and, you know, kill things.
07:43 And so I'd be gaining experience and getting levels.
07:45 And then every like hour or two, the BBS would disconnect you.
07:49 So it would handle that and redial in and, and keep trying to dial in until it got, got in.
07:54 And, and so that was, yeah, that, those days were just, it was, it was like being a pioneer, you know, it's like there was, it was such a magical time, I think.
08:04 And that's what really, really got me interested in technology and development is like, I wanted to be part of, I wanted to be creating that world that intrigued me so much.
08:14 Yeah, that's really cool.
08:14 You know, you're sort of destined to be a programmer when you start solving your problems in code.
08:19 Even if your problems are, I'm really tired of these sort of mundane tasks I got to do in a mud to level up.
08:24 Right.
08:24 Exactly.
08:25 Yeah.
08:25 Nice.
08:26 So maybe let's talk a little bit about like the, your career in terms of your experiences and so on.
08:34 So that people get a sense of what, where you're coming from, I guess.
08:37 So you started out as like a lot of us do as a full-time employee.
08:41 Is that right?
08:41 That's correct.
08:42 Yeah.
08:43 Yeah.
08:43 I started out with a lot of different jobs.
08:46 You know, I think I went to school to Boise State University for a year.
08:52 I almost dropped out of programming because computer science, I went, I remember my first Java class and it was like, we're hand rolling iterators and doing sorting algorithms.
09:04 And I was like, this is not, this is not what I signed up for.
09:08 This is not fun.
09:09 If this is my life, if this is what programming is, I don't want to do it.
09:12 Like I want to make games.
09:13 There is no game.
09:14 There is no fun in like implementing a database engine without conditionals or some bizarre, you know, homework exercise you get, right?
09:25 Exactly.
09:26 So I was kind of distraught and it was, it was hard.
09:29 It was boring.
09:30 And I remember, you know, during my summer vacation, I got the summer job working as a tester at HP.
09:37 And strangely enough, the guy that interviewed me, he was like, one of the interview's questions, I kid you not, was, have you played EverQuest?
09:45 And I was like, no, I'm not really.
09:48 He's like, would you be interested in playing EverQuest?
09:51 And I was like, well, yeah, definitely.
09:52 It's like a graphical mud.
09:54 Yeah.
09:55 Hell yeah.
09:55 And so I think that's why I got hired.
09:57 That's awesome.
09:58 That's a really cool benefit of the job.
10:00 Yeah.
10:01 Very nice.
10:01 Yeah.
10:02 So these guys, you know, that they were all into EverQuest.
10:05 But I, I, essentially that was my first job, like real job.
10:10 And I ended up, you know, I was a tester, but I ended up like figuring out ways I could do development.
10:15 I learned PostScript, the printer language, PCL.
10:19 And I started modifying the scripts they're using for, for running the tests.
10:23 And I ended up not going back to school because I was making enough money.
10:27 I got a couple of promotions where I was like, well, you know, when I get out of school, I was hoping to make, like, I don't know, at that time, I think I was hoping to make like maybe $40,000 or $50,000 a year.
10:38 And that's what I was making at my job, my summer job.
10:41 So I just stayed there.
10:43 And then from there, I ended up moving into a full-time development position at HP.
10:50 And I moved around a lot.
10:53 I did a lot of consulting and contracting.
10:55 I worked for Xerox, small startup companies that went under as I moved around.
11:02 I pretty much moved around the country as a, you know, basically as an, either a full-time employee directly for a company or a contractor,
11:11 which was essentially, you know, more of the, not, not the freelancer contractor route, but the staff augmentation where, you know, you're paid an hourly rate by, and you're working for a single company.
11:23 But I pretty much did that for, for a pretty good bulk of my career.
11:28 Right.
11:28 And I think, you know, that's, those are great jobs.
11:32 And they're, they're very interesting.
11:33 And what we're going to talk about totally applies to that as well.
11:37 But since then, you've gone to do some more independent things, right?
11:40 Like, one thing that really blew my mind is you said that you had created a number of online courses.
11:48 And that number and the timeframe really blew my mind.
11:51 Like, as me creating my online courses for my, my training company, I know how much work it is.
11:56 Can you talk a bit about your, your online course venture you went on?
11:59 Oh, sure.
12:00 Yeah.
12:00 So at some point, you know, to kind of, to kind of cut the fast forward to the, in the story, like, you know, after being an employee for, for some time, I started to get some entrepreneurial type of ideas in my head.
12:13 And so I started to run into some people that were not doing the regular nine to five thing.
12:17 And so, and different things changed my life.
12:19 I finally got to this point where I call it like, I think the transition was, was becoming a finisher.
12:24 Okay.
12:25 You know, instead of just starting things and not finishing them, I, I, I had a real good dedication that I started to develop of, I finished what I start.
12:33 And that made a huge difference in my life.
12:35 And I got some opportunities.
12:37 I started the Simple Programmer blog, which was just my personal blog at the time.
12:41 And opportunities kept coming my way from it.
12:44 And one of those opportunities was from this company called Pluralsight.
12:47 And they had mostly .NET training.
12:51 But I was doing, I had just built an Android app and an iOS app as I was playing around with that.
12:57 And they said, hey, you know, do you want to teach a course on Android?
13:02 Do you think you could teach a course on Android?
13:04 And I thought, well, you know, I've never taught an online course.
13:07 I don't even know how to record a course.
13:08 But sure, I'll, you know, submit a demo.
13:10 And so I submitted a demo.
13:12 And they said, oh, this is great.
13:13 Yeah, let's, let's do it.
13:14 We'll, we'll commission you for a course.
13:15 And so I did that course.
13:18 And that course went really well.
13:20 And, you know, I got my first royalty check.
13:22 And I think at that point, it was maybe, I mean, they paid me like a few thousand dollars to do the course or something like that.
13:29 And I got the first royalty check.
13:31 And I think it was like a, maybe like three or $4,000, maybe $5,000.
13:35 And I thought, wow, I'm getting paid for work that I did before.
13:40 Yeah.
13:40 Like, and I'll keep getting paid for this work.
13:42 This is awesome.
13:44 There's, there's, there's something here, right?
13:46 So I said, man, I can, I need to take advantage of this opportunity as much as I can.
13:50 So I said, what other courses do you need?
13:53 And they said, well, do you know anything about iOS?
13:55 And I said, a little bit, but in two weeks, I'll know a whole lot more.
14:00 So I studied hard, you know, started really learning as much as I could, crunching it, all the, everything that I could learn about it.
14:06 And I put out an iOS course.
14:07 And then I asked, what other courses do you need?
14:09 And, you know, I ended up building quite a few courses.
14:13 And then as I started building these courses, I started building a system.
14:17 I started getting better at it and faster at it.
14:19 At the same time, I started, you know, the royalty checks were increasing.
14:23 And I started to realize, like, there's a really huge opportunity here.
14:26 And there's a lot of authors already, but they're not taking advantage of this opportunity.
14:31 You know, they're, they're taking like three months to put out a course and stuff.
14:34 I got to figure out how to do this fast, how to do this efficient, and how to have a high quality course.
14:40 And so over the, I think over, what is it, like, gosh, it ended up being over a three-year period, I put out 55 full-length courses that are around, you know, on average three to five hours in length.
14:54 And I basically, for, gosh, I saw this as my ticket out.
14:59 I saw this as a way, as I started doing the numbers, I was like, okay, if I can do this, if I can hold down my full-time job.
15:07 And I remember having this conversation with my wife because she was, she was on board with me doing the pluralside thing, but she wasn't sure about, you know, how much time I was going to spend.
15:15 But I, I told her, I was like, okay, look, here's my plan.
15:18 I'm going to do my full-time job.
15:20 And every night I'm going to work like four or five hours every night.
15:23 You're not going to see much of me.
15:24 Every weekend I'm going to be working, but I'm going to do this for like a year or two years and we'll be set for life.
15:31 Right.
15:31 That was, you know, I had done the math and this, this worked out.
15:34 And so my life for, for two years was basically just, I mean, I don't want to say it was hell, but it was, there was nothing, there was no recreation in there and no vacation.
15:45 It was, it was the grind, right?
15:48 It was, it was grind.
15:49 But I worked and I worked hard.
15:51 I was putting out blog posts and still running my business at the same time.
15:54 And I mean, I was working probably 80, 90 hour weeks for probably two years.
15:58 And I ended up putting out maybe something like, I think it was 20 courses or so over that time, doing it part time.
16:07 And then after that had happened, my checks got to the point where I could quit my full-time job.
16:13 So I quit my job.
16:15 I told my boss, I was like, I love working here, but it just doesn't make sense.
16:19 My, you know, I'm able to make enough money from royalty check.
16:21 That's more than, than the salary you're paying me.
16:24 And he said, well, you should have quit earlier.
16:26 And so I went for one year.
16:28 I did full-time.
16:29 I said, okay, what I'm going to do this year is I'm just going to full-time create Pluralsight courses.
16:34 And aside from doing blog posts and YouTube videos and stuff, that's my focus.
16:40 So I went independent and I created, in that year, my goal was to create 30, 30 Pluralsight courses.
16:48 I created 36 Pluralsight courses.
16:51 I was actually finished by November and, and yeah, that was, and then, and then I actually stopped doing them.
16:58 Did you take December off?
16:59 I did.
17:00 I did.
17:03 Yeah.
17:03 I took that off.
17:04 But what I tend to do now is like every year I tend to work like nine months of the year and then take, take two to three months off.
17:10 Yeah, that's cool.
17:11 Or go sort of off, you know, however off you can be owning a business.
17:14 Yeah, absolutely.
17:15 You can't really entirely walk away and just put it down like you can at a regular job.
17:20 This portion of Talk Python is brought to you by Hired.
17:34 Hired is the platform for top Python developer jobs.
17:37 Create your profile and instantly get access to 3,500 companies who will work to compete with you.
17:41 Take it from one of Hired's users who recently got a job and said, I had my first offer on Thursday after going live on Monday and I ended up getting eight offers in total.
17:50 I've worked with recruiters in the past, but they've always been pretty hit and miss.
17:53 I tried LinkedIn, but I found Hired to be the best.
17:56 I really like knowing the salary up front.
17:58 Privacy was also a huge seller for me.
18:00 Sounds awesome, doesn't it?
18:02 Well, wait until you hear about the sign-in bonus.
18:04 Everyone who accepts a job from Hired gets $1,000 signing bonus.
18:07 And as Talk Python listeners, it gets way sweeter.
18:10 Use the link Hired.com slash Talk Python to me and Hired will double the signing bonus to $2,000.
18:15 Opportunity's knocking.
18:17 Visit Hired.com slash Talk Python to me and answer the door.
18:27 But one thing that I think is worth pointing out at your story, and it mirrors my story as well,
18:33 is you didn't decide, hey, I've got this great idea and I've got two months savings in the bank.
18:40 I'm going to quit my job and go build the idea.
18:43 You sort of grew it on the side until it was clearly not a risky move.
18:48 And I did the same thing with my podcast and my online courses.
18:51 I could more or less comfortably live on the various revenue sources.
18:58 And when I told my wife, look, I'm going to quit my job and go focus on this thing that I think is way more valuable to the community,
19:05 way more valuable to us, it wasn't like, oh, you better get this right because it was already working.
19:11 Exactly.
19:12 Yeah, yeah, it's really interesting.
19:14 I've got two kind of thoughts on that, like two things that are kind of almost contradictory information.
19:20 But as a developer, having a mortgage, having a family or whatever, and having a job, having a career already,
19:26 I think that's absolutely the way to go.
19:28 And that's what I recommend to everyone is like don't – you have an idea.
19:33 You quit your job.
19:34 You got a couple months savings.
19:37 You're throwing it all on the line on one shot.
19:40 You don't even know marketing.
19:41 And that's going to be the most important thing is building an audience of marketing.
19:45 You don't even know that part, right?
19:47 And you've got a gun to your head.
19:49 This is a horrible situation in order to – you've got to figure your first business is going to fail.
19:54 You've got to figure you're going to have a big learning curve.
19:56 You've got to have some runway.
19:57 So I think – and plus, I think most people don't realize what it's actually like to work really hard.
20:05 And I don't say that to slight people or to belittle anyone.
20:10 But when I started doing a full-time job and working part-time doing the Pluralsight,
20:17 I realized, man, I've been sandbagging it for a while.
20:20 There's a huge difference.
20:23 And even the kind of stuff that I do now, it's like there's a huge – you've got to really check yourself to make sure that you can do that.
20:31 Because I know plenty of people that have quit their job and like, okay, now I have eight hours a day to get my work – to work on my business.
20:37 And they go to Starbucks and they work like an hour.
20:41 And that's – and it's just because you've got to get that discipline.
20:46 So I think that's, you know, what you said is absolutely critical.
20:49 Most people should be – like if you can't build a business on the side, you can't build a business full-time.
20:55 I firmly believe that because if you don't have what it takes to work a full-time job and to build a business at the same time,
21:02 you don't have what it takes to build a business, period.
21:04 It requires that much.
21:06 And it's not for everyone.
21:07 But if you're going to do it, you've got to be able to do that.
21:10 And then the other thing that I say, though, kind of the contradictory side of it is if I were young,
21:16 if I were like 18, 19, just starting out, I would never – I would like – I would go and move to Thailand and, you know,
21:24 Chiang Mai or something like that where it's like $500 a month cost of living.
21:28 Or I'd find like a roommate situation where my – I would get my living expenses to be under $1,000 a month.
21:34 There's ways to live under $1,000 a month, under $500 a month if I could.
21:38 And I would just focus everything on building an online business.
21:42 Because as soon as you hit the point where if your expenses are $1,000 a month and you build a business that generates $1,000 a month,
21:49 which is really not that hard, it can be done certainly in a year by anyone that's willing to really go at it, you're free for life.
22:00 Now, you're not going to make as much money in the short term.
22:03 But in the long term, you know, that's what I would recommend.
22:07 But I think it's two different paths.
22:09 You know, if you're already down the path, like you've got – at 18, 19, you've got nothing to lose going that route.
22:16 At like, you know, in your late 20s or 30s, you've got a family, you've got a mortgage, you've got, you know, people that depend on you.
22:22 You've got a lot to lose.
22:23 So you can't take that kind of a – you know, you can't be a vagabond and take that kind of risk.
22:29 Yeah, I agree.
22:30 I really wish I had thought about some of these things when I was younger.
22:33 But, you know, it's still – it's all good.
22:36 One thing, though, I'd like to maybe take it back to is like as we maybe could move a little bit into your book is we're talking about this move into entrepreneurship and how amazing I think it is in you as well.
22:48 But what we're talking about I think really applies across the board, especially your book applies across the board.
22:54 Like even if you just work at a company with 20,000 employees doing software development, right?
22:59 So one of the quotes I like from your book is you said – you quoted someone and says, the biggest mistake that you can make is to believe that you're working for someone else.
23:09 You know, job security is gone.
23:11 The driving force of a career must come from the individual.
23:13 Jobs are owned by the company, but you own your career.
23:16 And I think that really sets the stage well for shifting the focus of what you need to do long term.
23:25 Yeah, yeah, I totally agree.
23:27 You know, I think that the thing is that you have to have the mindset that you are a business, right?
23:34 That you are the business, not that you're an employee, whether you're an employee or not.
23:39 Because really, you know, and I always tell developers that if you're an employee of a company, that just means that you own a business that has one customer, right?
23:49 And the reason why that mindset is so important is because it changes the way that you think about everything, right?
23:56 You know, there's a whole different mindset between I go to work and I clock in and then I get my paycheck and that's owed to me.
24:05 It's almost an entitled attitude.
24:07 You know, it's not quite – you know, it's not like you expect to get something for nothing, but you expect that if you just show up and you are there doing your work that you get a paycheck.
24:19 And that's not really how the world works.
24:20 It's an abstraction above the real economics of the world.
24:25 The real way that the world works is that you create some kind of product or service or some value for people and people pay you for that.
24:33 And so underlying every single business is this model.
24:36 We just create this abstraction over it when we're an employee and expect that hours equals pay.
24:41 But that's – as an entrepreneur, you know that you can put in a lot of hours and that might not equal pay.
24:47 But underneath whatever environment that you're working in, whatever company it is, they have the reality of the situation.
24:54 It doesn't matter if you're in a large company or a small company.
24:57 That company creates some kind of value.
25:00 It creates some kind of product, some kind of service.
25:02 You're part of that creation and that's where the money comes from.
25:07 So when you're divorced from that and you don't realize that and you don't have that mindset, you're disconnecting yourself from a lot of opportunity and ways that you can grow your career.
25:16 And so even if you don't want to be an entrepreneur, just as an employee, just having this mindset of realizing that you are a business and this is how the economic model works.
25:25 This is how the system works.
25:26 It gives you more opportunities to explore.
25:29 It gives you the thinking to say, well, if I market myself, if I build a blog, if I create – if I become more valuable as a developer, I can make more money.
25:38 I can – there's more opportunities out there than just work, get paid for those hours.
25:44 You know, there's a whole range of possibility.
25:46 And you start thinking about, well, okay, this company that I work for, well, let's see.
25:51 You know, if I think of them as my client, how can I make my client better?
25:53 How can I make them more money?
25:55 Would they be willing to give me part of the money that I'm able to make them?
25:59 Maybe, right?
26:01 You've got more opportunities.
26:02 So I think that's, you know, critical to shift that mindset.
26:06 It's definitely a big mind shift.
26:08 And I think, like you say, it really is important, you know, to go back to this value, you create sort of trading value for money.
26:16 When you're a business, there's a very sort of continuous curve.
26:21 Today I sold X number of widgets or N number of courses.
26:25 And then the next day – so you have like a really fine curve that you can actually see sales going up, sales going down, expenses going up, expenses going down.
26:34 But when you're an employee, I feel like the same curve applies, but it's discrete.
26:40 Like the way you feel it is discrete.
26:42 You get the same amount of money and either you get a raise, you get a promotion, or you don't.
26:47 Or you get demoted or let go, or you don't.
26:50 But there's only like three or four steps.
26:51 It's not like a continuous sort of curve on a real number scale.
26:55 But the curve is still there.
26:57 And, you know, you've got to really be thinking as if the curve was continuous even though it's not.
27:04 So your book – let's talk a little bit about your book.
27:06 So your book is called Soft Skills.
27:08 What's the full title?
27:10 I'm sorry.
27:11 I don't have it pulled up right now.
27:11 Oh, Soft Skills, the Software Developer's Life Manual.
27:14 Yes.
27:15 And I think it's a super interesting take on helping developers with their career.
27:20 because there's a ton of career books about like general career.
27:24 And there's a ton of software developer books like here's how you call a function with name parameters
27:31 and Objective-C or something weird like that.
27:33 But the sort of I'm going to take and focus on career specifically for software developer
27:40 and technical folks.
27:41 I think that's a really valuable book and niche that you filled there.
27:44 So the first thing you start with is this business mindset that we already talked about.
27:49 The next thing is focusing on people skills.
27:52 And, you know, like the idea is a lot of us feel like we should be able to just write code.
27:58 Hey, my code is cleaner than anyone else's or whatever.
28:01 So I should be advancing in my career.
28:05 But that's not necessarily true, right?
28:07 So what are you talking about with people skills?
28:09 Right.
28:10 I think that it turns out that the most valuable thing that helped me in my career
28:16 and that as I work with developers and hear their stories and successes is not the technical skills.
28:22 It turns out to be it's all those the soft skills, the other skills, right, which I talk about in the book.
28:28 But people skills in general tends to be one of the biggest areas of leverage of where a lot of developers lack these skills.
28:37 And they think they don't need those skills.
28:38 They think that being technically competent is enough.
28:41 And maybe, I mean, I say maybe, but I know that it's not true.
28:45 I say maybe back in the day that that was true.
28:48 But it's never been true, right?
28:50 Because if you look at in the industrial age, you know, the industrial barons and stuff and you read some of their writings and memoirs and stuff,
28:59 you find, again, that people skills is more important than technical skills.
29:02 But specifically in our field, especially today, we have hit this point where software development, programming itself,
29:12 is going through a period which I think is almost becoming commoditized, right?
29:18 We have plenty of places we can go online to find programmers that will program and they're real good at it for very low hourly wages.
29:27 So why would a company, why would a person hire a programmer today and pay them, you know, the kind of salaries that we would like to get?
29:38 And part of that is because or a majority of that is because of their communication, because of their people skills,
29:43 because they don't just program.
29:46 They can get along with the team.
29:48 They can express their ideas and opinions.
29:51 They know how to interact.
29:54 They know how to communicate.
29:55 They know how to make the team better.
29:58 And so I think that's a critical, critical skill.
30:02 And if you think about it just, you know, from an employee perspective, if you want to get ahead in your career, if you want to get ahead in your job,
30:08 a lot of people say, oh, well, you know, sure, I could be a brown noser or kiss up to the boss.
30:13 And that's not what people skills are.
30:15 It's about being able to make your team more effective.
30:18 It's being able to understand humans and interact with them in such a way that you're able to not just, you know, code,
30:27 but communicate the ideas, make the team better, get everyone on board, align people in the same direction.
30:34 And so those things are all really, really important.
30:38 Because if you think about it, as a software developer, at least in most places I've worked, most of your time is not spent writing code.
30:46 A lot of your time is writing emails and meetings, communicating your ideas to coworkers, having discussions.
30:53 These are the things that you actually spend most of your time doing.
30:57 And so if you're not good at those things, then, you know, most of your job, the most leveraged, effective part of your job, you're lacking in.
31:05 So I think people skills are definitely a really important component.
31:09 And it just helps you in your life in general.
31:12 I mean, you know, when you're talking to someone, when you're trying to get a raise, when you're, if you're someone that can be put in front of a customer,
31:18 if you know what motivates a person and how to get them motivated, you're going to have a lot more success in getting what you want.
31:27 Yeah, I think that's definitely true.
31:30 I feel like being a really good programmer these days are kind of table stakes.
31:34 But it's not enough to really win the game.
31:37 You've got to, you've got to do more, right?
31:40 So one of the things that you talked about when you were a full-time employee, it's not an entrepreneurial thing, is keeping your manager really well informed.
31:48 One of the things I sucked at when I was a full-time employee was I would work really hard.
31:52 I would do amazing stuff.
31:53 I'd ship projects early.
31:55 But I didn't communicate very well what I had done, what I was going to do, and so on.
32:01 So you had a good story about what you did.
32:02 I forget exactly where I came up with the idea.
32:06 But I basically started creating what I called weekly reports.
32:10 And what I would do is I think maybe I had this idea because I was put into a role of managing a team.
32:16 And I realized that the main job is managing this team that I just need to know what everyone was doing and working on.
32:24 And I needed this information so I could relay that information.
32:27 So I remember getting this job and I thought, okay, here's what I'm going to do.
32:31 Every day I'm just going to start writing down.
32:33 I'm going to make a few bullet points of what I did that day.
32:36 And so what I ended up doing was the first week I was there, it was this contract job.
32:41 I sent a weekly report and I had Monday, I did this, I accomplished this.
32:46 And I put it in terms of what I accomplished really, right?
32:49 And I talked about just a few bullet points for every day so that they would know exactly what I did every single day and what I accomplished.
32:56 And I sent that to my manager and I CC'd his manager.
33:00 And I said, and I explained on the first email, I said, look, the reason why I'm doing this is because just in case you're out, you know, and just as a FYI so that you can see what's going on.
33:10 And, you know, I phrased it really well.
33:12 It was, you know, in my mind I was thinking, okay, you know, I want to make sure that I'm getting as much visibility as possible.
33:19 And so, yeah, so that's what I ended up doing.
33:21 And I started doing that, you know, every week they could expect from me to get a weekly report.
33:26 Showing exactly what I did that week.
33:28 And it turned out to be a really good move for my career because all the work, like you said, that I was doing, now I was getting credit for.
33:37 Now it was visible.
33:38 And there was no—in fact, one time I remember there was a highly politically charged environment at one of the corporations I was working at.
33:47 And someone had got into a—was trying to maneuver politically and get me into trouble.
33:55 And they accused me of something or of not working on something.
33:58 And we got into a meeting.
34:01 And I had notes.
34:04 I had, you know, weekly reports.
34:05 Not just my own personal notes, but weekly reports that had been sent out every single week that said exactly what I did on a particular day.
34:13 That worked out really well for me and not so much for the other person who had no data at all.
34:20 So I think it's a really, really good way.
34:23 And, you know, that's a good—if you think about it, again, this comes back to people skills and thinking like a business is this idea that what does your manager need?
34:31 You know, I always tell developers, your job, right, as a developer or as an employee in any company is to make your manager look as good as possible.
34:41 That's really like if you want to advance in your career, don't try and necessarily make yourself look as good as possible, but make your manager.
34:49 And by sending weekly reports, you're helping them to do their job more efficiently.
34:53 And you're really giving them the credit of, okay, because they're in charge of you.
34:57 And so the better that you do, it reflects better on them.
35:01 And so by couching it that way and showing how—giving them the information that they need to be able to do their job better, it's going to make it better for you.
35:09 Yeah, I think that's a really interesting piece of practical advice that would be, you know, totally missing from a lot of career books.
35:16 I think that's great.
35:17 Continuous delivery isn't just a buzzword.
35:35 It's a shift in productivity that will help your whole team become more efficient.
35:39 With SnapCI's continuous delivery tool, you can test, debug, and deploy your code quickly and reliably.
35:45 Get your product in the hands of your users faster and deploy from just about anywhere at any time.
35:51 And did you know that ThoughtWorks literally wrote the book on continuous integration and continuous delivery?
35:57 Connect SnapCI to your GitHub repo and they'll build and run your first pipeline automagically.
36:01 Thanks SnapCI for sponsoring this episode by trying them for free at snap.ci slash talkpython.
36:16 One of the things that I've tried to help people with on my show, I did a show 39 and 41 about people getting their first job.
36:24 Because I feel like getting into software development, there's a pretty big step to actually get your first job and break in.
36:32 But once you're in, I feel like if you're continually learning, you're probably going to have not a huge problem finding a job.
36:40 I know there's some exceptions to that.
36:42 But in general, I think the hardest step you take is getting into the industry.
36:46 And so you had some really interesting advice around hacking the interview.
36:50 Yeah.
36:51 So I think that if you just take your resume and apply for a job, that's the worst way to get a job.
36:58 Because you're competing with everyone else because you're just a resume.
37:02 You're just some data point to a company.
37:04 But what I find is, can you figure out a way to go into the back door, right?
37:10 And the best way to get a job, the way that most jobs get filled, a majority of jobs that you don't even see that are even posted, is through referrals, through personal referrals, right?
37:20 We hire someone.
37:20 Because, again, you said that it's really hard for someone to get started in the industry.
37:25 And I think primarily the reason why, which I haven't heard too many people say, but honestly, like hiring developers, I think that the main reason is because you're afraid that someone can't actually code.
37:39 And this seems kind of funny, but I remember when the whole FizzBuzz thing was really big.
37:45 And, you know, it was all over the place.
37:47 Like everyone was saying, oh, I can't believe people can't do FizzBuzz.
37:51 And then I interviewed like several developers and they even knew about the FizzBuzz thing.
37:57 And I asked them to do FizzBuzz.
37:59 And they thought that was funny because – but they couldn't do it.
38:02 And I thought to myself, holy crap, this is just crazy.
38:07 Is this really – like, I mean, yeah, I understand that it's under pressure and whatnot.
38:13 But if you know this is going on and you haven't prepared, oh, gosh.
38:18 And so that's the biggest risk is when you hire a developer, can they actually code?
38:23 Maybe they can fix a few bugs, but could they actually write real code?
38:27 Because that can have a huge negative impact and you have to – and you won't even necessarily know it.
38:33 So, you know, all that is to say that when someone hires someone, the best way to hire someone is to know – not to get a resume and then see what kind of BS they're going to tell you in an interview.
38:48 But to say if you already know someone, you know someone who knows someone who's an excellent coder, right?
38:53 This is a great way.
38:54 This is why personal networks and referrals work so well.
38:56 So, can you figure out some way instead of just submitting your resume blind to get a personal referral?
39:03 Can you – you know, and one of the examples that I use in the book is I wanted to get this remote job, right?
39:09 I wanted to work from home.
39:11 That was my – there was this particular company and I felt like they're a good company and I just – I wanted to get a good job working from home.
39:19 And it was so competitive to get into that company because there's so many people who wanted that job, obviously.
39:25 So, what I did was I started finding some of the developers that worked for that company and I started reading their blogs and I started putting meaningful comments on their blogs.
39:35 Not just being lame and just trying to see what I could get but actually contributing to their blogs and getting noticed.
39:43 And after several months worth of time, pretty much all the developers on that team knew who I was because I was this guy that was commenting on their blogs.
39:50 We were having discussions and whatnot.
39:52 And guess what happened the next time that they opened up a job opening?
39:56 Well, not only did I get a personal referral but several developers on that team said,
40:01 Hey, John, you should apply for this job.
40:03 And of course, you know, when I did, they referred me, handed in my resume.
40:09 And then multiple developers on that team said, Oh, I know who that guy is.
40:12 He's awesome.
40:13 And so, obviously, I got that job.
40:15 And that's the better way than just submitting your resume.
40:20 You know, you can—you hack the interview process by not having—by having the interviewer know who you are before you go into the interview.
40:28 It's—and that can be done in multiple ways.
40:31 You know, I always encourage developers to market themselves, to build a blog, something like that.
40:35 It's great when you go into an interview and you shake the interviewer's hand and they say, Oh, oh, you know, I think I read a blog post that you wrote.
40:44 I know who you are.
40:45 And then instead of having a grueling interview, you have an hour-long conversation because you're already in.
40:52 So, people primarily hire people that they like.
40:55 They figure out—it's weird how, like, you know, we all want to be objective and say that it's a meritocracy and we hire based on technical skill.
41:05 But we have this way, you know, psychologically in our mind of justifying, of saying—of finding someone who we don't like and finding problems why they're—you know, why they're weak technically.
41:16 And someone we do like and finding reasons why they're going to succeed even though they don't know this or making excuses for them.
41:23 So, you've got to remember that psychology and you've got to get—you really have to build rapport with an interviewer before the interview.
41:30 You know, if you want to go around the back door, not go through the initial—the process that everyone goes through, which is the most difficult way to get hired for a job.
41:39 Yeah, absolutely.
41:40 If you can get a recommendation, it's so much better.
41:44 The companies I've worked for, the point where it becomes a publicly available job where resumes are requested, it would never even make it that far if somebody on the team knew somebody they could recommend.
41:56 Exactly.
41:57 Like, that's like, oh, geez, I guess we're going to have to actually open this up as a job rather than just get a recommendation.
42:02 So, very, very, very important.
42:05 And I think this whole marketing yourself thing is more important than many people realize, even for regular sort of full-time employment situations.
42:15 But let's come back to that in just a minute.
42:17 So, one of the things that you discuss, and I think is a really interesting question people want to figure out for themselves, is should you try to work at a small company where you'll have a broader range of exposure to technology, broader responsibilities, and so on?
42:33 Or at a large company where it might be more focused, but you'll have more people you can work with and depend on and so on?
42:39 What do you think about, like, a small company versus large company?
42:43 You know, I think there's pros and cons to both.
42:45 And, you know, I've worked for both in my career.
42:48 I tend to prefer a small company, especially if you're getting started out, because you get more involved in the business and the economics of it and your hands into more things.
43:00 It's a huge advantage of a small company.
43:02 With big company, and plus you're more visible, right?
43:05 You can't hide in the weeds.
43:08 Like, what you do, both positive and negative, is going to have a direct impact on the bottom line.
43:13 And so, you have this opportunity to actually move the needle and to make a difference and to get exposed to a large variety of things.
43:21 In a big company, you might be able to work on cooler projects, right?
43:25 You might be able to work on things that only a big company could do and you might have more training opportunities and things like that.
43:32 But, you know, there's nothing like getting the experience, getting that kind of experience that a small company provides.
43:39 So, you know, if I were to say what is ideal as an employee, I would probably say that it's to spend a lot of time at various small companies.
43:50 I think that's—you're going to get the largest volume of experience by doing that.
43:56 But, you know, there's some people that—and it's changing, right?
43:59 You know, there's some people that have worked at Microsoft their entire life or HP.
44:04 I mean, when I was at HP, there were, you know, 30-year—they interned at HP and they just worked at HP for 30 years in development.
44:10 And they made good money and they had good careers.
44:14 But, gosh, that—I mean, can you imagine what would happen if you got laid off after working for 30 years at the same job and you never had any other job experience?
44:24 That would be a traumatic life event.
44:25 That would be like having your spouse killed or something like that.
44:29 I mean, that level of trauma, I can imagine.
44:32 So, I would strongly encourage people to at least—at least, you know, if you're starting out, to work at multiple companies.
44:40 And if they're small companies, I think you can gain that experience faster.
44:44 And then if you decide you want to go the corporate route and climb the corporate ladder, then maybe you do that later on in your career and then you can—there's time for that.
44:51 But I feel like you get a little bit more benefit out of the smaller companies than you do out of the large.
44:59 Yeah, I tend to agree with you.
45:00 I think one of the caveats of being really successful at a small company is you have to be willing to say things like, I have no idea how to do that.
45:10 But give me two days and I'll figure it out.
45:12 Because you may be the guy or girl who they come to and say, hey, we need to set up a new server and we've got to do SSL and e-commerce.
45:22 And nobody here has ever done that.
45:24 But we've nominated you to do the e-commerce system.
45:27 You're like, well, I've never done it either, right?
45:28 But it's both a huge opportunity that you're given the time, energy, and opportunity to do that.
45:35 But if you don't want to be the person that gets repeatedly thrown into the deep end of some other strange technology, then maybe a larger company would be better for you.
45:43 But if you can embrace it, I feel like you'll really flourish from being in that environment.
45:48 Yeah, yeah, definitely.
45:49 That's—I totally agree.
45:51 Yeah.
45:52 Another thing that you talk about, and maybe this is a good segue towards marketing, is specialization and niches.
46:00 Yeah, I think this is one of those areas that I end up doing the most discussion and talking on because it's a hard pill for many developers to swallow.
46:09 Because a lot of times we're told to be almost generalist, jack-of-all-trades, that being the super developer that can do anything is highly valuable, to have a wide variety of skills.
46:22 And I agree that you should have a pretty broad base, but I feel like marketing yourself.
46:27 Like if you don't have a specialization, if you don't have a focus, if you don't have a very clear message, it's going to be really difficult.
46:34 And one of the examples I like to use is if you were convicted of a crime, let's say murder, would you go to hire a lawyer who dabbles in family law and does some tax stuff and maybe does some criminal law here or there, right?
46:55 It's a generalist, right?
46:56 You would not trust them with the rest of your life.
47:00 It's crazy, right?
47:01 Yeah, it's crazy, right?
47:02 So you would say, I want the best criminal defense attorney that specializes in murder cases, right, that you can find.
47:09 You want that specialist, right?
47:11 Even if the journalist could do just as a good job and you're like, well, you know, the journalist could say, well, I know all kinds of law.
47:20 You're like, no, no, no, no, just give me the criminal defense lawyer, please, right?
47:25 You want that specialist guy.
47:26 And the criminal defense lawyer, he might have experience with tax law and divorce law and all that stuff, but he's not going to advertise it that way.
47:35 And that's how—and that's the thing.
47:37 It's like when you are—again, it's shifting the mindset, right?
47:40 As an employee, sometimes we have this mindset of I need to know all this stuff.
47:44 But as an employer, someone hiring you, it's the same thing.
47:49 They're like, well, you know, I've got this application that I need to get built and it costs me money to build this thing.
47:55 I want the person that can do it, right?
47:59 I'm building this, you know, whatever it is, framework.
48:03 You know, I'm using this—I'm building this new Angular app.
48:06 I want an expert in Angular, right?
48:08 So I think that it's critical.
48:11 And when you think about it, if you want to build the highest rate, if you want to get the best job, it's going to be—it's going to go to a specialist.
48:17 Being a specialist is important.
48:19 So it's important to pick some area that you are going to become the expert in.
48:24 And there's so many—I mean, there's so many different reasons why this is true.
48:28 One other major thing is that if you can be the best in the world at a particular thing, and it can be a really small thing, there's a huge, huge advantage for being number one, right?
48:39 I mean, you're going to get the invites to speak at the conferences.
48:42 You can write the book on the subject.
48:43 You can, you know, have the coaching or consulting business.
48:48 Or you can have the blog where whenever anyone types in this particular keyword, it comes to you.
48:54 So you can build a reputation much faster.
48:56 You always want to be the big fish in the small pond, especially when you're starting out, rather than being the small fish in the big pond.
49:03 Because it's going to take you so long to get momentum.
49:06 If you just wanted to be—I think a lot of younger developers that I talk to, they say, well, how could I become a famous software developer?
49:13 And I'm like, well, it's not by being a famous software developer.
49:16 It's by being this person who specifically—they're the best at this particular framework.
49:22 You know, you build your reputation that way.
49:26 That's a lot easier to make ground, to become an expert in a particular market, a particular technology, than it is to just be a generalist, you know, a technologist.
49:37 That would be probably the hardest way to build a name for yourself.
49:40 Instead, pick that small, small specialization where you don't have competition.
49:46 Because you can easily become number one.
49:48 And that's going to be—not only is it going to help your career, but it's going to give you so many options that you didn't have before.
49:55 Yeah, I think that's really interesting and almost counterintuitive in some ways by focusing down, and at least from the way you present yourself, not necessarily what you know, but the way you present yourself to the world.
50:08 By saying, I'm going to focus on this thing, actually more opportunities open up rather than say, I can do anything.
50:13 Once you kind of become the person who can do anything, you're thrown in with everybody, and you kind of just get lost in the sea.
50:20 Exactly.
50:21 And people don't really believe you can do anything, right?
50:23 I mean, that's—as developers, we know that you can be—you can't know everything, but you can be really, really good.
50:30 But people will never really believe you're as good as you are when you claim.
50:34 But when you claim to be an expert in a particular thing, they're more likely to buy that.
50:38 Yeah, especially if you have evidence, like a blog recorded public speaking on, like, some conference, and they put the videos, like PyCon or NDC Oslo or something like that.
50:51 They put the videos online, and you can say, here is the video of me presenting for an hour on this.
50:57 Here is my blog with 20 articles on this.
51:00 Just go type this word into Google, and you will see my name and my word come up next to it.
51:06 And then that's almost like, you know, you talked about getting the personal recommendation through the back channel.
51:12 This is like the personal recommendation to people you don't know.
51:15 Exactly.
51:16 And, you know, and the first thing that someone's going to do when you apply for a job anyway is they're going to Google your name.
51:21 And when it comes up and there's like a YouTube video of you speaking at a conference and your blog comes up and all this stuff, you just got the job.
51:31 Now they're interviewing you as a formality to find out if you're crazy or not.
51:35 Right?
51:36 But, you know, that's so much better because they might spend an hour reading your blog or watching your video.
51:42 That's more time than you would have at a face-to-face interview.
51:45 And you've got the proof, the social proof.
51:48 You've got better than anything that you could possibly do at an interview or put on your resume.
51:54 So that's why it's so critical.
51:56 Yeah.
51:56 One of the things that a lot of the people on my how to get your first job segment that I did previously last year that I had one half where it was new people and their experience of getting their first job.
52:08 The other half was people who do the hiring at like Netflix and PayPal and so on.
52:12 And they all said, look, we're going to go to your GitHub repository and look at your check-in and your repos.
52:18 And, you know, also other things, right?
52:21 Like searching for you, looking at your blogs, looking at your presentations.
52:24 And you can't fake that stuff.
52:27 You can't decide, I want to get that job.
52:30 So I'm going to go put stuff on my GitHub that looks relevant.
52:33 Like that has a history over years.
52:35 And you have to be building towards that, right?
52:38 Exactly.
52:38 Yeah.
52:39 Yeah.
52:39 So we're getting a little towards the end of our time to talk.
52:43 What advice can you give people about marketing yourself in starting down this path where if somebody Googles some aspect of some framework or whatever, like you become the person for that?
52:54 What handful of things would you say to developers, even as full-time employees, that they should be doing to sort of boost their brand, if you will?
53:02 Okay.
53:02 So I would say, you know, first of all, the easiest thing that I think most developers can do that's very accessible, especially in the development world, is to create a blog.
53:10 This is pretty simple.
53:11 You know, this is something – I've got a free course on it.
53:14 If you just go to simpleprogrammer.com, you'll see a pop-up that you can sign up.
53:18 But it's an email course, and it gives you the step-by-step directions on how to do this.
53:23 Every developer should have a blog that they keep and they update regularly.
53:27 That's the first thing, and it's for a couple of reasons.
53:30 One of the big ones is because when they go with your name and then your blog comes up and it's updated regularly and it has good content on there, that's a really, really good way to – if it's in writing, it seems more relevant too, right?
53:44 So if you have a blog and it's got your opinions on there and you've got good information on there, that's going to be more better than any interview.
53:54 But, you know, if you really want to boost up your brand, what you should really aim to do is – again, we talked about the specialization.
54:01 But you should pick out your niche.
54:03 What is it going to be?
54:04 And you should try to be everywhere whenever anyone searches on that topic.
54:10 So whatever niche that you want to specialize in, if you can show up on as many mediums as possible, that's going to create a really strong branding connection.
54:19 For example, if you found my book or you found my blog and then later on you hear me on a podcast or you find my podcast or you find a YouTube video, you're like, oh, this is – I just listened to this guy.
54:35 Suddenly it connects and someone remembers your name and they're like, oh, I heard this person before.
54:39 And now, you know, if someone hears you from two sources, two different mediums, you're famous instantly.
54:45 And that's – because that's what we were associating in our head, right?
54:48 If you think about it in yourself, right, and you think about the people that you know that are, quote, famous to you, it's because you heard them on two or three different sources.
54:57 And that's critical.
54:59 So that's what really builds a brand that I've discovered is that if you can get out there in multiple mediums and when people have multiple exposures to you, then they're going to really – it's really going to connect.
55:10 Especially if someone can talk to someone else and they say, oh, this guy, I read his blog.
55:14 Oh, I know that guy.
55:16 Bam, you're in.
55:17 So you want to try and build those type of things.
55:20 And the best way to do it is to pick a really good niche, a good specialization.
55:24 And then I would say that, you know, the third thing I would say is your primary – you know, the way that I view marketing and branding yourself and really is a positive light.
55:34 It's not sending out spam emails with advertising Viagra pills, right, unsolicited.
55:41 It's creating value for people.
55:42 If you go out there and you create a bunch of free value for people, you will get a return.
55:48 I always say that I give away 90% of what I do for free and I charge for 10% of it.
55:54 And that's because that's the best marketing that you could possibly do is to give people free value.
56:00 Because when you do that, then they share it.
56:03 They're like, oh, this guy is awesome.
56:05 He's smart, right?
56:06 They want more from you and they'll eventually, if you're selling something, they'll buy something from you or they'll hire you or they'll, you know, they're going to want to do business with you because you've built trust because they know they've already gotten something valuable from you.
56:20 So I would say, you know, go out there and try to create as much value.
56:22 How can you contribute to the world?
56:24 What thing can you create?
56:26 What information can you put out there in a blog, in YouTube video, podcast, whatever it is that is going to create value for people?
56:33 And don't worry about what you're going to get back, right?
56:36 I mean, I'm not saying do everything for free and be a charity case.
56:39 What I'm saying is that you create most of what you do for free.
56:44 You focus on creating value and by doing that, you will build up an audience.
56:49 You'll build up a reputation.
56:50 And when you have that, then you have, then you can sell something.
56:53 Then you can get the job.
56:55 Then you can, you know, cash in the check.
56:56 But you got to put a lot of deposits in the bank account before you can make a withdrawal.
57:00 Yeah, absolutely.
57:01 And that could be like videos you put on YouTube, that's tutorials showing people how to be really successful with whatever area you're trying to focus on.
57:09 It could also be open source projects, right?
57:11 Like the Python community is really, really values open source contributions.
57:16 So if you had a very popular open source project, that's a huge foot in the door as well.
57:22 Oh, yeah.
57:22 Yeah, I definitely think that's true.
57:24 That's one area that I hadn't focused on personally.
57:27 I don't have much out there in the open source world, but it's a huge, huge opportunity.
57:32 There's a lot of, you hear a lot of success stories where people who had contributed to open source projects or started a major open source project have really had successful careers from that.
57:44 So I totally agree.
57:45 Yeah, absolutely.
57:46 Cool.
57:48 So I think your book is super interesting and very helpful.
57:53 If some of the stuff that we're talking about is like, oh, I hadn't really thought about that.
57:58 That's really cool.
57:58 Then, you know, I don't know how long your book is.
58:01 It's quite long, like six, 700 pages, right?
58:03 There's a lot of stuff and concrete practical tips like these in your book.
58:07 So I definitely recommend people check it out.
58:09 Thank you.
58:10 And I'll link to it.
58:11 Yeah, I'll link to it in the show notes.
58:12 So maybe in our last few minutes, you could just tell us a little bit about what you've got going on at simpleprogrammer.com.
58:18 Because it started out as just your blog, but now you're doing a lot of stuff.
58:21 Like you have several podcasts going through there.
58:23 You have a video series.
58:25 Tell us what's going on there.
58:27 Yeah, so, you know, the focus right now, simpleprogrammer.com, I intend to own the word soft skills in the space.
58:33 And what I mean by that is that my focus really is not on the technical skills for software developers, but on the soft skills.
58:41 On a simple program, I'm focused really—my whole, like, purpose is to help software developers live better lives in all areas of their life.
58:50 Because I have this holistic view, and I feel like if you become a better person in all the areas of your life, you're going to be better in everything that you do, from your career, making money, to being a better programmer.
59:00 And there's not enough focus on that.
59:02 So a simple programmer— Like, for example, if you're in better health, you have better fitness, then you probably have more energy to focus on your job.
59:10 Like, there's a lot of secondary knock-on effect, right?
59:13 Oh, yeah, exactly.
59:14 I mean, we could even—you know, you could even say if financially, right, if you have good investments, if you have good cash flow coming in, right, you're not stressed financially.
59:23 So your relationships will be better.
59:24 Your mindset will be better, right?
59:27 So there's—it's connected in so many ways, I think.
59:30 And, you know, so really, I think simpleprogrammer, you could say, is focused on self-development or self-improvement for software developers.
59:39 And so I've got, you know, the blog, there's articles that come out on there, I think, two or three times a week.
59:45 And then in some guest posts, we accept on there.
59:49 I've got—YouTube is really where I've been devoting a lot of energy.
59:52 I put out two to three YouTube videos a day on all kinds of personal development and career topics for software developers.
59:58 So you can check that out on just youtube.com forward slash simpleprogrammer.
01:00:05 And people can even send you questions, right?
01:00:07 Oh, yeah.
01:00:07 You can answer them if they line up.
01:00:09 A majority of the videos come from questions.
01:00:11 And then, you know, there's a Simple Programmer podcast, which is some of the YouTube videos, the audio from that.
01:00:17 I'm trying to think what else we got.
01:00:19 I'm currently writing a new book that I'm actually writing online as I'm writing the book.
01:00:25 I'm sharing it as blog posts.
01:00:27 And it is going to be—it's about—it's an entire book.
01:00:32 Probably it will be a two-volume set about a software developer career from the very beginning of how to get started and what you need to know to managing your career successfully and to making future steps in your career.
01:00:45 So it's going to be bigger.
01:00:46 It's probably going to be about 700 pages.
01:00:48 Right now there's about like about 80,000 words written.
01:00:53 But, yeah, I'm working on that, and that's being sent out every week.
01:00:57 A new chapter gets posted on the blog there.
01:01:01 But, yeah, my big focus is really just I want to help software developers to become better, to become better at their lives, become better at what they're doing.
01:01:11 Yeah, I feel like sort of a manifestation of a lot of what are the advice that you're giving, right?
01:01:16 Like you found this particular area of focus, this niche.
01:01:20 You've put the work into it as a side business to build it up enough to sort of go and focus on it entirely.
01:01:26 And now you're able to just put your energy into it, and it's really going well.
01:01:30 That's awesome.
01:01:31 So do you have any final call for action, like for the people who are out there thinking like, hey, I could do better in my career, maybe get a different job or a promotion or something?
01:01:39 What would you say final call action?
01:01:41 I would say the thing when I sign my soft skills book, every book that I sign, I pretty much write the same thing.
01:01:49 I write take action.
01:01:50 And so what I would encourage it, and when I give a talk, one of the first things I say is I say, hey, look, don't take notes on what I'm saying.
01:01:58 Take notes on what you're going to do because that's what's important.
01:02:00 And so I would say that for anyone listening, it's great.
01:02:04 You might be nodding your head and saying, oh, yeah, I totally agree with John.
01:02:07 Or you might be saying, oh, that John guy, he's a douchebag.
01:02:09 Whatever.
01:02:10 But regardless, if you're nodding your head, don't just nod your head.
01:02:15 Don't just agree.
01:02:15 I read plenty of books.
01:02:16 You listen to plenty of things, and you say, yeah, yeah, that's cool.
01:02:19 That makes sense.
01:02:19 I'm totally going to do that.
01:02:22 Do it.
01:02:23 Pick something that you're going to change, something that you're going to do, and actually do it.
01:02:29 Commit to it.
01:02:30 Make an actual step because that's what you can read a book, and a book is just words until you take action.
01:02:36 So take action.
01:02:38 Figure out something.
01:02:39 I don't know if you do.
01:02:41 Do you do comments on the blog post?
01:02:43 I mean on the podcast?
01:02:44 Yeah, yeah.
01:02:45 There's a whole comment section in the show page.
01:02:48 Oh, cool.
01:02:48 Let's do this then.
01:02:49 If this is cool with you, maybe we can have people that listen to this episode leave a comment and says, what action are they going to take after listening to this episode?
01:02:58 What specific action are they going to take?
01:03:00 And then maybe you can pick someone, and you can send me their info or email address, and I'll send them a signed copy of my book.
01:03:07 Oh, that's awesome.
01:03:08 Yeah, I would love to do that.
01:03:09 I definitely encourage everyone out there listening.
01:03:11 Take action.
01:03:13 Put a comment on to the show page, and we'll pick a winner and send a book, but just to be part of it, I think will be great.
01:03:19 Cool.
01:03:19 Awesome.
01:03:20 Yeah, become a finisher, right?
01:03:21 Exactly.
01:03:22 Yes, become a finisher.
01:03:23 Awesome.
01:03:23 Well, that's great advice, John.
01:03:25 And I really appreciate you being on the show, and I've thoroughly enjoyed the conversation.
01:03:28 So thanks a bunch.
01:03:29 Yeah, no, glad to be here.
01:03:30 Thanks for having me.
01:03:31 You bet.
01:03:31 Talk to you later.
01:03:32 This has been another episode of Talk Python to Me.
01:03:36 Today's guest was John Sonmez, and this episode has been sponsored by Hired and SnapCI.
01:03:41 Thank you both for supporting the show.
01:03:43 Hired wants to help you find your next big thing.
01:03:46 Visit Hired.com slash Talk Python to Me to get five or more offers with salary and equity presented right up front,
01:03:52 and a special listener signing bonus of $2,000.
01:03:54 SnapCI is modern, continuous integration and delivery.
01:03:59 Build, test, and deploy your code directly from GitHub, all in your browser with debugging, Docker, and parallels included.
01:04:04 Try them for free at snap.ci slash Talk Python.
01:04:08 I'm so excited to finally be able to unveil my Python for Entrepreneurs course that I told you about at the top of the show.
01:04:14 If you want to learn Python web development and launch an online business,
01:04:18 you owe it to yourself to check out the Kickstarter at talkpython.fm/launch.
01:04:22 I hope we can build something amazing together.
01:04:25 You can find the links from this episode at talkpython.fm/episodes slash show slash 71.
01:04:31 Be sure to subscribe to the show.
01:04:33 Open your favorite podcatcher and search for Python.
01:04:36 We should be right at the top.
01:04:37 You can also find the iTunes feed at /itunes, Google Play feed at /play, and direct RSS feed at /rss on talkpython.fm.
01:04:46 Our theme music is Developers, Developers, Developers, Developers by Corey Smith, who goes by Smix.
01:04:51 Corey just recently started selling his tracks on iTunes, so I recommend you check it out at talkpython.fm/music.
01:04:58 You can browse his tracks he has for sale on iTunes and listen to the full-length version of the theme song.
01:05:03 This is your host, Michael Kennedy.
01:05:05 Thanks so much for listening.
01:05:06 I really appreciate it.
01:05:07 Smix, let's get out of here.
01:05:10 Stating with my voice, there's no norm that I can feel within.
01:05:13 Haven't been sleeping, I've been using lots of rest.
01:05:16 I'll pass the mic back to who rocked it best.
01:05:19 I'll pass the mic back to who rocked it best.