Post #08
In the last article, we talked about the different ways you can gain the skills you’ll need to become a professional software developer. From attending college or university to teaching yourself to code you’ve now got a good idea of the main learning paths that are available to you. However, that’s not the only way to gain information. The JTSD motto that we’ve all seen before is “keep learning, keep coding, and keep creating” and in this article, we’ll talk about the different ways you can do just that even outside the classroom and it’s probably easier than you think!
Like you, I had an interest in technology and wandered into this thing called software development thinking it might be a great career path. I didn’t have any real useful knowledge of what software development was or really, even what software was. I knew Microsoft Word was some kind of software. I knew the game I spent my time playing was developed by someone and I knew each new League of legends ability was part of a bigger program. I knew there were hackers out there stealing credit card information and company databases. But what I didn’t know was how these things truly worked behind the scenes or how any of this hacking business was done. I just knew that it worked and, when my League client crashed in the middle of a team fight and Bug Splat popped up on my screen something somewhere was very wrong and I was creating new words by the second to express my frustration ( ❤ u Rito).
Sitting in a classroom or teaching yourself to code teaches you a great amount of information sure, but, there is so much more available to us than our studies when first learning to become a developer could ever offer. Enough that we could never stop learning about software and the world of technology around us. I strongly believe that anyone striving to not only succeed but thrive in the field of technology should always be learning, coding and creating. From the time I get up in the morning to almost the time I go to bed, I’m trying to take in as much information about the technological world around me as I possibly can and I think you should too. That doesn’t mean I’m spending every waking minute watching online videos, with my nose in a textbook or sitting behind a classroom desk. There are more, for lack of better words, fun and relaxed ways to learn about the world around you. The general information I’ve learned outside of my colleges’ courses pales in comparison to what I’ve learned during my off time and even my working hours. I’ll talk about some of the ways I’ve learned many aspects of not only software development but everything from soft skills and how to land your first coding job to cybersecurity to the importance of networking and back again.
PODCASTS
I LOVE PODCASTS. Someone send me a t-shirt with that written on it please (thanks in advance) oh, and get one for yourself while you’re at it (you can thank me later). I’ve said that even before I decided to enroll in college to learn to become a developer that I tried my hand at some online courses to get a better idea of what I was going to be in for. Doing that was a great help to me and I’d recommend anyone thinking about becoming a developer to try their hand at it but, I still didn’t know what the day in the life of a software developer looked like. I didn’t know what I’d be talking about with my co-workers during lunch at work or when there’s a problem my team needed to figure out how to fix. I wanted to know more about what a software developers world looked like. I wanted a better idea of what I was in for. So, what did I do? I promptly downloaded a podcast app and searched Software Developer, Technology, Learning to code, What is software and anything else I thought that might give me a better idea of the tech world around me.
Podcasts and podcasters offer a huge array of discussion about every topic you can think of. Do you want to learn about the latest cybersecurity news? There’s a podcast for that. The latest and greatest coding language, how to create a network of industry experts, different ways to learn to code, stories of people that started just like you and me and ended up working at Google or Amazon or maybe which shade of baby blue is the new black?. There’s a podcast that talks about just that…mostly anyway. Starting out, I just wanted to hear about how to learn to code and listen to discussion about what software development was and how to break into the industry. I found some podcasts I found great value in. Talking about the struggles of being a code noob and learning to code done in a way that someone with no knowledge of the subject as I did, would be able to understand. I also found some podcasts talking about the pros and cons of the latest .NET release and what was liked and disliked about it. Delving deep into the weeds and frankly, I only understood about every fourth word of what they were talking about. Needless to say at the beginning I stuck to the ones that were focused on people just like you and me who knew just enough about software and technology to know that they didn’t have a clue.
I’d recommend, if you’re at the same level of knowledge that I was, stick to those kinds of discussions. Learn a little bit about what it takes to become a software developer. Listen to the podcasts that can give you a generalized idea of what your journey is going to look like. You might not follow the exact same path as those people you listen to but, somewhere in that 30-minute podcast you’re listening to on your way to work I guarantee you’ll learn something of value. You’ll hear about which areas of software development people chose and why. You’ll also hear about their struggles and what they did to overcome those struggles and win their way into a full-time job or even entrepreneurial stories. You might not find these stories informationally packed but, you might pick up a few tricks throughout your listen and even learn a few terms and different ways things are done in the realm of software development. At the very least listening to the success stories of people that were once upon a time in the same or similar shoes you’re in can be inspiring and motivating.
One of my favourite types of podcasts I listened to when first dipping my toes into the world of tech were the ones that lay somewhere in between those made to inspire aspiring developers and the ones where I only understood every third or fourth word. Again, I never listened to any specifically focused podcasts when I first started listening but more of the general coder/tech type. These podcasts I found to be a little less packed with how to code information but still offered a lot about general, less technical things like networking and how to land a job. These, shall we call, mid level podcasts touched on many things I had never heard of like SQL, Lambda expressions, VMs, Linux, and a whole bunch of topics. I found them a great way of introducing me to topics that I might find valuable along my learning path and usually coming with some sort of explanation as to what they are and what they do. It allowed for more research on topics that I heard frequently in these podcasts but never really had a firm understanding. For example frameworks and libraries were something that came up often enough in discussions that it lead me to do more research on the topic. The basic explanation and picking up what I could from the discussions wasn’t quite enough to fully grasp the concept of what a framework was but it exposed me to the topic. Then, when it came time to import a library into my Java project for school I knew exactly what it was, how it was used and what I was trying to do. My point here is even if you’re not sure what’s being talked about, even the things that you can pick up from a little higher level tech talk may come in handy down the road. I don’t think I could count the times I’ve read through some course material of mine and came across something and thought “I’ve heard that before when they were talking about that in (insert podcast here)”. Then once I learned a little more about it, those conversations I recalled made much more sense and things simply came together for me easier because I was already exposed to some degree to a wide range of concepts.
The beauty of podcasts, and the reason I think I love them so much is that you can listen and take in all the valuable information so easily. Most everyone has a drive to work in the morning and afternoon. It’s only easy to turn on a podcast and listen during your commute and see what you can pick up from the conversations. I’m probably a little more fortunate than others in the sense that all I do every day is drive. So, it’s not uncommon for me to polish off two or three 2-hour podcasts in the run of a workday. I realize not everyone has that much time to listen to podcasts but, I suggest you pick some ones you find interesting and you get valuable information from and listen at least one a day.
CODE AND CREATE
If there’s one truth when learning how to code, or learning to do anything in life is that no matter how many books you read or videos you watch on how to do something, nothing can take the place of actually doing it. You might be able to read how to use a for loop in your code 100 times but, as they say, if you don’t use it, you’ll lose it. If you’re not building something, writing some code and putting the skills you’ve learned to good use well, you’ll simply lose those skills. It’s one thing to read, watch videos and study but putting those things into practice, learning what works and what doesn’t is, I would argue, almost more important than that book. Especially when you’re first starting out, repetition is key.
When you write your first line of code it’s probably going to be hard to see how this coding thing turns into a full blown application. When I wrote my first line of code after part on an online course and the teacher said: “Congratulations you’ve written your first program” I was a little taken back. My first program? There only a few “words” written in this IDE thing and nothing really takes place. I couldn’t click on anything, my program couldn’t have been used to solve basic math questions let alone be used for anything grander. I wasn’t about to program the next World of Warcraft. Put it that way. Eventually, after a few days, weeks, or even months, you’ll learn several different skills. You’ll learn what and how a for loop is and how it’s used, how to do simple operations like adding numbers and creating arrays. Putting those things into use will give you a whole other level of understanding of what it is you’re doing. Remembering what a for loop does or what the syntax is to set one up I found, was only half the battle. It only took a few times of looking at an example, writing the code I saw, and a couple of explanations before I could explain to someone how a for loop worked. Then after I learned a few coding how tos, I decided it was time to try my hand at building an actual application. At this point, I had only been learning for a few weeks but I thought I knew enough to create a little text-based console (no not like Xbox console) game. I knew how to get user input, how to output things to the console and so I figured with those skills and a little bit of creativity I would have a neat little game in no time.
It didn’t take long before my creativity out did my coding skills. I knew a handful of things that I thought should have been able to allow me to make a game but it wasn’t until I had to implement something did I really know when and what the best thing was to use. When I wanted X to happen in my game I often got stumped as to how to actually make that happen. Sometimes it was as simple as using a skill that I was already familiar with but the trick was knowing which skill to use to make X work. I needed to use skill A but I wasn’t sure if skill A, B or C would best do the trick. It was only through building apps and trying different solutions to make something work did I get a truly solid understanding of the things I previously learned. Not only that but sometimes I came across instances where nothing I had already known would make thing X work quite the way I wanted. I knew how to do something that almost worked but not quite, and was able to build and iterate on those skills to end up with something that worked the way I wanted it. In the end, I’d have reinforced my knowledge of everything I had learned previously just by building simple programs and learned a few new things along the way.
How do you know which kinds of apps to build? There’s always the option of searching for practice apps. Looking for beginner (insert language of study) projects is always a good start for a beginner to get their feet wet and try to put what they’ve learned so far to use. You’ll very likely be directed toward small apps like building a calculator app that can add, subtract and multiply. Generally speaking though, these kind of cookie cutter projects are just that. Templated apps that everyone has done before and really, who is going to need to program a calculator that only adds subtracts and multiplies. These small, simple cookie cutter projects are great for learning and I suggest that anyone learning to code should try building these types of projects especially in the beginning. You’ll learn to put some skills you’ve learned to use in building a project like that and maybe, even learn a couple more.
I believe though, that when you’re picking a project, try to make it as close to real-world as possible. I, for example, thought that it would be a great idea to make a calculator app but, I thought I’d put my own little twist on it. I wanted something that wasn’t just going to tell you the sum of two numbers. I thought about what I needed to calculate, some real world example of an application that was mostly in my realm of ability to create. So, I decided, being in the transport industry, to create a calculator that would be able to accept some inputs from the user and be able to calculate the weight of whatever truck they were driving that day. Each truck has its own empty weight and what the truck was carrying never changed. So I decided to allow the user to select a truck, input how full the truck was in percentage and then boom you’ve got the weight of your truck. Not only that but my calculator would tell you if you were safe to drive down any kind of road with or without weight restrictions. You can see how the calculator principal is quite the same but with a real world, personal sort of twist. Coming up with a project that you can see working for you or your company or someone you know, makes the software a little more relatable and makes you think of how to build an application to suit your needs.
Not only does building a personalized real-world application allow you to put into practice some things you’ve learned but there are a couple more benefits that building your own project offers. Software is used to solve some sort of problem. When you build your own project, you have a problem that you think you can be solved with a program and that forces you to think of what the program needs to do to solve your problem. Take my previous example for a weight calculator. Before even thinking about how to write the code for what I wanted my program to do, I had to figure out what I wanted my program to do. My problem, well that was easy enough. I wanted to be able to calculate the weight of my truck when it was loaded to different capacities but what did I need in order to do this? I needed to know different things about the weights associated with the business of my particular area of trucking. I needed to know the weight of my truck when it was empty, how much did a litre of propane (that’s what I transport) weigh? My truck has a gauge that shows the percent capacity so I had to decide how to do my calculation. Either by litres or percent. How many litres = 1%? These were just some of the questions about the “business” that I was developing an application for. I had to ask and answer all the questions I needed to get an application that could do exactly what I wanted even before I wrote a line of code. Then after all the business requirements were understood I could get going on actually figuring out how to best write the code and put my newly learned coding skills to good use.
Communication in software development is just as important as logical thinking. Knowing how to code your way out of a problem isn’t going to serve you any good when building applications for yourself or your portfolio if you don’t what or why you’re coding. Demonstrating at least some ability to understand and code to the needs of the client (business needs) can go a long way in making you look better over the next guy in line for the same job you’re going for. Along with those two things, being able to communicate both the business and development needs to both sides of the table can also prove to be a useful skill in climbing the developer ranks. What I mean is if you can understand both the business and technological side of things and have the communication skills to explain the business to the techies and the technology to the business folk, you’re already a leg up.
I think it’s safe to say there’s no substitute for building an application to solve a real-world problem when it comes to learning new skills and reinforcing the skills you already have. Not only do you learn several very useful skills but, at the end of the process, you might even have an application you can put into a portfolio to show off at your next interview. Walking into an interview with a solid portfolio of apps you’ve built or contributed to puts you so much farther ahead than someone who just walks in with the resume (everything else equal of course). If your apps are well built and well written, you’re in an even better position. If you can explain the business needs and problems your application solves concisely, and why you’ve written your code the way you did you’re in an even better position. I think you should always be putting your skills to use even if it is just for practice sake, but the more relevant your application is to the real-world the more you’ll learn when building it. Building small programs and applications along your path is a must! Of course, it’s time-consuming and not something most of us can work toward on our commute to work but, the time you put in building these types of applications is one of the best ways to spend your time learning. That’s where the code and create comes from in the JTSD motto.
Always learn! Listen to those podcasts on your way to work or when you’re taking your dog for a walk. I find podcasts to be a great source of information on all every aspect of technology that suits your fancy. Not only that but they can be a sort of light, take it easy, way of learning something about the field you’re trying to break into. Sure, you might not learn how to write the code you need to for a particular algorithmic solution but, you might learn the differences between Linux and Windows 10. I’ve learned a little bit about so many different things that sometimes come into use during my studies sometimes though, they don’t. I do think, I’m extremely better off for it either way. I know a little bit about cyber security, different languages, operating systems, and some general whos, whats, whys and hows of the tech world around me. It, shall we say, can passively broaden your technological horizons for the better. Podcasts offer so much valuable information and make you think about things that you might never have thought of. I never know for example, how important soft skills were to a software developer, or what source control was. Even if the laid back nature of some podcasts isn’t your cup of tea, there is always the option of audio books. They’re a little more expensive than the average going price of a free podcast but, it is another way to sort of passively gain information that’ll help you at some point during your software development journey. I mean what else are you doing on your drive to work? Get your finger out of your nose and start downloading some podcasts and learn something! Pull over first though. 🙂
Learn code create! I think you should always be learning how to better yourself as a software developer. I think you should always be building, coding, and creating projects to help you along with that. Now you know where the JTSD motto comes from and the reasoning for it. I’ll end with a list of some of my favorite podcasts that I listen to with a brief description of each for you to check out. Just a side note here I have nothing to do with these podcasts and get no benefit from mentioning them here. They’re all just podcasts that I find very helpful, tech oriented, and offer a passive enjoyable way of learning things about technology in their own ways.
For the software developer
CODER RADIO
Coder Radio is a talk show between two hosts about the general aspects of software development. They cover everything from good dev laptops, operating systems, languages and everything dev related in between. The show description reads: “… a talk show taking a pragmatic look at the art and business of software development and related technologies”. I find this show great for general, helpful bits of information, light hearted and perfect length for the commute to work.
LEARN TO CODE WITH ME
Learn to Code with me is a podcast geared toward beginner software developers and the laymen. They explain things that an aspiring software developer can expect from their journey. Interviewing folks from all different walks of life and backgrounds talking about their journey to becoming a developer is at the very least, an inspiring listen. It’s a seasonal show and is about 30 minutes to an hour long, so pretty good for the commute back and forth to work. I like this one because it’s something someone even just thinking about if software development is for you or not, can listen to and get great information. The show description reads: … “is for aspiring techies and self-taught coders looking to transition into the tech industry…actionable insights on how you can get paid for your coding skills?…”
CODING BLOCKS
These full-stack developers talk a lot about general programming tips and trick. What I think I like most about this one is the general ideas for good coding practices and how to generally better yourself as a software developer. They also go into many specific topics including the workings or “guts” as they put it, of different, mainly object-oriented programming languages. This is another laid-back informal type of podcast but unlike the rest so far they tend to run a little long at anywhere from 1.5 – 2.5 hours. But I will say, if you’re like me and have a lot of drive time throughout the day or are going on a road trip, it’s defiantly a recommended listen. Their description reads: “You’ll be exposed to broad areas of information as well as deep dives into the guts of a programming language… relevant in any number of Object-Oriented programming languages such as C#, Java, Ruby, PHP, etc…”
simple programmer
This guys goal is to turn everything complex about programming into simple, understandable concepts. The shows tend to be short ranging from 5-15 minutes but I find them to be information packed. Everything from how to learn artificial intelligence to how you should dress for your first coding interview. There’s all kinds of great tips for every kind of programmer dropped in this catalog of podcasts and a great one if you’re a little pressed for time. You’ll also find this host narrating his books on Audible which I also recommend.
everything tech
HACKABLE?
Informational, theatrical, and… scary are the three words I’d use to describe this podcast from McAfee. Each episode starts off with a story that’s either happened in the real world or fictional about some cyber hack. But can these hacks that happened years ago, or those found in fiction stories really be true? That’s what this podcast aims to find out. The host of this show allows professional hackers or, white hat hackers, to try to hack him to see if it really can be done. They discuss how the hack is done, execute it on their paranoid host and at the end, discuss the real world ramifications and how to protect yourself from these hacks. I find this a real thought provoking podcast that can give you really good information about how to keep yourself safe when you’re out there on the world wide web or transmitting those radio signals. It’s about a 20-40 minute seasonal podcast so great when you have a little bit of spare time on your hands. Their description reads: “We see lost of movies and TV shows where hackers can infiltrate our lives with just a few keystrokes. But is this real? We’re here to find out. Malicious cat photos, sketchy Wi-Fi netwroks, rogue rentals, all-knowing webcams -those are just a few topics tackled in Hackable?, where we let out hackers shed light on just how secure we really are…”
TWIT – THIS WEEK IN TECH
TWIT is a network of podcasts, or as they like to refer to them, netcasts covering everything from hobby broadcasting to cybersecurity to a call-in radio show where you get your “how do I make my printer work?” questions answered. I really have nothing bad to say about TWIT and I would be willing to bet that if you’re interested in the general world of technology whether you’re a professional developer or not, you’ll find something to you’re liking listening to these folks. I won’t get through all the podcasts under the TWIT name but I’ll go through a couple that I find most enjoyable to listen to.
this week in tech
Where you can go to get all the tech happenings from class action law-suits following data breaches, ongoing issues and debate about the tech world around us, the new iPhone, the tech giants news, does your amazon echo listen to you in the shower? Anything and everything happening in tech is discussed with the host of the show and guests that touch on all the latest tech stirrings. The shows usually run about 2 – 2.5 hours long so it’s another one for the road trip but you might find something specific you want to listen to so check the show notes for the topics of the week.
THE TECH GUY
A radio show in podcast format this is for the generally tech curious. You’ll find everything discussed from the latest camera lens with the photo guy to the new trends in car tech. Primarily though, this is the show where you and I have the opportunity to call in and ask whatever tech question we might have. There’s a wealth of information behind this show and we have the opportunity to tap into it. I find it a great listen for me throughout the work day to hear about some tech news and general problems people are having and listening to the insights chief TWIT and host Leo Laporte has to offer.
hot – hands on tech
Wondering about the latest and greatest Pixel phone, speaker, tablet, or any kind of tech hardware you can imagine? This 10-20 minute show offers an in depth review on all kinds of gadgets. So if you’re thinking about if that iPhone 11 is worth the money, or you’re just interested in what’s out there this one makes for a great listen on the way to work.
security now
This hosting duo talks about the latest security news. If you want to learn about the latest vulnerability of the OS you’re using, which town recently got attacked by ransomware, or how hotel access cards are being hacked, this makes for a great listen. I love this once because, it, like HACKABLE?, discusses cybersecurity. Security Now though, is a little more formal, and happening now. If you like getting the straight facts about the state of cyber security I think no one does it better than this show. Again another long one typical running longer than 1.5-2 hours but well worth the listen to an aspiring cyber security expert. I would warn you though, I’ve been driven to encrypt every bit of information I have because there is a lot of “holy crap” moments in this one but, I think for the better.
twig – this week in google / ww –windows weekly
Two shows here focusing on the happenings specifically with Google and Windows/Microsoft respectively. I find it a good listen for someone interested in what two tech giants of the world are doing. The innovations, the bad, the good and everything in between is covered here in both of these shows. They run about 1.5 -2.5 hours long so another one for the weekend fishing trip but excellent listens for anyone interested in either of those companies happenings.
aaa – all about android
All About Androd, the title says it all for this one. This show covers all the Android news for your favorite mobile device. This trio of hosts and special guests talk about everything from the latest android updates, the latest Android hardware, cool apps and so much more. Don’t panic though if you’re an iLover, TWIT offers much the same show with an iOS focus called iOS today both of which are one the 1-2 hour show time.
twiet – this week in enterprise tech
For anyone looking to enter or already in the enterprise side of tech, this show could be for you. This show covers a whole range of things from big enterprise hacks to the latest hardware and software news in the realm of enterprise technology. If you’re looking for information on how the enterprise world and technology go together, or you’re trying to get a better understanding and find new ways of doing or not doing things, I highly recommend.
twitch – this week in computer hardware
Another personal favorite for me and anyone that loves the hardware in all these gadgets we see floating around. If you’re thinking about building yourself a computer, wondering if the Intel is worth the extra money over the AMD, or like me, you just like everything hardware, this is the show for you. These folks test, compare and just pick apart all the latest computer parts in every fathomable way to satisfy your nerdy hardware needs. This one’s a little shorter of the TWIT shows running about an hour long give or take a few minutes.
user error (JB)
If you’re looking for less tech and more laughs I have to mention User Error. These Linus fanatics talk about everything from which part of Linux they like best to whatever floats across their twitter feed. They answer listener questions about everything from the meaning of life to what would you do if you won the lottery or could get away with a crime. It’s not exactly the most technical podcast ever but for an adult, like-minded audience, it’s a good laugh and, you might even catch a few Linux tips and tricks.
CONCLUSION
There’s a vast amount of knowledge you can access very cheaply or even free. Not only that but it’s all too easy for us to listen to podcasts or audiobooks while we’re going about or every day things. Even on our drive to and from work or even while you’re making dinner, if you put your favorite tech podcast on you’ll be amazed and the information you’ll have picked up in such a short time doing nothing you wouldn’t have been doing anyway. I know that not everyone has the ability or time to listen to all the listed podcasts above but I urge you to give each a listen for one or two episodes when you can and pick your favorite and stick with listening. Along with that putting your skills to good use by building the most real-world applications and projects is a great use of any extra studying time. Even if you don’t exactly have any “extra” time at the end of your study day, in the time you spend, even if just 30 minutes- an hour when you can, you’ll find you’ll make leaps and bounds in the skills you’ve learned.
So build some projects, listen to some podcasts when you can and if you don’t come away with anything else this article, remember. Keep learning, Keep coding and keep creating!!! If you liked what you’ve read here, have a topic of discussion, just want to say hi, or anything in between don’t forget to use that contact page you send us your thoughts. We love hearing from our listeners and encourage it! If you know someone you think might like this share the blog! You can follow along with JTSD on TWITTER and of course by following the blog! Until next time.
-Dorian