Learning How to Learn- the Secret to Succeeding as a Software Engineer
People often ask me, “What’s a good skill to learn if I want to succeed as a software engineer?” While most people expect to hear a certain programming language they should master, or a soft skill that will aid in team leadership, to me at least, that’s not the case. I think most engineers will agree that knowing a certain programming language is not the one key to being a good developer. Instead, it’s the ability to adapt and learn new skills that will get you the furthest in your career. I call this the skill of learning how to learn.
While training to become a developer, my teachers often said the most important thing they could teach us was the ability to learn new skills through self-practice, and a lot of Googling (thank you Stack Overflow). It is often not WHAT you learn but HOW you learn it that is important.
Are you able to teach yourself what you need to solve a problem? Can you pick up on a new framework implementation? Can you understand documentation explaining how to use an application? Do you know what questions to ask when you need help debugging your code?
Knowing the proper way to ask for help is so important. When asking someone to check your code you must explain what you are trying to accomplish, what you’ve already done to try to fix the issue, and what you think the problem could be. People will be more willing to help you when you are clear and concise in what you do not understand.
Often times, we enter positions where we are unfamiliar with some of the technology used, especially in large companies with a lot of internal tools and processes. Companies cannot expect each developer they hire to be a master of every technology or process used within the company. However, they can expect those developers to be able to learn and adapt to them.
Now ask yourself this — How do you learn how to learn? While it does require many hours of reading tutorials, watching videos, and pursuing your own projects, the best way to learn how to learn is to just jump right in. Think of something you want to build, research the technologies required, and piece together different tutorials and resources in order to build the end product.
As you consume different learning resources recognize which ones work best for you. Do you learn better by watching someone write the code first? Or do you learn by solving the problem on your own and then correcting it? Recognizing your style of learning will help you maximize your study time and better reinforce the information. My advice is to start with one concept at a time. Often you cannot master a more complex idea until you understand the basics. If you’re learning a new language, be sure you know about arrays, variables, and if statements before you tackle recursion and functions. You will learn a lot along the way and hopefully end up with a pretty cool project!
After I finished the CODA program, I moved into a new position at Capital One where I use a lot of skills I did not learn in the bootcamp or teach myself in college. Daily tasks in my new role include writing bash scripts, working with the AWS command line interface, and running Jenkins jobs- all things I had no clue how to do just a few months ago. Luckily, I now know how I learn best, and have taken these solid learning habits with me to this new position. I’ve already written my first script, updated AWS bucket policies, ran many Jenkins jobs, and coded applications in Python.
So remember, if you need one skill to succeed as a software engineer, it’s the ability to learn how to learn. This will help you adapt to the fast-changing world of the technology industry. Also, constantly growing and evolving as an engineer will help prevent you from staying stuck in the past and being left behind as roles and technologies change. Companies want to hire engineers that are flexible and are willing to change with industry trends; this skill helps you do just that.
DISCLOSURE STATEMENT: © 2019 Capital One. Opinions are those of the individual author. Unless noted otherwise in this post, Capital One is not affiliated with, nor endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are property of their respective owners.