Top 7 Questions to Ask Yourself Before You Learn to Code
By Tech Elevator Instructor Walt Impellicceiri
1. Do you love to learn?
Software development is ever-changing. We are constantly bombarded with new technology, programming languages, hardware and software, etc. Cloud computing, mobile apps, Internet of things (IoT), Big Data, Artificial Intelligence (AI), and autonomous driving are just some of the major changes that have impacted the field of software development over the past 10-15 years. Keeping up with the pace of the industry requires lifelong learning. Without it, you may find yourself left behind.
2. Do you have the time to learn to code?
Learning to code takes a significant amount of time. Your path will involve undulations where you feel like you are beginning to understand, followed by feelings that you have no idea what you’re doing. This is normal. Even the most seasoned software developers deal with imposter syndrome. If you stick with it, and put in the time to learn and to practice, you can make it happen.
3. Do you often wonder how things work?
Curiosity is a great motivator. If you’re the type of person that wonders how things work, then software development may be a great fit. Software is interesting in this regard because there are many resources for learning available at your fingertips.
One of the greatest resources is the large community of open source developers that are willing to share their code with the world at no cost. This can provide an endless amount of opportunities to learn how others have solved a problem you are curious about.
4. Do you enjoy building and maintaining things?
If you ask software developers what keeps them going, you will frequently hear that they enjoy problem-solving.
Some problems require building something new. This can be a breath of fresh air. It offers the opportunity at a fresh start, and the chance to take everything you have learned in the past to apply it to your current venture. You’d never make the same mistakes twice, right? 🙂
Other problems involve upgrading an existing solution or even fixing what was thought to be a working solution. In fact, I have found that some of the most fascinating problems to solve involve patching existing software to fix a scenario that you had never anticipated. On the other hand, this can be frustrating for some. It can feel like you aren’t making progress when you’re reworking something that should already be working well. Which end of the spectrum do you think you’d fall on?
5. Do you like working with others?
Most software projects are developed by groups rather than individuals. Not only that, software projects are usually a collaboration between software developers and other members of an organization, like product managers, quality assurance engineers, and stakeholders. To have success in this environment, you must be a team player and be able to communicate effectively.
6. Are you willing to stare at a screen for several hours per day?
One of the less glamorous parts of being a software developer is that we are typically sitting at a desk staring at a screen for several hours per day. Of course standing desks are an option, but avoiding a screen is unlikely. Whether or not you enjoy staring at a screen, you must acknowledge that there are risks to doing so. The best way to deal with this reality is to shift your focus once in a while.
Here are a few tips that I use:
- Go for short walks throughout the day, even if it’s just around the house or the office. This can reenergize you.
- Look into the distance every 20 minutes or so. This will help relieve your eyes from the strain of focusing on what’s directly in front of you.
- Focus on your posture. It’s easy to adopt a poor posture when remaining in a fixed position for a long period of time. Taking a few minutes to focus on your posture every once in a while can turn a bad habit into a healthy habit!
7. Are you comfortable not knowing?
As mentioned above, software development is ever-changing. It’s also a broad field, with a large number of specializations. With that being said, it would be impossible to have expertise across the entire field. While continuous learning is important to stay current, software development requires a level of comfort with not knowing everything there is to know about.
To deal with this, I employ two approaches:
- Pick your poison when it comes to focused learning. There’s only so much time in the day!
- Rely on others for their expertise and learn what you can from them.
Good luck on your coding journey. If I can help with anything along the way, feel free to drop a comment below.
Walt graduated from the University of Pittsburgh with a degree in Computer Engineering. He has spent the last 10+ years developing applications for companies in the healthcare, retail and education industries. He leads instruction at Tech Elevator Pittsburgh.