PodSearch

Developing Perspective

#110: Stay in School.

 

00:00:00 ◼   ► Hello, and welcome to Developing Perspective.

00:00:03 ◼   ► Developing Perspective is a podcast discussing news of note in iOS development, Apple, and

00:00:07 ◼   ► the like.

00:00:08 ◼   ► I'm your host, David Smith.

00:00:09 ◼   ► I'm an independent iOS and Mac developer based in Herndon, Virginia.

00:00:11 ◼   ► This is show number 110, and today is Monday, February 25th.

00:00:15 ◼   ► What I want to start off today is talking about the show itself.

00:00:20 ◼   ► Maybe it's a bit of like a meta topic.

00:00:22 ◼   ► First, I just want to say thanks for all the positive feedback I've gotten about restarting

00:00:26 ◼   ► the developer interview series, talking to Brent,

00:00:30 ◼   ► talking to Marco, has just been, I've gotten a huge

00:00:32 ◼   ► amount of feedback saying, yes, keep doing this,

00:00:34 ◼   ► keep talking to interesting people, that's been awesome.

00:00:37 ◼   ► And so that's definitely something that I'm continuing

00:00:40 ◼   ► to do, I'm working on scheduling those, and exactly

00:00:43 ◼   ► how and when they happen will kind of vary based on

00:00:45 ◼   ► my schedule and the schedule of those I'm trying to get.

00:00:48 ◼   ► But definitely looking forward to that.

00:00:51 ◼   ► And related to that, I'll probably be looking for some

00:00:52 ◼   ► interesting changing things that I'm going to be trying

00:00:54 ◼   ► out on the show.

00:00:56 ◼   ► tweaking in some ways the format, I expect there will

00:00:59 ◼   ► continue to be episodes like this one, that's 15 minutes.

00:01:02 ◼   ► That's something that I do, you know, just me talking into the

00:01:05 ◼   ► microphone, but I like the flexibility and the

00:01:08 ◼   ► experimentation of what, you know, sort of the last couple of

00:01:11 ◼   ► episodes have been. And I have some ideas for where to take

00:01:13 ◼   ► that. So just something to keep in mind, something to look

00:01:15 ◼   ► forward to. And you may have noticed, like, for example, I'm

00:01:17 ◼   ► starting to consider the interviews as part of the show.

00:01:21 ◼   ► So this is episode 110, you know, counting Markos as 109.

00:01:26 ◼   ► And so it's just part of the show now.

00:01:28 ◼   ► And I think that's an interesting thing.

00:01:29 ◼   ► I think I like breaking out of the 15-minute mold a bit, and it gives, lets me address

00:01:34 ◼   ► topics at a lower level.

00:01:36 ◼   ► The 15-minute limit initially came from the challenge of if you're just one voice talking,

00:01:41 ◼   ► there's a limit to how long you can do that before it kind of gets repetitive and, and

00:01:45 ◼   ► worrisome, both on, for me as doing it and for the listener as well.

00:01:48 ◼   ► And so I'm looking for ways to change that and to look for all kinds of interesting things.

00:01:52 ◼   ► There may be some, you know, some shows I do with a co host, maybe some more interviews,

00:01:56 ◼   ► some interviews with people who aren't developers, there'll be some things to just kind of mix

00:01:59 ◼   ► it up.

00:02:00 ◼   ► And hopefully I think that'll enrich the show more fully.

00:02:03 ◼   ► Like I said, if you like it because it's short, they'll still be short episodes I expect,

00:02:07 ◼   ► but they'll be interspersed with other things that are more long form to hopefully kind

00:02:10 ◼   ► of address a broader variety of interests as well as just improve the show more generally.

00:02:15 ◼   ► All right, with sort of the meta topic out of the way, I can kind of move into the actual

00:02:19 ◼   ► topics I'm going to talk about today.

00:02:20 ◼   ► And I have two.

00:02:21 ◼   ► And the first one I'm going to do is I'm going to answer quickly a question that I got from

00:02:25 ◼   ► Francesco DiLorenzo.

00:02:27 ◼   ► He asked if I had any advice for CS students or students more generally.

00:02:34 ◼   ► And I thought that was an interesting topic.

00:02:35 ◼   ► And I've actually gotten a fair bit of feedback from people who listen to this who are students,

00:02:40 ◼   ► who are people who aren't doing this professionally, who are in school at various levels.

00:02:45 ◼   ► all the way down to I think I've had some kind of, you know, reached out from some people

00:02:48 ◼   ► who are in middle school, which is, which is awesome. You know, that's a great thing

00:02:51 ◼   ► to hear. I think about it as, you know, first, it's probably fair to say, a little bit of

00:02:56 ◼   ► my educational background, I went to high school and so on in the States, and then I

00:03:01 ◼   ► went to do my undergrad in computer science in England. And then I came back to the United

00:03:07 ◼   ► States to do my master's in software engineering back in the States. So I have a fairly varied

00:03:12 ◼   ► educational experience. And of course, the you know, your

00:03:14 ◼   ► mileage will be very based on where you are. But generally

00:03:16 ◼   ► speaking, I'm going to kind of address this if you're coming at

00:03:19 ◼   ► it from a student who is studying, you know, computer

00:03:23 ◼   ► science or software engineering or computer engineering or

00:03:25 ◼   ► whatever it's called this university. And first I want to

00:03:28 ◼   ► say is, one of the things that often comes up is whether a

00:03:31 ◼   ► degree is useful if you want to be a developer, if you want to

00:03:34 ◼   ► say, for example, you wanted to end up doing something similar

00:03:36 ◼   ► to what I do in terms of being an independent software

00:03:38 ◼   ► developer is going to college is going to college worth it in that

00:03:41 ◼   ► way. And I think that for A, that that's a that's a complicated question. And it's especially

00:03:45 ◼   ► going to be complicated by who you are, and you know, what your interests are and the

00:03:51 ◼   ► kind of the skills and the temperament that you have to start with. I would say school

00:03:55 ◼   ► is for most people, primarily useful in the long run, for understanding who you are, and

00:04:03 ◼   ► for exploring and expanding your ability to work independently. For most people in high

00:04:08 ◼   ► school, you have a much is very is very prescriptive in terms of the time, your time, what you're

00:04:12 ◼   ► doing, how you're doing it, etc. And as you move through the different levels of higher

00:04:16 ◼   ► education, there's more flexibility that's given to you in terms of you're managing your

00:04:20 ◼   ► own time, typically, you're moving away from home for the first time. And so you have the

00:04:25 ◼   ► this opportunity to have control of your schedule to see how you work when you work, how you

00:04:29 ◼   ► like to work. And college is a great example of a place where you can do that in a safe

00:04:34 ◼   ► environment in terms of it, you know, the your deal, you're

00:04:39 ◼   ► learning life skills, and you're learning professional and career

00:04:41 ◼   ► skills in a kind of context when there's not a lot of consequence

00:04:44 ◼   ► for downside. If you don't do your homework, you may get a bad

00:04:48 ◼   ► grade. But it's not like not not shipping a project that you're

00:04:52 ◼   ► contracted to do so where there's a lot of complicated and

00:04:54 ◼   ► potentially even significant impacts on you as a result. So

00:04:58 ◼   ► college is great in that sense. And I think a lot of people get

00:05:00 ◼   ► too wrapped up in, oh, I'm learning something that I don't

00:05:02 ◼   ► need to know or whatever. That's part of the goal. That's part of the interesting value

00:05:09 ◼   ► of school is that it's teaching you less the skills that you'll be able to apply later

00:05:14 ◼   ► on. There'll be times that you have to do work that you don't like in your career. And

00:05:17 ◼   ► it's good to have you to kind of develop the skills and the mindset of how to deal with

00:05:21 ◼   ► that. What do you do? How do you approach those problems? And that's not to say that

00:05:25 ◼   ► the actual things you learn aren't useful. And certainly they vary from department to

00:05:28 ◼   ► department from school to school. But I would say I learned a lot of things in my degrees

00:05:33 ◼   ► that I use today, though certainly not all of it. And the things that I use more and

00:05:38 ◼   ► most, most frequently are concepts rather than sort of implementation things. And so

00:05:44 ◼   ► this is sort of to speak to, you know, the languages that I did most of my, my learning

00:05:49 ◼   ► in college where I learned Java, and I learned ML, which is a functional programming language,

00:05:55 ◼   ► Neither of which I use at all today.

00:05:57 ◼   ► I use primarily Objective-C and Ruby,

00:06:00 ◼   ► but the actual languages didn't matter.

00:06:03 ◼   ► What mattered and what is important was learning concepts,

00:06:05 ◼   ► was learning about how to structure object-oriented designs,

00:06:09 ◼   ► how networks work, how all these, how CPU works,

00:06:14 ◼   ► building little microcomputers with transistors.

00:06:16 ◼   ► Like, that's useful because it gives you context,

00:06:19 ◼   ► and it gives you depth, and it gives you an understanding

00:06:21 ◼   ► that will help you down the road.

00:06:23 ◼   ► I'd give you some advice for CS students is make sure that you understand that you're

00:06:29 ◼   ► trying to learn the higher concepts rather than getting too stuck in the weeds. And I

00:06:32 ◼   ► would far, I'd recommend that you really try and make sure that you're understanding things

00:06:36 ◼   ► at a lower level rather than just at a rote level, rather than just trying to memorize

00:06:41 ◼   ► all the facts to put out on a test, because you're kind of missing the point if you do

00:06:44 ◼   ► that. And two, I would really, really encourage you to work on side projects that aren't related

00:06:49 ◼   ► to your class as much as you can, in the sense of it's the same advice I'd give out to anybody

00:06:54 ◼   ► who works in a regular career too, is it's a great opportunity. You have a tremendous

00:07:00 ◼   ► amount of time when you're in college. You may think you don't, but you do. If you just

00:07:04 ◼   ► wait until you're a proper adult who has a job and a family or a mortgage or things like

00:07:08 ◼   ► you have a tremendous amount of time that you can waste right now. And you can spend

00:07:11 ◼   ► that in a wasteful way. Or you can take advantage of this opportunity to be experimenting with

00:07:17 ◼   ► new projects, to be building apps, to be building web applications, to be doing things on a

00:07:21 ◼   ► regular basis that are interesting and building up a skill set that will allow you, when you

00:07:27 ◼   ► finish your degree, to be showing off a really impressive resume to your, either to your

00:07:33 ◼   ► future clients, to your future employers, or to have apps in your stable that you can

00:07:37 ◼   ► already start to be using in terms of trying to build an independent workflow.

00:07:42 ◼   ► And so I think that's an important part of it is to understand you probably, as much

00:07:47 ◼   ► as being 18 and feeling like, "Oh my goodness, I have no time.

00:07:50 ◼   ► This is so hard," understanding that this is probably one of the easiest times you'll

00:07:55 ◼   ► have in your life.

00:07:56 ◼   ► And certainly that's based on my experiences with a lot of my friends and people who then

00:08:00 ◼   ► it's like, "Oh my goodness, I had so much time in college."

00:08:02 ◼   ► It's like, yes, you do.

00:08:03 ◼   ► And so use that well.

00:08:05 ◼   ► Use it for things that will have enduring value and understanding that your degree is

00:08:11 ◼   ► largely just a stamp that says you did it. Don't get too wrapped up into necessarily

00:08:15 ◼   ► all the ins and outs of that. But understanding that it's you learn some skills along the

00:08:20 ◼   ► along that process. And the better you are at served your overall skill set, the better

00:08:27 ◼   ► you obviously you're not going to be going to school, your first job, you're going to

00:08:30 ◼   ► be writing code or doing whatever as a software engineer. So work on those skills as well.

00:08:34 ◼   ► And okay, so for the second thing I wanted to talk about today is talking about app.net

00:08:39 ◼   ► and developers. And this is something that is somewhat topical in terms of just a few

00:08:43 ◼   ► hours ago, they released a free tier, which I'll talk about in a minute. But I wanted

00:08:47 ◼   ► to talk a bit about it specifically, in terms of how it relates to developers. And I wrote

00:08:51 ◼   ► an article about this that you may have seen talking about the realities of being an app

00:08:54 ◼   ► that thought net developer talking about kind of how sad it is that there's this interesting

00:08:59 ◼   ► platform, some interesting capabilities and things, but the platform itself is very hard

00:09:04 ◼   ► to work for as a third party developer because there's not that many users. I think right

00:09:09 ◼   ► now, I've thought that is about 33,000 users or so. And not all not all of those are active

00:09:16 ◼   ► on the network. And so it's kind of a tricky thing to be to make a living there. Just there.

00:09:21 ◼   ► You know, if you if every if you have for your business to have a sustainable sort of

00:09:25 ◼   ► business model, if every single person has to buy your app, that gets really difficult

00:09:30 ◼   ► from a just a real is that realistic perspective. And so it's really kind of interesting in

00:09:36 ◼   ► terms of the way that the app.net developer incentive program is developed, which is basically

00:09:41 ◼   ► an alternative way to make your money. Rather than selling your your apps, your clients,

00:09:45 ◼   ► whatever they are, you get a kickback from app.net based on how happy your users are

00:09:51 ◼   ► and how many people are using your apps. And this is caused kind of a tricky thing, because

00:09:56 ◼   ► is first to his tweet bot, and then I think it was Riposte,

00:10:01 ◼   ► our two app.net clients that have recently gone free.

00:10:04 ◼   ► And essentially what they're doing with that is they're trying to

00:10:07 ◼   ► fight for a bigger and bigger piece of the developer incentive program.

00:10:10 ◼   ► And sort of eschewing the fact, eschewing paid sales,

00:10:14 ◼   ► and just saying, hey, we just want as many users.

00:10:17 ◼   ► If we can get, if we're free, we can get all 30,000

00:10:18 ◼   ► of the app.net users to use our client,

00:10:22 ◼   ► we'll make a better amount of better living from that

00:10:23 ◼   ► than we would from sales.

00:10:28 ◼   ► And I think certainly a lot of people

00:10:30 ◼   ► have got too wrapped up in the fact that,

00:10:31 ◼   ► oh, it's a race to the bottom.

00:10:33 ◼   ► They've totally taken the bottom out of

00:10:35 ◼   ► what people expect for client sales.

00:10:37 ◼   ► And the reality is it's always dangerous

00:10:40 ◼   ► when you start having those types of thoughts.

00:10:42 ◼   ► Individual developers have to make

00:10:46 ◼   ► the decision that is best for them.

00:10:48 ◼   ► And that's just sort of, I think,

00:10:50 ◼   ► one of those universal things

00:10:48 ◼   ► just kind of have to come to grips with.

00:10:53 ◼   ► That if a developer feels like he can make more money at free,

00:10:54 ◼   ► and then he could with paid sales, then that's a perfectly

00:10:58 ◼   ► reasonable thing for him to do, for him to change his business

00:11:01 ◼   ► model and to head in that direction.

00:11:04 ◼   ► And I think a lot of that is because, I mean, ultimately,

00:11:06 ◼   ► would you rather that they do that or they not develop?

00:11:09 ◼   ► Would you rather just be only hobbyists who are developing

00:11:12 ◼   ► something?

00:11:15 ◼   ► It's like these are the natural consequences that as much as

00:11:15 ◼   ► we'd like in an absolute, in an idealistic or absolute sense

00:11:15 ◼   ► say, it would be great if developers could write apps and

00:11:19 ◼   ► then get me make it pay lots of money for it, and have tons of

00:11:22 ◼   ► customers just throwing money at them, then that'd be great.

00:11:25 ◼   ► That would be awesome. I would love that. That's, that would be

00:11:28 ◼   ► great. But if that's not the reality, then the first is make

00:11:33 ◼   ► sure that we're not questioning developers motives, because

00:11:35 ◼   ► that's a dangerous game to get into. You don't know their

00:11:37 ◼   ► situations, you don't know exactly why they're doing it, you

00:11:39 ◼   ► don't know all the numbers that are going into that. So first

00:11:42 ◼   ► understand that that's a better that's a better perspective to

00:11:45 ◼   ► have to have on that.

00:11:46 ◼   ► And then two, it's understanding that it's just a really hard

00:11:49 ◼   ► market to be in, and so kind of some slack.

00:11:53 ◼   ► I wanted to talk about the app.net freemium model, which

00:11:57 ◼   ► was announced today, which is basically they have opened

00:12:00 ◼   ► the doors to users on the network who have never

00:12:02 ◼   ► paid anything for that.

00:12:04 ◼   ► And basically that's to say if you are a user,

00:12:08 ◼   ► I think each user gets a certain number of invites.

00:12:10 ◼   ► You can invite a friend.

00:12:12 ◼   ► reminds me a little of the Gmail rollout model a while ago.

00:12:15 ◼   ► And if you invite somebody, they can come

00:12:17 ◼   ► and they can be a free user initially.

00:12:19 ◼   ► And so basically, I think you can limit them

00:12:21 ◼   ► to 40 followings.

00:12:22 ◼   ► So you can only follow 40 people on the network.

00:12:24 ◼   ► There's a limit on the number of files, or the size of files,

00:12:27 ◼   ► and the total number of files that are something like that

00:12:29 ◼   ► that you can have on the network.

00:12:30 ◼   ► So there's a few limits.

00:12:31 ◼   ► And I think this is great news for developers.

00:12:33 ◼   ► I think what it does is it creates a sustainable incentive

00:12:38 ◼   ► or a sustainable customer base for developers

00:12:41 ◼   ► incentivize them in building new things in terms of now all of a sudden developers can

00:12:47 ◼   ► expect or hope that on a daily basis more and more customers will start appearing on

00:12:53 ◼   ► the network in a way that will allow paid sales to become more and more of a significant

00:12:57 ◼   ► opportunity or possibility.

00:13:00 ◼   ► And that's great.

00:13:01 ◼   ► I like that as a model and I like that it is a change they're making that I think addresses

00:13:07 ◼   ► a lot of those kinds of problems.

00:13:08 ◼   ► I'm not sure if it's strictly better for the network in terms of obviously now there are

00:13:12 ◼   ► people who are consuming resources on the network who aren't paying for that.

00:13:16 ◼   ► And part of what app.net's sort of core value was that it was user supported, user paid

00:13:20 ◼   ► for.

00:13:21 ◼   ► And so suddenly those users aren't paying anything.

00:13:23 ◼   ► And obviously they're limiting the size and the scope of it by using an invitation scheme

00:13:27 ◼   ► and blah, blah, blah.

00:13:29 ◼   ► But the reality is, what will happen down the road with that will be tricky and will

00:13:33 ◼   ► be interesting and something that I'm sure Dalton Caldwell and those guys are going to

00:13:37 ◼   ► be having to navigate and kind of understand.

00:13:39 ◼   ► But overall, if you're a developer of an App.NET client

00:13:42 ◼   ► or you're thinking about it, I would

00:13:44 ◼   ► say this is definitely a good sign in the right direction,

00:13:46 ◼   ► just something that they're going

00:13:48 ◼   ► to be improving the ability of developers

00:13:51 ◼   ► to be able to make a living by expanding out

00:13:54 ◼   ► the user base, which is awesome.

00:13:56 ◼   ► All right, I think that's it for today's show.

00:13:58 ◼   ► As always, if you have questions, comments,

00:13:59 ◼   ► or concerns, you can reach out to me.

00:14:01 ◼   ► I'm on Twitter @_davidsmith.

00:14:03 ◼   ► I'm on app.net @davidsmith.

00:14:06 ◼   ► And like I said, I'm going to be tweaking out

00:14:09 ◼   ► some of the formats, some of the changes

00:14:11 ◼   ► with the developing perspective going forward.

00:14:12 ◼   ► And if you have thoughts, feedback, things about that,

00:14:15 ◼   ► format, people you'd like me to interview,

00:14:17 ◼   ► concepts you'd like me to try and tackle, please let me know.

00:14:20 ◼   ► Probably the best place for that kind of feedback

00:14:22 ◼   ► is to email me, which is david@developingperspective.com.

00:14:26 ◼   ► And I'd love to just gather some feedback about what you're

00:14:29 ◼   ► interested in, what you like about development perspective,

00:14:31 ◼   ► what you don't.

00:14:31 ◼   ► It would just be really helpful.

00:14:33 ◼   ► All right, hope you have a great week.

00:14:35 ◼   ► Happy coding, and I'll talk to you later.

00:14:36 ◼   ► Bye.

00:14:38 ◼   ► [BLANK_AUDIO]