Introduce yourself! Who are you? Where do you work?
Hi I’m Erica Sadun and I just sort of exist? I’m a part time freelancer and technology author.
Who or what got you into programming?
I had started with mac programming around 1984 (after other types programming for quite a while), and been programming with Next. In there was also some Small Talk, Lisp Machine stuff, and then onto Pascal for the mac. I remember Apple originally published loose leafs, then bound books, and then that took me all the way up to OS 8/9. I was doing development, but It wasn’t really “serious” development, it was sort of playing around. But during that time, I was doing more of the Small Talk stuff with Small Talk Machines or the Star.
Then suddenly, we were in real world Macintosh and Windows, during the 90s there were all the PCs and stuff, and then Next went to the Next Station, Next Step, then Next went out of business, and there was Open Step. And during that time period, people developing for the macs were using pascal and Inside Macintosh.
Developing for OS 7 OS 8, by 9 time, life got in the way. Life always has plans.
Anyway, I got pulled into iOS when the iPhone was released, and I got there early. I was privileged to be part of the early developer community and it was amazing time and surrounded by amazingly talented people, and to be able to experience that was just a pure pleasure. I wrote my first program summer of 2007, it was an app for jailbroken iPhones to show running processes on your iPhone.
How has working on books and blogs helped with your career
A career? Nah! I love writing, which apparently a not a lot of other people do. I really do love the process, and love technology writing. I think if you’re serious about a career and going to be pushing forward in technology, you are not going to be writing many books. If I could write romance, I’m sure there’d be a lot more money - haha! Unfortunately, I seem to have a better knack for highly technical topics than personal relationships, but stay tuned for 50 shades of protocols! :P
I used to run a iOS development conference - Voices that Matter, and it ran for a few years, until the backing publisher made a strategic move to shut down all it’s conferences, so unfortunately didn’t continue, despite the success and praise.
When you mime programming, do you use t-rex arms or wiggly fingers?
I use t-rex arms for sure, but also wiggly fingers at the same time. The elbows are tucked backwards to make short arms, but the fingers are definitely moving. I believe that’s actually universal sign language. I think people often do both. I think people do t-rex arms, because where the keyboard is most of the time when we use a computer.
What has been your toughest lesson to learn in your software career so far?
I don't think I have one per se, but I think the toughest lesson in my life, or most important lesson, is how to accept criticism gracefully and learn from it. Criticism is so valuable in terms of growth and development.
I think people naturally want to defend themselves when they’re criticized, and while a lot of criticism can be genuinely stupid (it exists), I think the vast, vast majority is is people helping you, and to push back against that help, without giving it due consideration is not in your best interest.
In technology in particular, when you ask for a opinion, the chances of the person is trying to hurt your feeling, or make you feel small or be actively cruel is so vaninishlingly small, that even in the occasion that they’re wrong with their criticism, you should actually hold onto it like a precious gift. It's not necessarily the way criticism works in the rest of the world.
And in terms of code review, it's usually not an opinion of the person, it's an opinion of the code. It's why code review is so central to what we do. And it’s a really important reason why I wrote the Swift Style book because the ultimate nature of code is not just to compile, its to communicate. You can write obfuscated code, and it’ll work and compile, but it won’t be readable, maintainable or expandable. It won't be something that lasts, and as a software engineer your goal is not just writing code for today, hopefully your goal is to write code that is going to be around for decades.
They’re building blocks that are strong, and when pressure is put on them whether its growth or demand on the program, or just taking something and pushing it to the limits of its input, no matter how you’re doing it, you want it to be stress resistant as possible. That’s why when we code, we comment, test, review. That why you can waste an afternoon playing code golf, because that strength is so critical, because every developer who is developing for more than a school class, is going to reuse code. You don't want to have weak code, bricks that will crumble or infrastructure that hasn’t been thought through. The way you do that is by accepting criticism, by putting as much as much pressure on both yourself and the code, to create the best possible product.
If the only eyes that are looking at your code are your own, then you are missing stuff. My tip here is to put your code (or writing) aside for a day or two, and just get that distance. Just get some sleep, and go back with fresh eyes, and lets you do a bit of self criticism as well as going to others.
Sorry, long answer - but the point is that is the graciousness that allows all of this to happen. I just know my code is better and stronger when I work in groups.
What would be your number one piece of advice for a successful software career?
The other half of the above is to always think of yourself as a learner, it’s not just keeping up with what's new in the field and all that, but also yourself.
It’s like being in a community of wizards, and there’s still so much wizardry to learn, you never can learn it all. People who have been doing unix command line, 30 or 40 years later, they’re still finding cool stuff they never knew about. There’s that moment of clarity when you discover a new trick, that you had no idea about - it’s wonderful. I think it's that sense of wonder that brings people into technology in the first place, and I think as software developers, we get that more than any other profession.
Have you got any hobbies outside of your job? Do you think they help your tech career in any way?
Biking. It's the closest things humans can get to individually flying. It's just a very transformative activity. How fast you can go, where you can go, and much more.
What is the Startup scene like in Colorado?
In Bolder, Google just moved in, so that’s cool. But, over the last 10 years, so many people have moved in from California, that prices are going through the roof - the same thing that happened in Austin, Texas. It was attractive, because it had the right kind of startups. Because of that, it didn’t have the infrastructure, to go as fast as people would have liked it to go, so they’re building like mad. Its losing a bit of it’s charm. It’s still a great place, but it’s growing really really fast.
What books/resources would you recommend?
How to write a computer manual: A handbook of software documentation - Jonothan Price (Apple) He basically based on the internal Apple training documentation. It’s just an absolutely brilliant book - from 1984!
Unlike software and computers, where there is always something new to discover, with writing, there is alway something old to discover. People have been doing it a lot longer, and there are certain basic truths in how to communicate, in how to instruct, how to be clear, how to be clear, and the beauty in simplicity. Some (in fact, quite a lot) of these transfer over to software, which is why I was able to bridge that in the Swift Style book, but with writing I particularly love that book. Even though, the particular technology he talks about feels completely alien to today’s eyes, how you keep things clear, well structured, and beautiful - that stuff still resonates.