#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: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: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: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: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:38
◼
►
[BLANK_AUDIO]