Aimee Knight is one of the featured speakers at theImproving Your Apps - Performance and Debugging online event that I am hosting next Wednesday, January 17 at 12pm ET. You can sign up for free today.
Aimee recently gave a keynote at the Nodevember conference where she gave her, "It’s not dark magic" presentation. Just to give you a sense of the reactions, here's what David Neal had to say:
Mind blown by @Aimee_Knight’s day 2 keynote! “It’s not dark magic”
You can see other glowing reactions here and here for example. Needless to say, this was a presentation I really wanted to see for myself, so thankfully she's reprising it for us next week. In the meantime, I had the chance to ask Aimee some questions about her interesting career path and why developers often find CSS so difficult.
You have a unique background, coming from figure skating to software engineering? I know you've talked about this before, but can you share a little bit about how you made that journey? Do you think your background as an athlete impacts your approach to your work as a developer and, if so, how?
Coming from a background in collegiate sports I’m highly driven. After my first degree, I spent a lot of time working with developers and in late 2012 my career path began to diverge. When a developer for my employer’s site handed off their CMS to me saying “don’t touch anything outside of this” my fate was sealed. My curiosity, coupled with increasing frustrations from the surmounting code changes we were always needing, led me on a path of no return. I started to stay up really late so I could work on the site while (hopefully) no one was looking. Within a few weeks, I was hooked. My background as a skater definitely impacts my career as a developer. I’d say it’s instilled in me a tremendous amount of energy and grit.
At one point you decided to go through a "boot camp" for software development. How would you describe the experience? Do you think there are specific challenges that boot camp graduates face that others may not? Alternatively, are there strengths boot camp graduates bring that others may not?
My boot camp experience was definitely intense, but I also loved every minute of it. I feel extremely fortunate to have had the opportunity to go. Being that it was six months rather than a few weeks I was able to really immerse myself in the experience which is exactly what I wanted. I think the number one challenge boot camp graduates face currently is finding a job. The market is pretty flooded now with new developers. I still encourage people to attend, but you have to really love programming I think. Our field can be a ton of fun, but it’s also very challenging. A lot of book camp graduates have an immense drive which can set them apart from someone who opted for a traditional university program only because they ‘had’ to chose something.
Your upcoming talk is about CSS not being "dark magic." CSS is often a target for developer's disdain and ridicule. Why do you think that is? What do developers tend to find so frustrating about CSS?
I think there are a few reasons. First is that CSS, like HTML, is a markup language rather than a programming language. That usually means it’s dismissed as something you don’t really need to devote much time to learning which isn’t true. It’s also very different from JavaScript which a lot of people who write CSS are also writing. In JavaScript, global variables are usually a code smell, in CSS they’re usually a good thing. Mastering CSS requires a different type of thinking than writing JavaScript.
You seem to spend a lot of time and effort on mentoring. If you were to give one key piece of advice to someone considering starting or switching their career to become a developer, what would it be?
My advice is to get comfortable being uncomfortable. I actually have a talk on this... that's how strongly I feel about it being the key to success. For me, some of the hardest obstacles in my journey have been with my self-doubt. If you're aware of that though, you can shift your focus. We are all human and we have a finite amount of mental energy. So, it's important that you spend it wisely! If you can learn to become comfortable with the feeling of not knowing, you're able to focus solely on the challenge at hand and you'll inevitably be able to tackle it that much faster!
I also encourage juniors to try and find a mentor or programming buddy. If you can find a mentor it's probably the fastest way to progress. Developers who received mentoring were promoted five times more often than those who didn’t. If nothing else, you can try to work on some small open source projects and get mentorship in the form of code reviews there. Your First PR is an excellent resource for finding newbie friendly projects.
Come see Aimee present "It’s Not Dark Magic - Pulling Back the Curtains From Your Stylesheets" next Wednesday at noon as part of
Improving Your Apps - Performance and Debugging. The event is completely free.