×

Getting Apps Done

Episode

16

Listen on iTunes Listen on Spotify Listen on Stitcher Listen on Google Play Listen on Overcast Listen on Tune In Listen on Cast Box Listen on Pocket Casts Link to our RSS Feed

Reverse Interview - Eri Hariono

February 28, 2019

We talk to Eri from Jakarta, Indonesia, who is currently shifting from a career in law to software development, in part two of a series of reverse interviews, where we let newer developers from #100DaysOfCode ask us any questions they like!

  • 00:02 Joshua

    Welcome to getting apps done, a mostly non technical podcast with the goal of helping you deliver software because if you didn't ship it, it didn't happen.

  • 00:15 Joshua

    Eri, would you mind introducing yourself and telling us a little bit about you?

  • 00:19 Eri

    Yes. I'm Eri Hariono from Indonesia. I live in Jakarta. I was studying at law school and work in the field of legal for around ten years and then I was transitioning into digital marketing until now and finally I decided in the middle of December, 2018, I'm starting my learning journey for learning web development and right now I'm focusing on learning javascript.

  • 00:54 Joshua

    Okay. Excellent. Kellen and I have actually discussed this many times at length that actually the law and software development are very closely related and people don't realize it. It's all about rules. When it comes down to it. Though we've often said that all laws should be forced to compile because sometimes I don't think laws actually would work together if you were forced to combine them and make sure that it clicks, like you can withdraw grabbing. Yep. Um, uh, but the theories behind them, it's all very much the same. You're building up a set of rules and trying to make sure that no matter what path somebody comes in through those rules will still apply and cover the case and that happens whether it's a legal documents or an application. So it's interesting that you're actually coming from law and moving into software development.

  • 01:43 Eri

    Quite strange maybe for most people.

  • 01:46 Joshua

    You would be amazed. I've seen people come from all different sorts of careers into software development and sometimes those things can actually really help them and promote their career very quickly because they've got a unique skillset that a lot of other developers don't have.

  • 02:01 Eri

    That's really a thing.

  • 02:03 Joshua

    All right, so I'm guessing you've got some questions for us. I'll let you start asking us and we'll try our best to answer them.

  • 02:11 Eri

    Yeah. The first thing came into my mind, is Software Engineering easy to learn for nontechnical people without a science or engineering background, or actually is it complicated?

  • 02:34 Joshua

    It's a tough one to answer. It depends on your personality and the way you like to learn. Um, some people find it really, really easy because they're very logical people and they love to spend a lot of time learning. And I'll tell you upfront, if you want a career in software development, it's a constant journey of learning. When it comes down to it. You never stop. I've been developing software for over 20 years and I'm still constantly picking up new stuff and having to learn new frameworks, new languages, new techniques, and it never stops. So if you're the sort of person who loves that, it may actually be really great for you. If you hate learning new things, probably not the best career.

  • 03:12 Eri

    Keeping yourself updated is a must.

  • 03:16 Joshua

    It is. Yes. And that will never end. Certainly not anytime soon. The other side of it is if you're a quick learner, that obviously helps with just about anything, but definitely true with technology things. If you are a good problem solver, that's another thing that will definitely help your journey. And anybody who can tick all those boxes and it's not, I will never say that software development is easy, It's not, but certainly for people who tick those boxes, it's easier and as much more enjoyable.

  • 03:47 Kellen

    And I would speak to your comment about it being a technical profession, I've, it's kind of surprising, but a lot of development, doesn't get very technical. Like it's a very specific silo that you're working in so you're only, you're only kind of working on your business product or your product in general, so you don't necessarily have to know a lot about, uh, other things. Like you don't really need to know how Windows or Linux works just to do development work. That's helpful, but it's not a requirement. And I've met plenty of programmers over the years who could barely use their computers and were very successful at programming. So yeah, if you liked the problem solving side of things, you don't actually have to have the rest of the technical skills, at least not immediately. They'll kind of, they'll come as you learn.

  • 04:30 Eri

    I love learning new things.

  • 04:32 Joshua

    Well, there you go. You've got one of those things already.

  • 04:38 Eri

    Yeah, and the second thing, what's sort of this thinking process to obtain and developing in becoming a great software engineer?

  • 04:46 Joshua

    I tackled it from a problem solving point of view when I first started. That was really why I got into software development in the first place. I wanted to build things and I wanted to solve problems and there were a lot of different ways I could have done that. I chose software development because I just happened to have a computer and I was one of the early people to have decent computers and that seemed like a good career path I was interested in. It was something that I like to play with, but it was certainly, I looked at it from how to solve problems. I wasn't looking at it in matter that I needed to learn all this syntax and I really wanted to do it because I wanted to learn the syntax. Every time I sat down to learn something new, it was, okay, I've got this problem now how do I solve that problem? And you just kind of build upon that. Once you solve that one, it'll introduce a new one for you. And you figure out how to solve that

  • 05:35 Eri

    Problem solving skills.

  • 05:37 Kellen

    Yes, absolutely. Programming is a lot of problem solving. And that's kind of the, the continuing thing is you'll learn a pattern that you can now apply to a set of problems and then the next problem requires that pattern and a bunch of new patterns that you need to learn. And so it's kind of a continuing thing. Personally for me, for a long time it was kinda like a puzzle game of how can I solve this problem? And then playing with different patterns until everything kind of clicked together and worked. Um, and then as I got better at it, it kind of became a little more artsy, I guess it was, you know, how can I solve this problem and also make it look nice and you know, be efficient and

  • 06:13 Joshua

    Elegant.

  • 06:14 Kellen

    Elegant. Exactly. And so it's, it kind of grew. Um, and then that's, and that's not the only path to developer either. Like that's a particular type of developer likes that sort of code. Other folks like just building business products. Their entire goal is to get something that's functional and useful out the door. So there's definitely different paths to creating software. Some people just want to create the software and it doesn't have to be that pretty under the hood and some people are kind of in it to make the, to make it pretty and you know, the end result might not be as important to them.

  • 06:47 Eri

    Okay.

  • 06:48 Joshua

    That doesn't detract from reading books and learning about syntax. Those are all important things, particularly development concepts. When it comes down to it syntax itself, you're going to shift between syntax. Even if you stick with the same language, it will change and evolve over time. But a lot of the core concepts stay the same. It doesn't matter what programming language you're using or most of the concept I learned in development 20 years ago still apply today.

  • 07:14 Kellen

    Yeah. And the, and they're really mostly patterns. There are things like loops and like buffers and queues and yeah, there, there are all these, you'll, you'll hear all these words as you go through programming and you'll eventually start seeing the exact same pattern over and over again. And sometimes it'll have a different name in different languages or frameworks, but it's still the same pattern. And that's probably the, the most important thing you end up learning as a programmer.

  • 07:38 Eri

    Basically, in principal, they're still the same as thirty years ago.

  • 07:43 Kellen

    Exactly. And there's, there's some things that people will have learned a new patterns or new styles of approaching problems, but there'll be based in things that we knew before or have tried before. So you know, you'll hear, you'll hear things like functional languages or object oriented languages and all these other like styles of programming and they're all just kind of variations on a theme in a lot of ways. Though, they can take a different mindset. It's also kind of like puzzle games where two different puzzle games, it's the same kind of thing to solve puzzle games, but it's, the puzzles themselves are totally different. So practice.

  • 08:19 Eri

    So, um, how did you train yourself in improving these problem solving skill?

  • 08:25 Kellen

    That's a really good question. So I learned, uh, for me, a lot of learning programming and being able to practice it is kind of that feedback loop of, you know, failure, success and getting, you know, keep trying until you get it correctly. Um, for me that was a lot of back and forth of just proofing myself of does it work yet and do I like it. Um, eventually though I did to get some more formal training and programming, uh, where I actually had some classroom time though, not a whole heck of a lot. And that was really helpful to kind of really quickly kind of learning some of the more complex topics of like object oriented programming. I don't know if I would have gotten without some classroom and book time. Um, but the rest was very much just kind of playing with it until it worked the way I wanted it to. My first early programs were not pretty at all. They were, they were barely functional under the hood, but they worked. They were probably terribly, terribly slow and just awful in every way. But they worked and you can get a long way by just making something work.

  • 09:31 Eri

    Yeah, the most importing thing is making it work. Okay. We often heard that this famous quote "You can learn anything, but you cannot learn everything. That's why you should be especially selective about what you learn." Yeah. My question is, how do we know as a complete beginner, the effectiveness and determining the selectiveness if we haven't tried the programming language first. I mean there are so many things to learn. Right? We cannot learn everything.

  • 10:06 Joshua

    We might be the wrong people to ask that one.

  • 10:08 Kellen

    I don't know. I think we have a unique viewpoint on that question.

  • 10:11 Joshua

    We do. I would say we are both in a lot of ways. Jacks of all trades. We didn't highly specialize because I think things shift too frequently to highly specialized in anything. And I also don't think, particularly as a new developer, that you can pick the right thing right out of the box. It's much better from my point of view to spend a little bit of time doing lots of different things and to experiment and test and play and have some fun with it and you will naturally gravitate towards certain things. Certainly, while I say I'm not a specialist, I tend to use the same languages over and over again because over time, as I've played with various things, I've discovered some that I liked better than others and those tend to become my choices. I don't like to say that I'm going to always be a Java developer because I was a Java developer for years and then I became a c sharp developer because I decided it fit better for what I was doing at the time. And eventually, as web technologies changed, I've changed from various frameworks and libraries and I've shifted over time and evolved based on my experimentation, my playing and I love to build little side projects in whatever new thing is coming up just so I can get a taste of it and decide, okay, is this something that actually really fits well for me? I don't like to make those decisions without having done that testing and experimenting first

  • 11:31 Kellen

    Yeah, and the other version of that is to, to hit the big frameworks. So you know, doing Java or javascript and React and like the things that, there's a lot of companies that use, you can kind of start there and that'll at least get your foot in the door of, you know, being useful to folks right off the bat. Um, and then from there you'll start working on little side projects. Maybe you get really interested in the back end or maybe you get really interested in this, this other framework that they wanted to test out. And so it will be, you kinda will naturally learn to specialize and you can make choices. Um, but as like a beginner, especially if you're hoping to find a job really quickly, I'd probably recommend, you know, sticking with the big names, the things that you see over and over again, like javascript and such, you know, stick to stuff that's useful right out the gate. But you, you will definitely specialize over time. And like Josh said, we're a little bit of an odd ball, neither of us did a very good job at ever specializing we, we really like everything. It's different. Every time we get too used to something we go look and try to play with something new.

  • 12:32 Eri

    Yeah, so it's like doing the reverse engineering. Right?

  • 12:39 Kellen

    Absolutely. That's a lot of the way that I learned was kind of, Ooh, how does this work? This is neat. And then tearing it apart. And that's actually as close to a specialty as I have, is I really enjoy looking at frameworks and trying to figure out how they work. Um, and that's kind of a useless skill for the most part in terms of like business development. Most people don't really care how React works, they just liked to use it. Um, but it's, I don't know, that's, that's kind of the area that I enjoy and get a kick out of. So everyone kind of enjoys different parts of development. There is definitely a lot there, um, to, to specialize or learn to enjoy or to like.

  • 13:13 Joshua

    Yup. And not all choices have to be about business. If you're planning on doing this as a career, it's much better to do something for your career that you really enjoy and get some pleasure out of because otherwise you're going to burn out really fast.

  • 13:26 Kellen

    And that is also a bonus of the development career that even if you are a highly specialized, or you pick kind of an odd, you know, subject in programming, you're still quite valuable, valuable to most companies. So like there's usually a job, even if you choose to do a chunk of programming for fun, basically. You know, you don't have to be just focused on whatever pays the best. There's still a lot of programming jobs. There's a wide range of skills that people are looking for right now. So you have a, you have a good bit of flexibility to kind of grow into something that you enjoy.

  • 13:59 Eri

    Thank you very much. As far as the insights and feedback. It's very valuable.

  • 14:07 Kellen

    We're glad that we're helpful.

  • 14:10 Joshua

    Before we go, just to ask, so you're brand new at development, um, first off, what made you interested in it and then second, if you are going into a career in development, what sorts of work are you looking to go for? Are you looking at freelance or would you like to work for a company? Small Company, big company or,

  • 14:29 Eri

    Last year starting October I was researching for which programming language, something like that for around two months. And then from there, I decided to learn web development, because I think javascript, HTML, CSS are the most used in a development world. So I finally decided to set my goal as a full stack developer in javascript, because I want to digitize my ideas. I have actually many ideas to make a web app that I didn't know how to make them into reality, but that was many, many years ago and last year, I felt that maybe this is the thing I really want to do.

  • 15:25 Kellen

    That's a great reason to become a programmer. Having ideas that you want to create is one of the better ways to kind of drive towards that, to learn that skill because you have these goals that you want to build and it really can kind of help focus you.

  • 15:39 Joshua

    I really liked the way you said that. Digitize my ideas. That's really good.

  • 15:44 Eri

    Yes. And I am to work as a developer for a startup.

  • 15:53 Joshua

    Okay. All right. That's certainly a very distinct career paths because certainly if you want to go corporate, there are certain things you would to learn. If you want to go for a startup and small companies, then it's usually a different thing. And the technologies you mentioned are certainly going to be very useful, useful on either of them, but certainly for a startup, or a small company, they're going to be very, very useful and you'll find most of them will be able to make use of those skills.

  • 16:18 Eri

    Absolutely. Thank you very much for taking this time.

  • 16:24 Joshua

    Thank you for joining us. We appreciate you coming on and asking your questions so that we can share them with other people. All right, thanks again Eri. I will put some transcripts up at gettingappsdone.com. Please be sure to check out my website at joshuagraham.info and Kellen's website at piffner.com. I will also toss up in the transcripts to Eri's LinkedIn profile, if you'd like to learn a little bit more about Eri and what she's up to. Uh, thanks for joining us. Be sure to subscribe to the podcast. Oh, and be sure to check out our new website. We just finished it and uploaded it yesterday. It's all polished and looking beautiful, and we will have a Eri's episode on there as of right now. Until next time, thanks for listening.

Getting Apps Done

with Joshua Graham and Kel Piffner