How to Learn Really Fast!
One of the hallmarks of my personality and best traits is that I’m a life-long-self-learner who has mastered and perfected the art of learning technology really fast. I have a very effective way of learning technologies rather quickly. This article is aimed at people who want to continuously grow within the IT-sphere.
Awareness and Finding “The Curve”
I can’t stress how important awareness is. If you are active in the IT community, attend meetups, network, read and follow things online you will have more visibility of emerging technologies, trends and will be able to spot what I call “The Curve”. There are leaders and there are followers. The people at the very top are the most innovative and take risks. Because of this, they are usually the ones who fail or succeed in creating a new technology that results in a new direction. You absolutely don’t want to be at the end of the curve; that’s where the people who don’t keep up are. They are on the edge of being deprecated. Their skill sets aren’t up-to-date and they typically are last picked during the hiring process because they aren’t keeping up and offer anything new to the company. I’ve personally seen someone who was in a dying technology and when the jobs faded out and were laid off, they had a very difficult time getting a job. This resulted in bankruptcy. Ideally, you want to be on the cusp of the curve using modern, adaptable technologies that offer a bright future for your career. You will be happier if you challenge yourself to keep up.
Being on the curve means you will have a higher awareness of the direction things are doing. This makes it much easier to understand emerging technologies because you already have an idea of where it’s headed. A lot of times other technologies make it easier to learn newer or emerging technologies. Like learning Docker before Kubernetes.
My strategy is really simple and I have built a strong mentality for learning. I typically have a weekly routine, set goals and hop around from project to project to learn.
Setting Reasonable Goals
First, you have to be reasonable with your self and set attainable goals. Instead of trying to build the next FaceBook, maybe learn how to build websites if you’ve never built a website before. As silly as that sounds, I often see people take on things they aren’t ready for or qualified for. This isn’t the 90’s or early 2000’s anymore. Making a successful online presence is not easy now and if you don’t have at least 5 years of experience and venture capital you probably won’t succeed at starting a new online business. I would recommend having at least 10 years of experience before venturing out on your own in anything. There’s far more to it than you realize. If you’re brand new and a junior level developer, focus on being a junior level developer by learning or continuing education. The smaller you are, the smaller your bytes should be. Take byte size pieces to learn and grow. Pun intended… If you’ve never programmed before focusing on the basics will get you much further than trying to build the next APT framework.
Habits & Routines
It’s important to have a rhythm and get in a process where learning is fun, exciting and stimulating. A habit can be formed in 21 days so make reading a habit. I read every Saturday and Sunday for 1-2 hours at breakfast. I also read while I walk on the treadmill.
I keep one of the most brutal paces. I’ve been told, “You have 2 speeds; 9 and 10.”, “You’re a machine”, “Jamie Bowman Busy”, and also “you’re odd.”. Seriously, who wants to go that hard? I do…
Passion is a fire that consumes you. It comes from the gut…
Be compelled… Be motivated… Be driven…
I believe there are two types of burnouts. Those who are under-challenged and those who are over-challenged. If you are under-challenged and your work doesn’t excite you then you aren’t learning enough or stepping outside of your comfort zone. If you are over-challenged focus on a work-life balance, take routine breaks and find ways to cope and heal. Ginkgo Biloba can do wonders if you’re having issues with concentration because of extreme burnout (always consult with a doctor first).
What drives me and motivates me?
I dig deep into my soul and often reflect on the person I want to become and think about how I can help the world. I also reflect on the things I want in life. I would love to go remote and travel or own my own business one day. I believe having high skill sets will lead to that lifestyle or me having an awesome, enjoyable, challenging career.
Get excited and celebrate every single victory. Seriously, when I learn something new I can’t explain the feeling I get. It’s an overwhelming burst of energy. I feel closer to my goals every step of the way and cherish every moment.
Finding a Mentor
It’s important to find people who you want to become like. Just being around these people you’ll pick up on their habits and traits that make them successful. The best way to find a mentor is to get involved. Go to that meetup or start your own if they aren’t in your area. Talk to everyone and make friends. At some point, you may find someone who wants to mentor you. The people at the very top are some of the most humble, compassionate people and are often willing to help. Remember, their time is very valuable so don’t waste it… and for god sake, work your butt off to make them shine. There is nothing more satisfying than helping another person succeed. Be their reward and succeed.
It doesn’t matter what skill level you are or who you are working with. Mentoring junior developers will help senior developers develop soft skills for managing and training developers. As I have about 10 years in App Dev I started working with guys in college who were learning Information Security. As I know nothing about security, I learned tons of stuff from hanging around these guys. They are very active and committed to learning and will often share new tooling and ideas. I also frequently attend conferences. This is one of the funniest ways to network and meet people. You also get to see presentations from people who are really high up and maybe doing what you want to do… or you could learn a new thing and increase your awareness.
Get involved with open source projects and help out. This will surely get your name out there and connect you with people who can help lift your career.
I read constantly. I have several websites I use to keep up with news, technology and generally get ideas of what I should be learning.
App Dev / General
- Amazon Books (Kindle)
- Linux Academy
- Scale Your Code – Christophe Limpalair (Love this guy! Met him at WordCamp Atlanta. Met his brother at POSSCON 2015)
Information Security & Hacking
- My Blog of Course
- Null Byte
- Reddit: OSCP
- Penetration Academy (One of my favs)
- PWK Course
The Real Secrets
I have a few secrets to learning. For one, I incorporate this into my everyday life. I work as a software developer and if I wasn’t being challenged and learning at my current day job I would leave. I also read while I walk on the treadmill. I’m never without my Kindle. Every Saturday and Sunday I get breakfast and read for an hour or two while eating and enjoying a change of scenery. (I often lie about what I’m reading…) Having conversations about penetration testing can get kind of awkward if you know what I mean.
When I learn new technologies, I hit it hard. I mean really hard. A 24-hour Udemy course gets ran through like a marathon. Yes, it sucks… but you have to motivate yourself and work through it. If something is new, I may spend a month or two on that subject before I back burner it. Once I get it down, I back burner it and then go through a refining process. I might do a little here and there but practice and repetition = memory.
So, you’ve made it this far. If you understand how to motivate yourself and where to learn then I’m going to tell you the real secret. It’s rather simple actually. I don’t actually take a lot of breaks from learning and side projects. Instead, I constantly switch out projects and things I’m learning. I often will sit something down for a month or so and come back to it fresh and ready to go. By changing out the technologies and hopping from project to project, you will learn a lot more faster. If you’re studying one track, for example, security, then I switched from VulnHubs to doing labs on Penetration Academy. That switch increased my enthusiasm because I was able to learn exploits faster. Then I went back to VulnHub and killed it. Diversity can keep you more interested and will allow your brain to process previous things learned.
Rinse and Repeat
It’s important to have a rhythm and constantly focus on goals. If you follow my methodology and continuously learn you will see your skillsets sky-rocket over the years. It takes an enormous amount of time but if you commit to this lifestyle it will add up rather quickly.