Learning to Code, Harry Potter & Bloom’s Taxonomy
You'll be creating Patronuses (I mean code) in no time!
Learning to code is not quick and easy. Many coders, including myself, have discussed reasons why learning to code is so challenging (here, here, here, and here). To become a programmer, you need to have experiences that force you to move through a hierarchy of learning objectives (known in education as Bloom's Taxonomy of Learning). Doing so ensures that you can progress from simply recalling coding concepts to being able to develop your own original code. Bloom's Taxonomy has six levels: Remember, Understand, Apply, Analyze, Evaluate, and Create.
In this post, I address the six levels in the hierarchy, describe the types of learning outcomes in each level using action verbs, provide a clear example from the Harry Potter series (with a link to the corresponding video clip), and then relate it back to learning to code.
In this level, you are able to recall, recite, define and list.
In this level, you are able to explain, discuss, describe, and report.
In The Sorcerer's Stone, Hagrid takes Harry to get his school supplies, and Harry takes the opportunity to ask Hagrid about his dead parents. Hagrid explains the events surrounding their tragic end, but also describes the condition of the wizarding world at the time, and they discuss the scar on Harry's head. When do you need to discuss your code like this? One example is when you ask for help. If you use Slack or Stack Overflow, it is critically important that you describe the code you have written, what you expected to happen, what happened instead, and what you tried as a result. You may not have the solution to fix your code, but you demonstrate that you understand where you are in the process. Force yourself to go through those steps when you want to ask for help. It will reinforce your understanding. Often, when I go through this process, I am able to answer my own question at the end. It is the process that engages our brain. (View Scene Here)
In this level, you are able to use, implement, and demonstrate.
During Defense Against the Dark Arts class in The Prisoner of Azkaban, Professor Lupin explains how to deal with a boggart, a creature that feeds off of your fears. First, you must concentrate on something absurdly funny and then clearly enunciate the incantation: Riddikulus. In the scene, the Professor has the students use the spell against a real boggart. Doesn't this example of applying feel like practicing? That's because practicing what you have learned is extremely important regardless of the subject. With coding, though, this means you can follow the coding requirements of a user story to demonstrate what you have learned. For example, the FreeCodeCamp curriculum asks you to complete a variety of assignments such as a tribute page, a random quote generator, and a weather application. To do this, you must recall and understand the coding required. You may still need to "Google" some of your code, but that is all part of demonstrating your ability to apply what you have learned. (View Scene Here)
(Can you guess the subject of my FreeCodeCamp tribute page? Take a look here.)
In this level, you are able to draw conclusions, make connections, and compare and contrast.
At the end of The Chamber of Secrets, Harry draws conclusions and explains to Ron that the monster from the Chamber is a basilisk, a serpent. He connects the information about the basilisk provided to him by Hermione with clues from each time the monster encountered a student (they were turned to stone rather than killed). Harry also deduces that the voice he (and he alone) has been hearing is the basilisk since only Harry can understand Parseltongue (snake language). As Harry draws conclusions, he has an almost "Aha" moment. It's not unlike the moment you examine error messages from your code in Chrome Developer Tools and know what to do to fix the broken code (analyze and apply). As a developer, you will need to analyze your code on a constant basis, but analyzing only comes after you not only recall but also understand and apply code. (View Scene Here)
In this level, you are able to critique, assess, select, and justify.
In The Order of the Phoenix, Harry teaches a group of fellow students defensive spells and charms to protect them if they should encounter a Death Eater. As Harry walks around the group, he assess the use of spells and offers suggestions on how to improve — he shows Neville how to properly move his wand and suggests he focuses on a fixed point. In one scene, he even raises some students' wands higher for better execution. Of course, you won't have Harry critiquing your code. Instead, a programmer must critique their own code and look for places to make the code more efficient. Doing this without changing the outcome of the code is called refactoring. Sometimes you need to evaluate code before you write it. For example, you may have a situation where you could use more than one type of function: is using an if statement better than using a switch statement? Weigh your options and select the most appropriate option. Evaluating is a natural extension to analyzing. (View Scene Here)
In this level, you are able to develop, design, work, and assemble.
We never truly understand just how brilliant Professor Snape is when it comes to magic until The Half-Blood Prince. Harry stumbles upon Snape's old Potions schoolbook, and in the margins finds that Professor Snape (known only as the Half-Blood Prince) has created brand new spells, many of them curses, and modifies existing potion recipes for better implementation. Unfortunately, Harry tries the "Sectumsempra" curse on Draco and nearly kills him. You don't have to create evil curses to know you have achieved some mastery in coding; instead, you can take an original idea, wireframe it, build it, and troubleshoot it. Notice, though, that you must have gone through all levels of the hierarchy in order to successfully create. Snape would not have been able to develop new curses if he didn't first remember principles of magic, understand spellwork and evaluate his progress. (View Scene Here)
Learning coding, like magic, isn't easy. It requires hard work and patience. You must remember that Harry doesn't really perform much magic on his own in the first book. He hadn't learned enough yet. Regardless, he still became a great wizard and eventually defeated the evil Voldemort. Keep that in mind on your journey to becoming a programmer. It won't happen over night. Focus on experiences that will move you through the hierarchy of learning.
One thing Harry has that we all need is friends to share the burden. With Ron and Hermione by his side, the three friends persevere through many challenges. Find your "Ron" and "Hermione" in the coding community by joining a study group, attending meet up events, and participating in discussion boards either on Facebook, Slack, or Stack Overflow. But be patient with people. You don't know where they are in the levels of hierarchy.
Chainalysis’s Ashley Vaughan on Why She Finds Cybersecurity So Meaningful, and How More Women Can Find Their Niche in the Industry
How much money do criminals control today, and where is it?
These are some of the many questions that Ashley Vaughan, Senior Solutions Architect at blockchain data platform Chainalysis, spends her days working to answer.
“You learn more about a situation or problem by following the money than from any other resource or piece of information,” she explains. “Money doesn't lie. People can lie in text messages or other means, but the path of the money leads you to what you're trying to accomplish.”
Though Ashley always knew she wanted to work with computers, she found her way into roles in cybersecurity, and then specifically blockchain security, through networking and exposure — not by setting out to do so.
We sat down to talk about her career journey, as well as what advice she has for other women looking to make their mark in these burgeoning fields.
Resilience and Curiosity
Ashley doesn’t often give up, and credits some of that attitude to an obsession with soccer as a kid.
“Playing sports makes you a more resilient person, I think. You learn failure and risk, which are very applicable to my job and my career path,” she says.
That resiliency was a good thing, notes Ashley, because as a young girl, she wasn’t always encouraged to pursue what she was most interested in: math and science. A teacher early on had told her that she wasn’t good at math, and Ashley believed that narrative until high school.
“We really shouldn’t put those ideas in children’s minds, because it affects them for much longer than you might think,” she says of the experience. “But I’m the kind of person that when someone tells me I can’t do something, it makes me want to do it even more, and do it better.”
Finding out in advanced high school math classes that she actually was good at math turned into choosing a computer engineering major when she got to college.
Graduating during a recession in 2010 meant Ashley didn’t have the job market of her dreams, but after working in IT, she networked her way into a role in the cybersecurity department of a prominent DC law firm.
“They were getting hit left and right from social engineering and phishing attempts,” says Ashley. “Due to the sensitive nature of the work they dealt with, I was exposed to the darker realities of the digital era, and I began to see a new side to the world—one of real significance to national security.”
Specializing in Cybersecurity — and Finding a Home in the Private Sector
Inspired by what she was working on at the law firm, Ashley pursued a master’s in cybersecurity with a focus on counterterrorism.
“I wanted to help protect our country,” she explains. “I have a lot of family members who are former military, so that was a natural step for me.”
That led to her taking a contract role specializing in offensive security at a government agency that frequently worked with Chainalysis. After working with Chainalysis folks onsite, she was sold and started pursuing a position with the company.
“I wanted to help make sense of blockchain data for a bigger purpose, like assisting in the continued threat of ransomware activity against American interests,” she explains.
Although she credits her public sector work with providing a solid foundation in blockchain security, the private sector turned out to be a better fit for her.
“What I love about Chainalysis is that my colleagues are really happy people, and I’ve always felt welcome and not scared to ask questions,” says Ashley. “In past jobs, where I was one of five women in a group of 150, I felt a lot of pressure. I didn’t ever want to make a mistake. I felt as if I had to be a chameleon to match the social environment of my male counterparts.”
Blockchains are all about democratizing data, and Ashley likes working with a team of people of all backgrounds to help support that mission. At Chainalysis, Ashley works with internal product and engineering to show customers how Chainalysis data can help them use complex blockchain solutions to solve data problems — and catch bad guys.
“Sometimes we’re following a bad actor who’s tied to child sex trafficking. Being part of a coordinated operation to put a stop to things like that is really fulfilling,” she says.
3 Tips for Women Who Want to Find Their Place in Cybersecurity
For a long time, reflects Ashley, she just wanted to come into work, do her job, and feel supported, without feeling like she didn’t fit in or was representing her entire gender. Fortunately, she found what she wanted — and she hopes other women will find that, too. They can start their search by:
- Knowing they’re not alone in having tough experiences. “Everyone has different definitions for how you’re supposed to act or supposed to handle your emotions as a woman at work, and it’s exhausting. It’s like, ‘This is just me.’ I can’t repeat enough how tiring that is,” she says.
- Prioritizing self-directed learning. Although Ashley completed a master’s in cybersecurity, she emphasizes that there are many other routes into the industry, including self-study. Whether you get involved in programs like Girls Who Code or do self-paced learning through platforms like Udemy or Coursera, the important thing is that you pursue independent learning about topics that interest you, she says.
- Creating and maintaining relationships. “Really talking to people is almost a lost art,” says Ashley. “Getting together with someone who has the same sort of mindset and leveraging their knowledge, and making sure you keep in touch with people who help further your career, is a good move. Most of the places I got to professionally were based on my human connections.”
Nowadays at Chainalysis, Ashley is no longer one of five women in the office, and is excited to start paying it forward so that more people with backgrounds like hers can pursue their own professional success.
“We tend to feel more comfortable talking to people who might have our same gender or educational background, and being open and vulnerable with them,” she says. “Being a visible role model is really important to me.”
Check out Chainalysis’ open roles here!
We all have our favorite websites– the ones we frequent, bookmark, and recommend to others. You might even enjoy some website features so much that you’ve found yourself wondering why they aren’t more popular. Or maybe you’ve experienced times where you were frustrated with a website and wished you could add features or even design your own!
If you’ve ever found yourself intrigued at the prospect of designing and developing your own websites, then a career as a web developer might be just for you!
As a web developer you would be responsible for coding, designing, optimizing, and maintaining websites. Today, there are over 1.7 billion websites in the world and, in turn, the demand for web developers is on the rise. In order to figure out what kind of web development work best suits you let’s start with an introduction to the three main roles in web development that you can choose from.
The Three Types of Web Development Jobs
Front-End Web Development: The Creative Side
In addition to programming skills, front-end developers need to be detail oriented, creative, willing to keep up with the latest trends in web development, cyber security conscious, and geared toward user-friendly designs. The median salary for a front-end developer can reach well into the $90,000 to $100,000 range.
Back-End Web Development: The Logical Counterpart
While a house can be beautifully decorated, it’s incomplete without a solid foundation and efficient infrastructure. Similarly, a well-designed website depends on logical and functional code to power the features of that website. Back-end web development is code-heavy and focused on the specifics of how a website works. If you enjoy the analytical challenge of creating the behind-the-scenes code that powers a website, then back-end development is for you.
Full-Stack Web Development: A Little Bit of Everything
A full-stack developer is essentially the Jack (or Jill)-of-all-trades in web development. Full-stack developers need to be knowledgeable about both front-end and back-end roles. This does not necessarily imply that you would need to be an expert in both roles, but you should fully understand the different applications and synergies they each imply. In order to work in this position, you will need to know the programming languages used by front-end and back-end developers. In addition to these languages, full-stack developers also specialize in databases, storage, HTTP, REST, and web architecture.
Full-stack developers are often required to act as liaisons between front-end and back-end developers. Full-stack developers need to be both problem solvers and great communicators. The end goal for a full-stack developer is to ensure that the user’s experience is seamless, both on the front-end and on the back-end. In return, you can expect to earn a median salary of $100,000 – $115,000 a year for this role.
Taking the Next Step
Web development is both in-demand and lucrative! All three roles described above contribute to specific aspects of web development and the scope of each one can be customized to the industries and positions you feel best suit you. Regardless of which role you choose, all of them need a foundation in programming.
To gain the programming skills needed in each role, you can enroll in courses or learn independently. Coding bootcamps are a great way to boost your skillset quickly and efficiently.
Click here for some of our highly rated programming bootcamp options! Make sure to check out the discounts available to PowerToFly members.
💎 “What are you passionate about?” In an interview, you may have to answer this and other personal questions. Watch the video to the end to succeed in your job interview at Ribbon.
📼If asked “what are you passionate about?” in an interview you need to show how your passion can make you a good candidate for a job position. Ryan Key, Talent Partner at Ribbon, shares some tips and tricks for you to stand out!
📼Answering what are you passionate about in an interview is not the only thing you need to know how to do to succeed. You should try to make sure that you express your experience in a way that shows your interest in Ribbon’s mission. Also, prove that you did your research and demonstrate to the recruiter that you understand exactly how your role affects Ribbon’s purposes. Don’t forget to share some ideas on how you intend to fulfill the company’s mission!
📼 You are asked what are you passionate about in an interview, but this doesn’t mean that you can’t ask as well. You should feel empowered to ask any question you want during your interview process. It may be helpful to save certain questions for certain people. If you're in an interview with your potential manager, you should take that time to ask about their assessment metrics for the role and their management style. If you're speaking with a potential peer, this would be a great time to ask about their experience during training and to learn a little more about the team and culture.
What Are You Passionate About? Show In Your Interview That You Are Aligned With Ribbon's Values
The mission at Ribbon is to make homeownership achievable for everyone, especially communities traditionally left out of the homeownership story. One way Ribbon addresses diversity, equity, and inclusion in the workplace is through its support of employee resource groups. Remember to show that your passion is aligned with these core values!
🧑💼 Are you interested in joining Ribbon? They have open positions! To learn more, click here.
Get to Know Ryan Key
If you are interested in a career at Ribbon, you can connect with Ryan Key on LinkedIn. Don’t forget to mention this video!
More About Ribbon
Ribbon is a first-of-its-kind real estate technology company transforming the real estate transaction by delivering certainty, transparency, and joy to the home buying process. Consumers and realtors deserve a better experience, and they have designed an open platform that welcomes everyone in the ecosystem to participate.
💎 Partnerships in remote environments is one of the most important aspects to construct in a company. Watch the video to the end to get good tips on how to do it successfully.
📼Wondering how to create partnerships in remote environments? Play this video to get three top tips that will help you to achieve it. You'll hear from Olga Shvets, HR Business Partner, and Viktoriia Litvinchuk, People Team Operations at Unstoppable Domains, who will explain the essentials of this process.
📼How to build partnerships in remote environments? Tip #1: Communicate Effectively. Communication is the key to enabling your remote team to be successful. Choose the channel that works best. For this, chat with your employees and see what they use to communicate, that's how you find the best solution. Also, make sure your team is on board with your internal tools and they know what, how, and where they need to use them.
📼A requisite for building partnerships in remote environments is Tip #2: Show appreciation. Appreciation is shown through your actions. Let your employees know that you value everything they do for the company. Create a special gratitude channel where everyone can share their appreciation for their colleagues for some contribution. Celebrate some wins, promotions, and everything that is important for the company. If you appreciate the employees, employees do the same for the company.
Create Partnerships In Remote Environments Using Trust - Tip #3: Give Honest Feedback
Use engagement surveys! They are a quick and effective way to receive honest feedback from your team and you can see what's working well and what needs to be improved. Your main priority is to create spaces where managers and employees can share honest, relevant feedback.
📨 Are you interested in joining Unstoppable Domains? They have open positions! To learn more, click here.
Get to Know Olga Shvets
If you are interested in a career at Unstoppable Domains, you can connect with Olga on LinkedIn. Don’t forget to mention this video!
More About Unstoppable Domains
Unstoppable Domains is bringing user-controlled identity to 3 billion+ internet users by issuing domain names on the blockchain. These domains allow users to replace cryptocurrency addresses with human-readable names, host decentralized websites, and much more.
By selling these domains direct to consumers for a one-time fee, the company is making a product that will change cryptocurrency and shape the future of the decentralized web by providing users control over their identity and data.