Career Transitioning To Become A Developer

The world is changing, and now so are you. Want to become a developer? Our Podcast hosts Dave Erickson, Iman Kaur and David Levai take a deep dive into their experience in the development world and talk about how they made the transition from other careers to that of becoming a developer. Find out what it takes to make a career transition to becoming a developer. How to get the education and what is the cost? What kind of experience do you need? How long does it take to become a good developer? Need answers for such a transition, then you need to listen to the ScreamingBox Career Transitioning To Becoming A Developer podcast.

SPEAKERS
David Levai, Dave Erickson, Iman Kaur

Dave Erickson 00:31
Welcome everyone to the ScreamingBox technology and business rundown podcast. I'm your host, Dave Erickson; today we have David Levai and Iman Kaur who are going to be talking about transitioning into coding and learning different coding platforms. So I guess we'll start out with Iman. Give us a little background as to how you decided to transition and where you're transitioning from.

Iman Kaur 01:02
Yeah, so I have a background in physics. I have an undergrad with a major in physics and I have a master’s in physics as well. So while I was doing my thesis work for my masters, I got to learn a few languages for my project and that's how I was introduced to coding. I got so fascinated and I was so interested in just coding itself. So I transitioned from core physics into coding. Then I started learning; I self-taught myself a few languages like C++. I started from there, then learned JavaScript and React Native. I started doing small projects for my family and small websites. Honestly, I feel like it's a very creative field where I can put my ideas and actually see those ideas come to life, which is very interesting for me.

Dave Erickson 02:00
Great. David, how did your transitioning journey start?

David Levai 02:05
It's cool to hear that Iman; you made a transition from physics. It's much more interesting than how I started out as a web designer. I liked how great websites look and I really hated how bad websites look. When I was around 12 or 13, I started to design and create some websites, the way I imagined they should look. Next, I started using Photoshop; I've created websites with Photoshop, which is just kind of an interesting thing to laugh at right now because it's really a no-go in 2021. But it was a thing in 2008, or around that time. So I experimented with things like this. Later on, I wanted to make those websites come alive. So, I started using WordPress and customizing some WordPress themes. Eventually, I got into coding using HTML, CSS, some JavaScript, jQuery, and PHP stuff for WordPress. I quickly transitioned; I became a freelancer while I was still in high school. After a couple of WordPress websites, I learned how to build web applications, mobile apps first with native languages. I coded Android in Eclipse instead of Android Studio, sometime around 2012. It was interesting to learn all of those during my high school days. It wasn't as easy as today. As far as I can remember, it was harder to find the best options. There wasn’t anywhere to easily find out how to build up a blog or a website for learning how to code. So I really had to dig down deep into Google's documentation about Android. At that time, that was really technical documentation. There wasn't an easy way of getting started in 10 minutes with developing a mobile app in 2010. But, it's actually pretty awesome to learn how to code. I am helping my little brother to learn; to get started in web development. He can learn everything that he needs to develop websites, web apps, or practically anything completely free. He started with free code camp.org. I think they've been in business since the 2010s. Their mission is to give everyone free education in how to code. They have pretty easy-to-follow lessons. There are some projects where there's the option to donate to them. But to start to work with them, you don't have to pay anything. There are some kinds of bootcamps like Frontend Masters Bootcamp, in front-end development, HTML, CSS, and JavaScript. Again, it's easy to follow. It's like a recording of an in-person workshop. But it's fascinating how learning to code has changed from how I did it 12 years ago.

Iman Kaur 06:09
I think you're right, my younger brother is 21. He is working with electronics and computers. He hasn't had any language courses yet. He has an issue with the way he learns. He cannot read an article, or course material, he has to listen to it. However, since there are a million YouTube videos, he just plays one and listens to it all day; that's how he started coding. It is strange to me that he learned to code just by listening. So yes, maybe back in the early 2000’s it was rather difficult, I learned the same way as you. While I was a research student, I became a research assistant. My basic nature was to learn things just by myself. It's a bad and a good thing that I taught myself my whole life. I always liked cellphones and wanted to find a way to make them better. I discuss the process with someone once I'm finished. I also learned everything free of cost. I just found material from Google and would just start trying things out. There is a library in San Jose where few people who code together meetup. Before COVID we would just go once a week. Random people would show up in the library and we would code together. If someone was working on a project, we would just help each other out. We had a lot of meetups and that's how I got introduced to languages. CSS, HTML, and Python are completely different fields; I don't know if you guys are aware. So there's a meetup app where you can, especially in the bigger cities like the metro area, organize basic workshops. There you can code for a couple of hours, and see if you like it or not. My brother doesn't like JavaScript, he's more of a Python guy so he went with that. I think that you can figure things out without taking the course or paying for the education. There are people who organize workshops, they are probably not from any particular company, they're just people like us who want to help. Okay, my first questions are, can I get a job with that skill and what kind of job can I get? People who are hosting the workshops would talk to you and answer your questions in the best way possible. In San Francisco, where I learned, there are people from all over the world. So I think that's how I got to know, this is somewhere I can go, this is what I like and don't like. So, I wanted to go for it. I think that was pretty helpful to my direction.

David Levai 09:08
Yeah, I think learning new skills in the community gives you the power of accountability. If you have some friends and you're talking about building something by transitioning to coding, you don't just want to learn code to get a better job. It's motivating to have something you want to learn about, like coding when you have an idea of an application or a website you want to build. Some people tend to think that you have to have the motivation to start working on something. If I try to imagine something, I think that motivation actually comes from building something out and wanting to see the result. So to start, I don't need motivation, I need self-discipline. When I have self-discipline and start working on something, I will have the motivation when I see that it works well. So in a community, if you have friends who have this same discipline, you can have accountability partners. You can give each other tasks and hold each other accountable. The community really has power. When you start to experiment with something you find great people to work with; you find new people to network with.

Dave Erickson 10:46
Yeah, and in those networks, you're learning, coding, and working with people in groups, whether it's a meetup group or a Facebook group, as it develops over time, it will help connect you. One of the questions that I have is about self-learning something; I've done that with some technologies as well. The real issue is, once you learn and you've done a few experiments, and a few projects, you can say, this is what I love doing, I want to be a developer. At that point, you need to shift into getting experience, being part of projects. I guess my question is, how did you start that? What advice do you have to experience once you've learned something or taught yourself and had one or two projects? How do you focus? Where would you go to get more experience and what type of experience?

Iman Kaur 11:56
I started connecting with people because I got my certification during COVID. I couldn't go anywhere, but people were networking in calls. That’s how I met you, at a virtual conference, right? Just one minute of networking can feel like the best thing you could ever have. Because when you go to an event by yourself, to a conference, you rarely have the same chance. Sometimes you feel shy. You might think, maybe I should talk to someone or not talk to anyone. I think with these kinds of one-minute networking calls, especially in the virtual ones, you are forced to talk to each other and to have a quality level of conversation. Since they only give you three minutes until you are just going to drop off the call, you have to be focused on presenting your idea and you have to give that other person the chance to talk back. I have gotten a lot better at talking because of this. Now I can say everything I need to in less than two minutes. The other person can reply and if either of you is interested in hearing more, you can exchange information before time is up. It’s a very good way to connect with people. I got connected with a few people who were working for startup companies that haven't launched yet. I think that was the best way to start working. You may not get paid but that's okay. The projects are so amazing that you want to participate just to learn. That was my whole purpose, to find people because I wanted to learn by doing real projects, actually working instead of doing just small things for practice. Start by finding startup companies by going to small conferences where everything is virtual, this is an advantage. If you present yourself well, some do offer internships, especially the smaller companies because they need more people who are eager to learn and make a full investment in them. It's beneficial on both sides because they don't have the money yet or they're raising funds and you are able to work on projects to learn. So that's how I started.

David Levai 14:19
I think for developers there are two ways to get experience and two types of experience. One is hard skills, and the other one is soft skills. When you're learning by yourself, it's pretty easy to train on hard skills, because there are countless tutorials on the internet to learn any kind of hard skill you want. If you open YouTube and search for any word concatenated with a tutorial you can learn it. However, you cannot really learn soft skills through the internet. Math review really has to have a team. Even to learn how GitHub works, how version control systems work in a team, you have to learn how to talk with your boss, or how to talk with your employee. I always say that even if someone wants to work for themselves, it's a great experience to learn how to work in a team because there is a demand for interns, and for working as a Junior software developer. Personally, I don't want to work with FAANG companies, but I think everyone has to have this experience. And that really has to be a fan component. It could be a big or multinational company too. If you have worked with any kind of big company, it's a totally different experience to work with a small company. You still have the same position, you can be the same Junior software developer but working with a company with 20 to 50 people with one or two teams is totally different from working in a big company. Iman, have you worked with bigger companies before?

Iman Kaur 16:44
I liked working with a small company because it's like a family. We were literally like 1012 people and it was a brand new company. As you said, you were a web designer, so while we were building the website, we were giving our feedback. “This is great, now I'll help you with Figma. I learned Figma while I was helping someone out. The person who owns the company would say, “Okay, I'm reaching out for funds to these people”, she would discuss it with us like a family, we were a small team. She talked about everything with us. At some point, I want to have my own company; I want to do something on my own. You see people working from scratch and learning every single thing, and I think it makes you much better. Meaning you can do your own job much better, giving feedback. I learned a lot of business strategies from our manager, who had an MBA, for example, how to reach out, you know, and about designing too. And yeah, it was great.

David Levai 18:00
I think what you said is key. When you're working with a big company like Google, Facebook or Amazon, you'll be a better software engineer. But if you're working on a small team, you will be a better product builder. Because you have to learn a little bit of Figma, a little bit of software testing, how to deploy something, and how to add a no BS back end. If you have to fix some bug, you'll generally be a better product developer instead of just being a better engineer. It depends on what you want to achieve in the long run.

Dave Erickson 18:48
Obviously, startups and small companies don't have enough resources. So there's a real opportunity to learn and grow. I've worked for big multinationals, like Xerox and Qualcomm and most of the businesses that I've started, have all been small or medium-sized businesses. I personally enjoy that communication and that feeling of family and allowing people to be able to grow and try different things. That to me is exciting. Working with large corporations, if you're a developer for Facebook, or LinkedIn, or whatever, you gain something different. You usually become much better at the hard skills and they push you technology-wise to be more organized and to code in a way that allows others to integrate into that code much easier. Whereas with smaller companies, they're not as concerned with that; they're just concerned with, hey, I need to make this thing work, make it work, and do whatever you need to do to make it work. And so that gives a very different opportunity. That's why for a developer to become what I would consider a senior level developer, they've had to work for both small companies and large companies, and have enough of that experience. Some developers can get that experience in five years because they've worked five different jobs because they wanted to try different things. Sometimes coding jobs, you get what you can out of it. If after a year, you're doing the same thing over and over again, you will want a different opportunity to learn and grow. So a coder having five different jobs in five years is not an issue; it gives them a lot of seniority in the sense that they had a lot of experience. As opposed to a developer who's stayed in one company for five years, they get experience, but they may not get the variety of experience. And that's also different. And so I don't know-how, as a young coder, or as somebody starting out in coding, how interesting is it? Are you looking more for stability and a longer-term job? Or do you like the thrill of, you know, going from job to job and learning new things? I know, freelancers love having new opportunities all the time, but it's different for everyone, right?

David Levai 21:17
Yeah, I think what is great about working for bigger corporations for starting developers, is they can learn so much about development. They can get experience with a specific tech stack or a specific field of study. Another thing is, the company can build up their emergency funds and start to invest because these corporations think in Silicon Valley, for juniors, they will pay up to 100k per year. If they spend that for two or even three years, they have enough money to start experimenting with anything they want. They can start working on a startup, they can start working with startups, they can do practically anything because they don't have pressure on them.

Iman Kaur 22:33
For me, I think it’s about scalability. I actually like challenging situations more, because then I push myself to learn and to connect with more. That's how I am,I have a Master's in physics, and putting together a thesis was really tough. My mom always thought that I should have continued with the school to get a doctorate. She thought it was a waste of time to get a masters in physics just to be a software editor. I was criticized about it early on, but now I feel like it's actually a good thing because I might work for a scientific company. Since I live near Silicon Valley, having this kind of background connects me with more people because I know the core of physics. Whenever someone asks me, why did you get a master’s degree in physics instead of in computer science? Being a diverse person makes me valuable.

Dave Erickson 23:52
You can also understand if the software is working with the hardware, how the hardware functions, and you have an understanding of the software to firmware to hardware relationship. So that makes it easier for you to do more than just software development. I think that's interesting, I come from the hardware industry. So my background is more electronic hardware. So I like products and realized that more and more products are basically hardware platforms, running software, versus just a simple hardware product. Now, with the integration of AI and robotics, and a lot of the self-learning programming that can happen. Hardware is becoming a very powerful platform to run software on.

Iman Kaur 24:46
Let's say you're talking about the hardware, how things actually work. So being from a physics background, I actually have a better understanding. So there's nothing in this industry, which I can't learn. If you're working on something I have never seen before and you tell me a little bit about it, I will understand. So it's not like I am just a beginner who is working on a particular project with a team who has no idea what is going on. I always have an idea of what is going on and what is being worked on. There are other teams that are working on understanding, and I feel like that makes you a better team person as well. You understand what the other person is doing, instead of like, “Oh, this is easy, you can do that”. You know, so I feel like that's more respectable and you become more respected. Like, I always thought designing is super easy, I'm not gonna lie. But once I started doing it, it's so annoying sometimes, because a small button is something we kind of put in there, it's not gonna appear by itself. So a small button, is something you get to make it happen, you know? So I have a lot more respect for design people now and every single person and their work, as well.

Dave Erickson 26:05
Well, David, just out of curiosity, how many different kinds of technologies or coding platforms have you learned? And is there one that you like over other ones? Do you have a favorite?

David Levai 26:21
Yeah, I really like to experiment with tools, languages, coding, or anything in general. If we just count project management platforms, I tried out at least eight different ones in the last two years. If we’re talking about coding, I started with JavaScript and I stuck with it until I moved over to TypeScript for a while. And I love that it’s just typesafe. The reasons I feel that it's better to write TypeScript code than JavaScript. I had some experience with PHP, which was mostly for WordPress. But it was a long time ago. I don't think that I can write a line now. I experimented with Python for a year. I developed native iOS and Android applications. So for android, it was with Java, Javascript, and the Android SDK. I’m not sure which one. I was supposed to deal with Objective C, but in the process, I have transitioned to Swift, and now I'm experimenting with SwiftUI in my free time, or with Rust. Rust is a pretty fascinating language that has just started to get some attention in the last two years. It's similar to C, but it's a much more modern way than working with C or C++. It's interesting. Iman, did you try out Rust before?

Iman Kaur 28:20
No, I haven't. I was about to ask you if you could tell me more about it?

Dave Erickson 28:30
What kind of languages have you learned, Iman? What ones did you find interesting for you?

Iman Kaur 28:36
Honestly, I only just started using C++. I learned C in the past, then I started with HTML, CSS, JavaScript, and React Native. That's all I learned so far. I might stick with JavaScript too.

Dave Erickson 28:51
When you learned React, was it easy for you to learn and apply?

Iman Kaur 28:58
It was actually pretty easy but most of the projects I have done have been in JavaScript. I definitely want to work more on React for sure, but I feel like JavaScript is more vast. Working on JavaScript, I feel like I'm more comfortable so I'll just keep on working on making it my strong suit. I would definitely like to learn more about React Native. Learning is not the difficult part. The difficult part is to apply it when it comes to real projects when you're working on something and are actually writing code.I have not done many projects with it. So I'm not very confident working with it.

David Levai 29:40
It's funny, I've been working with React and React Native since 2016, I forgot to mention this previously, but these are the main tools that I’ve used in the last five years. I think they are working well and they have a pretty easy learning curve. For example, it’s much easier than Angular and React Native. As you said, it's easy to get started and involved in it. When you're moving on to production, there are some things that you can bet you have to deep dive into. These would be native platforms, build processes, and build mechanics and, then just knowing React and React Native would not be enough. But, as you said, JavaScript is extremely versatile. You can run JavaScript on mobile, in a browser, on a desktop, you can even run it on microcontrollers now with TensorFlow.

Iman Kaur 31:01
I think my brother had the exact same question; How easy is it to learn just the course material? First, there are a lot of terms. Once you start applying it, then the real challenge begins, how much are you going to remember and what mistakes are you going to make. I tell him every time he learns something new to write a code right away. Coding is literally practicing all day, all night, whenever you get time. Code some personal projects. Write your own blog or something active or you just won't get anywhere.

David Levai 31:42
Yeah, I think that makes you remember what you learn. That's what I'm doing right now with my brother. He's got this idea for a recipe application, it's nothing new on the horizon. There's a lot of it on the market but he just wants something which is his own, something he made. That's how we learned and we started out by first building static sites with HTML. He is using an example recipe, then he's going to build a menu navigation bar to switch between recipes and build a list of recipes and details. Then later the site will go all the way from static to dynamic with React. Later he can build an authentication for it and after authentication, he can build it out so that anyone can add the new recipe to build a database behind it. So doing it this way is how to really make you remember what you've learned.

Iman Kaur 32:58
I remember my brother’s first time coding, he was coding with someone else from school and told me that he’s going to make a website. So I asked him if he knew where to start from and he clicked on the right link and I was proud of him and I think that motivates him. So he's using the same website and he's building things, making it better. He started from scratch and now he’s actively coding and I think it makes him very happy when he sees the results of his work. So it shows that real projects are most important.

Dave Erickson 33:33
You could start a Facebook community, brothers and sisters learning to code.

Iman Kaur 33:39
I was telling him a couple of weeks ago, to stay consistent. I would love to work with him, but you know, being siblings, it can make it hard to work together because he's younger and is super spoiled. It would end up all on me.

Dave Erickson 33:59
Well, that's one thing that David mentioned, that besides learning the language, there's the whole infrastructure of the internet and native apps and how important it is that you’re not just learning a language, but also gaining experience with all the other components. If somebody were starting out learning to code, in addition to the coding language, what other areas should they be looking at or studying in order to put it all together?

David Levai 34:36
I think what everyone wants to know is how the internet works because that is what makes it much more understandable for everyone. What happens when you type in google.com? How does the web page from there come alive? That's one thing everyone has to learn. I mean, that should be some kind of common knowledge.

Iman Kaur 35:01
Of course, they should learn that it's great.

Dave Erickson 35:06
Yeah. Learning of a domain host and a web host are some basic things.

David Levai 35:13
Yeah. How packages are moving through TCP slash IP connections, I think everybody who wants to develop websites needs to know this. Practically anything, because if you want to develop anything, there's a big chance that it's going to need a server-to-client connection.

Iman Kaur 35:40
Yeah, you're right. I agree with that.

Dave Erickson 35:43
Then the last question. You're a coder, you're learning some coding, you're working on some personal projects and testing. How do you find people and how do you test your products to make sure that what you've actually done is functioning 100%? Do you get a friend who knows how to code to test it with you? I'm sure you've done projects where you sit there and you debug and debug and debug until eventually, you get everything straightened out. Is there anything you guys learned about testing or having someone else help you without that you can give advice on?

Iman Kaur 36:27
I think in my house, my dad criticized me for every single thing because my dad studies everything. If you're going to ask him for help with coding, he will learn JavaScript just to be able to have that conversation. He loves to discuss things. I would love to put him on a podcast, sometime, because we can talk about any single thing. I always trust Him, because He never sugarcoats. He gives me very, clean feedback. He will tell me what's wrong and what to work on. I haven't done actual testing. So I'm pretty new to that.

David Levai 37:20
Well, I tried testing by myself and because I've been through many projects as a lead dev and as a team lead, I got a grasp on how to test the applications. There were some edge cases where something would be messed up. So I tried to test it for myself and then some friends to test it out. Usually, they're pointing out stuff but really don't want to know about it. They don't want to hear about searches that bother me.

Dave Erickson 38:04
All right. Well, thank you very much. We had an interesting conversation. Hopefully, any other developers or people who are looking at becoming coders will find this podcast interesting and the information helpful. There will be links below If you wish to contact Screamingbox, David or Iman to ask any questions. We thank you very much for taking this journey with us. Join us for our next exciting exploration of technology and business on the first week of every month, and for our next podcast. Please subscribe, like, and follow us on whichever platform you're listening to or watching us on. We hope you enjoyed this podcast, and please let us know any subjects, topics, or anything else you'd like us to discuss in the next podcast on the comment sections or in a Twitter dm. Till next month. Please stay happy and healthy.

Creators and Guests

Botond Seres
Host
Botond Seres
ScreamingBox developer extraordinaire.
Dave Erickson
Host
Dave Erickson
Dave Erickson has 30 years of very diverse business experience covering marketing, sales, branding, licensing, publishing, software development, contract electronics manufacturing, PR, social media, advertising, SEO, SEM, and international business. A serial entrepreneur, he has started and owned businesses in the USA and Europe, as well as doing extensive business in Asia, and even finding time to serve on the board of directors for the Association of Internet Professionals. Prior to ScreamingBox, he was a primary partner in building the Fatal1ty gaming brand and licensing program; and ran an internet marketing company he founded in 2002, whose clients include Gunthy-Ranker, Qualcomm, Goldline, and Tigertext.
Career Transitioning To Become A Developer
Broadcast by