The Art of Debugging

This article on the art of debugging is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School.

Despite what one might assume, the essence of coding is not writing code that creates something you already know how to create. It is finding the solution to problems that are occurring in code that you have never written before. Though the endpoint of a project is the finished product everyone sees, the real work is done through the debugging process to get the product working before and even after launch. This is the beauty of programming. And, the better you get at it, the better programmer you will be.

Finding Your Debugging Tool

Each language comes equipped with tools that programmers can use to determine how their code works. These tools help find any problems that might be occurring in the code. 

In different programming languages, there will probably be two kinds of tools for debugging. This first kind will be to see the values of variables and functions in the terminal or console as all the code is run (i.e. Javascript and console.log, Ruby and puts, Python and print). The second kind will be a stoppage in code so that you can evaluate each value at that place in the execution of code (i.e. Javascript and debugger, Ruby and IRB, Python and ipdb). Each of these is very useful for finding where the values of the code are changing and possibly being used the wrong way. 

Personally, I prefer the console.log type of debugger because I like to look at the full runtime of the code, which allows me to trace an error through the code more effectively. For instance, if a parameter I am using in a function is showing up as undefined then at each point the function is being called I can console.log the value being passed in and trace the one that is undefined to where it is originating. Each programmer will have a preference of what they like to use though, so you need to find which makes the code clearest to you.

Where to Start Using Your Debugging Tool

The valuable thing about these tools is that they allow you to follow the data through the control flow of the code.  This is imperative to find what is wrong with the code if it is not performing the intention it is written for. To fix this, you must start at the point of the error. The point of the error is when your code had been working then something new was introduced, and suddenly the code is no longer working.

An example of a starting point might be seeing an error in the console of the browser that looks like this: 

This shows you that something you are trying to use the .map method on is showing up as undefined.  You can find this code at the file and line that is in the weather.js file on line 14 in the upper right corner. After you have found where the error is occurring you can then check what each value is and trace each step of the value and how it got to the place in the code it was failing. The question of what is happening at that point of error and what should be happening will give you the greatest insight into how to fix the problem.

How to Research Your Issue

To develop the question of how to fix the flow of the code, it is essential to narrow the question to the essential aspect of what you want the code to do and how you want it to manipulate the data in the variable or function. Once you know the exact point of where the information is changing in the wrong way, then you can isolate the question you need to research.  

In the example above, once you have traced the code back to where the variable is being set to an undefined value, then you can ask the question why is the variable being set to undefined at this point. This will allow you to look for a specific way to solve the problem. Whether you are asking Google, using ChatGPT, or perusing the documentation, with the right question in mind the answer will become easier to find.  The more specific the question you ask, the more specific the answer you will get back. It will also provide you with the knowledge to parse through information that does not apply to your situation.  Many people are willing to offer their expertise but it is your job to find the solution that best matches your question.

Conclusion

By finding your system of debugging and developing fluency in tracing code to the source of an error, you can then describe the process to potential employers and show that when you say you can solve problems it is not just lip service.  A systematic way of debugging shows employers that you have used the process before and solved complex problems through that process.  It will give them more trust in your ability to tackle bugs that might occur in the new feature you might be working on for them.  Get good at debugging and employers will notice.

About Joe Milius

Joe Miius is a Software Engineering Technical Coach at Flatiron School. He has previous teaching experience and has been helping Flatiron School students understand coding concepts for 2 years. He loves problem-solving and takes on each new problem or question a student presents with vigor and curiosity.

How to Become a Web Developer in 2023

Launching a career as a web developer can help open up a lot of doors in the tech world. Web development ranks as the fourth-best job in the tech industry. This promising career shows no signs of slowing down when it comes to demand, as overall employment is expected to grow about 23% by 2031.

If you are drawn to a fast-paced industry with problem-solving challenges and opportunities for career development, then a web development career may be the right path for you. Here, we’ll dive into how to become a web developer and what this career entails.

Key Article Takeaways

  • Web development is one of the most promising careers to pursue and is a safe option in an evolving economy.
  • Essential skills are JavaScript, HTML/CSS, and often other languages like C++, Swift, or Python. Soft skills are also important.
  • Web development offers high salaries, flexibility, and versatility. But there’s a lot expected of you.
  • Learning web dev skills can lead you down many career paths, including back-end and full-stack development.
  • Teaching yourself or attending college classes are fine options for learning, but coding bootcamps can be the practical choice.
  • Web development is well worth pursuing.

What Do Web Developers Do?

Web developers—also known as programmers, coders, or engineers—use front end computer languages to build websites, applications, and apps. They also update existing programs per client or employer specifications. Coding helps clients with front-end and back-end development to drive traffic to websites, programs, and apps. 

In short, web developers create a visual representation of the World Wide Web. Now that you know what they do, the next step is to identify the skills needed to learn web development.

What Coding Languages Do You Need to Know to Become a Web Developer?

There are several languages to choose from when learning to become a web developer or programmer, so it’s a good idea to review them. The different coding languages below detail which category they fit into and their primary uses. For a deeper dive into your language options, read our programming languages blog.  

JavaScript

JavaScript is the most popular language among web developers, and knowing it is an essential skill for almost any job function. Of the 1.11 billion websites, 98.3% use JavaScript. It is a versatile language often used on the server side. A vast majority of devices run on JavaScript, too, including iPhones, Android, Microsoft Windows, and smart TVs.

If you’d like to dabble in JavaScript, Flatiron offers free lessons that teach JavaScript. Codecademy also has a good intro program.

Typical Javascript roles include:

  • Software Engineer
  • Front End Developer
  • Full Stack Developer

A JavaScript developer earns an average annual salary of $116,751*. For a junior developer, that average comes in at $75,718 per year.

Python

Python is a popular programming language that is easy to learn and use. This program is used in a variety of fields, including scientific computing, data science, and machine learning. It is also used to develop 2D imaging and 3D animation packages like Blender, Inkscape, and Autodesk. Typically, it is used in back-end coding.

Typical Python roles include:

  • Back End Developer
  • Full Stack Developer
  • Data Analyst
  • Data Scientist

The average annual salary for Python developers is $123,309. Entry-level workers earn $116,847 annually, on average.

Ruby

Ruby is a popular scripting language used for web development and has a helpful community. It is a good language to learn because of its association with major tech companies. Ruby on Rails is a web application framework. 

Typical Ruby titles include:

  • Software Engineer
  • Back End Developer

Ruby developers earn an average of $125,000 per year.

SQL

SQL (Standard Query Language) is a standard language for sorting, manipulating, and retrieving data in databases. It is critical for sifting through massive quantities of data to answer specific business questions. In 2023, the average annual salary for an SQL developer is $96,296.

Swift

Swift is a relatively new programming language used to develop iOS and macOS applications. It is optimized for performance and built to match the realities of modern iOS development. iOS developers often use Swift and earn an average of $125,946 a year.

HTML & CSS

HTML and CSS are essential for learning web development and are the building blocks for websites. They are often the first languages any web developer learns and are essential at all levels, especially among front-end developers. Front End Developers earn about $109,843 per year.

Go

Go is a low-level language that is ideal for systems programming. It is a compiled language that runs close to the metal and is open source. Despite its relative newness, Go is gaining popularity because it’s easy to learn and features a modern syntax. It is used by IT companies and data scientists, as well as for many Google applications. 

Data Scientists make an average of $127,128 per year.  A Go developer earns an annual salary of $104,840.

C++

C is the root of many programming languages with wide uses in computer science and programming; C++ is simply an enhanced version of C. Developers proficient in this programming language can use the compilers for a variety of platforms, making applications developed in these languages largely transportable.

Figures show that C++ developers receive an annual salary of $118,851, on average.

Breaking Down the Pros and Cons of Being a Web Developer

Pro: Flexibility

Coding jobs are in high demand, so developer jobs often have great perks and work-life balance. The coding lifestyle fits very well with working remotely, so coders may have the choice to work on their own time—though this can vary by company and role. 

Pro: High Salaries

Computer programming is a highly lucrative career. According to U.S. News, software development ranks above all other job types in several categories, including:

Pro: Career Versatility

Being a coder means you’ll usually have a spot in almost any company. As the demand for automation and phone-based services expands, so does the demand for development jobs. This is the direction many companies are going in, so the demand for developers and web developers will follow suit.

Pro: Demand

As we touched upon earlier, demand for programmers, engineers, and web developers is only projected to grow and grow and grow. Software developer employment is projected to grow 25% by 2031, faster than the average rate for all occupations.

Pro: You Can Make Cool Things

We’ve all encountered websites with incredible “wow” factors. Web developers are responsible for creating some of the best experiences we have online, from the prettiest sites to the most functional ones. You can be the person who helps create that.

Con: Turnovers

Programming and development is a fast-paced industry, and there are a lot of benefits to that. However, changing jobs isn’t for everyone. Developers generally tend to switch jobs more often than other roles, and that could seem taxing to people who don’t want so much change.

Con: Startups Galore

Many of the companies that have the highest need for developers are startups. And with startups come more of the aforementioned change. Venture-backed, high-growth startups have many outcomes, both good and bad. Often, developers bear the brunt of this.

Con: New Languages

Developers are always expected to be learning. Languages and processes are always changing, and while that is exciting, there is often a lot expected from them.

What Other Jobs Can You Get If You Learn to Code?

There are a variety of in-demand jobs you can get by learning to code. People go down many paths in their first web development jobs, depending on their goals and ambitions. Consider what type of role you see yourself in when you decide which programming language you want to pursue and which bootcamps you might consider. 

The most popular development jobs are outlined below.

Web Application Developer

A web application developer maintains both internal and external websites for companies. To do this, they focus on designing and implementing application systems for use on websites and mobile applications. Developers in this area need a solid understanding of HTML, CSS, and other programming languages like JavaScript.

The average salary for this position is $108,068 per year.  

Software Engineer

Software engineers build computer systems, apps, and databases. The umbrella term—software engineering—is the main focus of Flatiron School’s flagship software engineering program.
The latest figures from 2023 show that the national average salary for software engineers is $139,952.   

Front End Web Developer

Front-end web developers make websites with form and function. The typical skills needed are HTML, CSS, and JavaScript to build websites and display them properly on web browsers. These developers work hand-in-hand with graphic designers and back-end developers to create functional and aesthetically pleasing web pages. The national average salary for a front-end web developer is $98,828.

Back End Web Developer

Back-end developers pull information from a database and relay it to a web user. They complete their tasks using PHP, JavaScript, Ruby, Python, or SQL. Back-end development focuses on data and uses these coding languages to pull information from a database to relay it back to the user.

The national average salary for a back-end developer is $107,918

Full Stack Developer

Full-stack developers know enough to create functional websites or troubleshoot issues on the back end of the site. Startups, medium-sized companies, and huge tech companies all need full-stack developers.

The national average salary for a full-stack developer is $124,218 a year. Learn more about pursuing this position.

Mobile Developer

Mobile developers create and publish iOS apps and Android apps with Swift. There is considerable room for growth in this particular field, as there is a high demand for apps, smartphones, and other mobile devices. The national average annual salary for a mobile developer is $114,669.

UX / UI Designer

UI/UX designers use code in their day-to-day jobs to focus on app user experience. They focus on user interface, user experience, and graphic design. Coding skills are often needed in day-to-day work. 

UX/UI designers earn an annual average of $115,956. Learn about the different kinds of design, including UX, UI, and graphic design, on our blog

Product Manager

Product managers work with developers and coders to act as the voice of the customer, understanding what they need and want. They benefit from understanding code and the functions of specific languages, which lets them address the needs of their teams.

They don’t need to be seasoned coders, but not knowing what goes into a product can facilitate project management and troubleshooting processes. The annual salary for product managers is approximately $153,698.

Database Developer

Database developers are responsible for the maintenance and development of databases. These employees can also work as database administrators, where they maintain the storage of information and make sure it is accessible to those who need it. Estimates show that they earn an annual salary of $108,713.

DevOps Engineer

DevOps professionals help companies innovate and stay competitive. In a business, they represent a team of professional coders, operations staff, and IT generalists. DevOps engineers make, on average $127,036 a year.

Data Analyst

If you learn the languages needed to become a developer but realize you love numbers, then becoming a data analyst might make sense for you. Data analysts are among the most in-demand positions in the realm of coding and computer science. They have skills that combine software engineering, coding, statistical analytics, and data visualization to tell stories and discover insights from big data.

They use Python, SQL, R, and Java to develop algorithms and build models to discover new problems and even predict consumer behavior. The average data analyst earns approximately $80,429 per year.

How to Get Started in a Web Development Career

Pursuing a career in coding does not necessarily require a computer science degree. Instead, this career requires dedication and patience—the years of experience come later.

Step 1. To get started, take some introductory lessons to see if you have a passion for coding. This passion is the single most important thing to get started in your career.

Step 2. Figure out what you’re interested in when comparing languages and job opportunities. There are several different types of developers, all of which have their unique benefits and drawbacks.

Step 3. Learn the skills you want to learn and stay diligent. Computer science classes and coding bootcamps can be hard. They involve a lot of learning in a short period, but once you’re done, it’s a rewarding feeling.

You can learn from professionals through bootcamps or get a degree in computer science.

Step 4. Build your online brand by establishing a good LinkedIn profile. Write about what you know and include any websites and apps you developed in your portfolio. From there, begin your job hunt. Once you begin the job interview process, make sure you practice for your interviews extensively beforehand.

How Do You Learn to Code?

To get a job in coding, you must first learn to code. Coding bootcamps are the best bet for getting into coding. These bootcamps are a middle ground between self-study and college degrees. They are more expensive and time-intensive, but they offer more support and motivation.

The entire purpose of a coding bootcamp is to get you job-ready as soon as possible without sacrificing education quality.

How Do You Know If a Coding Bootcamp Is Right for You?

Before you get into the program, it is important to pick the right bootcamp for you based on your goals, learning style, and expectations. You will want to look at the program’s success rate and curriculum.

Also, consider location. Some teach online, while others teach in-person. Some might focus on one or two specific languages, while others are more generalist, focusing on many different languages.

Find a bootcamp that teaches the languages that align with your goals and make sure they have career services. CareerKarma has an extensive list of the best coding bootcamps in 2023. Check out our web development bootcamp blog to learn more about coding bootcamps.  

Will Coding Bootcamps Get You a Job?

Coding bootcamps can help you learn to code quickly, but they don’t guarantee a job. During your research process, your selection must offer career services that will help you build an online presence after you graduate. 

Also, research job placement rates for any bootcamp you consider. Any good bootcamp will be open about how many of their graduates find jobs and their starting salaries. For example, we at Flatiron School release annual job reports.

Can You Teach Yourself To Code?

If a bootcamp isn’t for you, another option is self-study. While it is a cheaper option, learning on your own requires a lot of discipline. You must hold yourself accountable and solve problems on your own.

If you need additional resources, check our blog on the best websites to practice coding.  

How Long Does It Take to Learn to Code and Become a Web Developer?

The time it takes to learn to code varies based on a student’s diligence. Coding bootcamps take as little as three months to as much as eight months. Coding is a lifelong journey, and it is important to have a passion for learning as new languages and popularities will change rapidly. A career in coding is not far off if you’re willing to put in the time.

I’ve Learned to Code, but I Have No Experience, So How Do I Become a Developer?

If you learned to code, you need to prove it. There are a variety of ways to showcase your knowledge and understanding of coding. Write blog posts about topics you’re interested in or projects you’ve completed. 

Build out your professional brand across LinkedIn, Twitter, GitHub, and your website. Prepare for your interviews, as there will be soft skill and technical questions. Network in person and online to score more interviews.

Is Freelancing Worth It When Learning How to Code?

The key to getting started in freelancing is to find a strong gig marketplace. From there, apply for the gig that fits your situation. Follow up, and try not to get discouraged. Job searches don’t yield results, and then one day, they do!

Coders can have lucrative careers from freelance gigs, but first, it’s important to know where to start. Try getting involved with open-source projects. These projects consist of publicly available source code that anyone can modify. The ability to work with other coders of varying experiences can help develop your skills.  

To be more competitive, pick up some soft skills and come prepared for interviews. As your freelance career progresses, find opportunities to practice clear communication, conflict resolution, and time management.

Start Your Web Development Education with Flatiron School

As you can see, learning how to become a web developer takes time, patience, resources, and the right mentality. If you need the right guidance for career development, Flatiron School can help. Apply to our program and see how you can accelerate your profession as a web developer. 

*Salaries cited current as of September 2023

It’s Not You, It’s Me: Self-Sabotage In The Job Search

This article on Self-Sabotage In The Job Search is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

As we job search it’s often easy to identify all the external reasons why we’re not finding success. Especially when we feel we’re doing everything possible to find our next career opportunity. However, it’s important to regularly do a self-check to make sure we haven’t fallen into the trap of self-sabotage. 

Identifying Self-Sabotage Habits

Self-sabotage, undermining efforts unconsciously, impacts job search with negative thoughts and behaviors. Persistent self-sabotage erodes self-esteem, hinders confident self-presentation to employers, decreases chances of success and increases missed opportunities. Overcoming these thinking and behaviors enhances job prospects and career advancement.

Self-Sabotage Thinking

Thinking patterns, driven by self-doubt and a skewed perception of your abilities can stop you from embracing opportunities. Fear of failure or success, impostor syndrome, negative self-talk and perfectionism are all self-sabotage thinking patterns that can hold you back from personal and professional growth and realizing your full potential.

Fear of Failure or Success: The fear of either not being good enough or of achieving success and not being able to sustain it can paralyze you. This fear can hinder you from even trying or pursuing opportunities that are well within your capabilities.

Impostor Syndrome: This mindset involves feeling like a fraud despite having the necessary skills and qualifications. People with impostor syndrome tend to downplay their accomplishments and hesitate to apply for positions they’re qualified for.

Negative Self-Talk/Self-Doubt: Constantly undermining yourself with negative thoughts and doubts can lead to a lack of motivation and persistence. This can impact the quality of job applications and networking efforts.

Perfectionism: Striving for perfection can lead to a cycle of never feeling satisfied with your efforts. This often results in delaying applications or not pursuing opportunities until you feel they are “perfect.”

Self-Sabotage Actions

As you job hunt, certain self-sabotage actions can act as roadblocks, preventing progress and chipping away at your confidence. From procrastination and underestimating qualifications to missed networking opportunities and the aftermath of rejection, recognizing, and addressing these behaviors is important for a productive job search.

Procrastination/Lack of Focus: Putting off tasks or constantly switching between them without making substantial progress can delay the job search process and cause unnecessary stress.

Underestimating/Overestimating Qualifications: Failing to accurately assess your skills and qualifications can lead to applying for positions that are too junior (or too senior),  and missing out on opportunities that are well-suited for your expertise.

Not Taking Advantage of Networking Opportunities: Networking is a crucial aspect of job searching, but self-sabotaging behavior might lead you to shy away from such opportunities due to anxiety or lack of confidence.

Not Tailoring Application Materials: Sending generic application materials instead of tailoring them to the specific job and company can significantly reduce the chances of being noticed by employers.

Letting Rejection Slow Down Your Progress: Rejection is a natural part of the job search process, but allowing it to discourage your progress can lead to prolonged unemployment and decreased self-esteem.

Strategies to Reduce Self-Sabotage

If you’re feeling uncomfortable because you can identify with one (or more) of the above thinking or behaviors, don’t panic, there are actions you can take to ensure a successful job search.

Embrace Challenges as Opportunities for Growth: Reframe challenges as chances to develop new skills and learn from experiences.

Set Realistic Goals: Establish achievable goals to measure progress and avoid becoming overwhelmed by unrealistic expectations.

Practice Positive Self-Talk: Replace negative self-talk with encouraging and motivating affirmations that reinforce self-confidence.

Visualize Success: Visualization techniques can help you imagine yourself succeeding in interviews and landing your desired job.

Establish a Support System: Surround yourself with individuals who provide encouragement, constructive feedback, and a sense of accountability.

Seek Feedback for Improvement: Constructive criticism can help you refine job applications and improve interview skills, leading to better outcomes.

Step Out of Your Comfort Zone: Push yourself to attend networking events, reach out to potential employers, and try new strategies that can expand your opportunities.

Tailor Application Materials: Customize your resume and cover letter to match the requirements of each job you apply for.

Research and Target Companies: Research prospective employers thoroughly to demonstrate your genuine interest and alignment with their values.

Handle Rejections Positively: Instead of internalizing rejection, use it as a learning opportunity to enhance your applications and interview skills.

Search with Resilience: Maintain persistence and adaptability in the face of setbacks, trusting that the right opportunity is out there.

Conclusion

Overcoming self-sabotage during a job search requires a proactive approach, combined with self-awareness, and determination. By recognizing and addressing self-sabotaging thoughts and behaviors, you can empower yourself to navigate the job market successfully. 

Remember, your job search journey is not just about finding employment, it’s also about personal growth and the realization of your potential. By taking positive steps and adopting a resilient mindset, you can turn self-sabotage into self-empowerment, which will result in a fulfilling and successful career.

About Aimee Thompson

Aimee Thompson is an ICF Certified Coach with Flatiron School. Her background is in coaching, human resources, learning and development, customer success and recruiting.. Her passion is partnering with her clients to help them thrive outside of their comfort zone and create a life they love.

How to find a job you love (without having done it before)

This article on how to find a job you love without having done it before is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

When you were a kid, what did you want to be when you grew up? It’s interesting how children often select a career they’ve observed someone special in their life doing. Common responses often include teacher, firefighter, doctor, or nurse. Whether it’s the cool uniform, the love of learning, or wielding a stethoscope, there is something we observe as being fun or valuable that yields our answer. 

As we grow up, our exposure to new information and hobbies may expand our career interests, whether that’s through school, sports, or the good ol’ internet. Exposure to the great wide world and all the interesting careers that exist may be enough to select the type of job you target, but in order to acquire the job, employers require proof that you know what you’re doing – and often for good reason! I don’t know about you, but I prefer my doctors to have the credentials necessary before receiving treatment. Yet medical, academic, or even legal credentials come with a high price tag. What if you get to the end of your credential-collecting journey and realize the career isn’t what you hoped for? The cost of being wrong can be quite expensive. 

An Alternative Route To Career Happiness

When considering new career paths, it can be alluring to become a skill collector. With free resources and online tools available at every turn, it’s an incredible time to learn all kinds of things. But without having done the actual job itself, how can you really know if a career is right for you and that you’ll enjoy it? Spoiler alert: you can’t. However, you can gather critical information to help you make the most informed decision before investing one dollar more. 

Investigate

While changing careers tends to involve investment in skill-building, before paying for tuition, look to your network as a way to research any number of jobs, careers, and industries that pique your interest. Become an investigative reporter, preparing your questions and documenting your findings from the conversations you hold. Below are some questions to get you started.

  • What was your first job ever? (A great icebreaker!)
  • Tell me about your journey to become a <job title>. 
  • Were there other careers you were considering while you were studying <insert field from school/college/university/training program>? Why did you decide to go the route you did? 
  • If money was no issue, what career would you choose for yourself? 
  • What do you enjoy the most about your current role? What do you like least or wish you could change? 
  • What do you want to do next in your career? Or are there other careers you still want to pursue? 
  • How much time did you dedicate to learning the skills required to land your first role in this field? 
  • Would you recommend someone like me to pursue this career?

Reflect

Apply this approach to a handful of careers that interest you and compare notes. If the answers energize you, then that’s a great clue to keep researching individuals in the same field. If the answers frighten or drain you, it could be a sign to pivot or pull back. Either way, exploring how you feel and reflecting on the conversations will help you hold up a mirror to yourself. Does this sound like me? Use their responses to inform your next steps.

Follow Up

The magic of the investigative reporter approach is in the follow-up. Imagine you’ve spoken to 10 individuals in the field of interest, and you’ve now enrolled in a program to acquire the skills you need. Reach back to each individual and send them an update. 

“I wanted to send an update from our conversation X months ago. After we spoke, I decided to enroll in a Cybersecurity program and am now in my first week. We’re already learning about xyz – and while it’s been intense learning at a fast pace, I’m having a blast. Thanks again – our chat really helped solidify for me how much I would enjoy the work. I’d love to stay in touch!”

Multiply these short updates across the folks you met and send them at the beginning and end of your program. These updates will illustrate your follow-through (a skill unto itself!) as well as provide the incredibly important “proof” employers all seek. When you graduate, you can send your updated resume along – that is, unless they request it from you first! 

By starting the networking process early as a way to research and verify your interest and aptitude, you’re setting yourself up for early job searching success and career happiness, not to mention some great peers in your new chosen field that could benefit you your whole career long. 

About Lindsey Williams

Lindsey Williams is the Senior Manager of Coaching at Flatiron School. She has more than 15 years of experience in the EdTech spaces and has held a variety of roles from Recruiter and HR to Campus Director and Training Director

Overcoming The Sophomore Slump

This article on Overcoming The Sophomore Slump is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

Traditionally, the “sophomore slump” is a (completely natural) phenomenon in the learning timeline where you experience some initial success followed by reduced effort for a period of time. This reduced effort shows as a slight regression towards your goal or against the mean. There are a number of factors that contribute to the sophomore slump, and just as many ways to overcome the internal battle for motivation. 

What Causes The Sophomore Slump?

In its totality, the sophomore slump often looks like burnout from a program or a process. Being overwhelmed can often lead to apathy in your work, making it more difficult to complete or even feel invested in tasks. A 2017 study by The University of New Mexico showed that, after an initial effort, it’s natural to want ease and comfort in your next steps. But when this is applied to a learning process, it can often snowball into habits that do not serve the greater purpose of why you started in the first place. 

Signs You May Be Experiencing Sophomore Slump

Of course, in a bootcamp “sophomore” does not always refer to your second phase. It can be after a few weeks, or months depending on the levels of burnout you’re experiencing, or even after the initial push and excitement has worn off. Learning isn’t linear, and motivation certainly isn’t either. It can be hard to tell if you’re fatigued from all the Zoom-ing, or if there’s something a bit more patterned happening. 

Here are some habits and behaviors that may indicate this pattern: 

  • skipping or being late to classes
  • zoning out or not paying attention
  • waiting until the last minute to start or finish assignments 
  • feeling overwhelmed by your work 
  • procrastinating or deprioritizing your program
  • “giving up” on assignments or concepts
  • feeling disconnected from your cohort or instructor

If you happen to notice one or two of these behaviors in your own life, there’s no need to panic. As stated earlier, this is completely understandable and I’d caution to say a “normal” part of the learning process. Learning has more than one “curve”, so the most helpful steps you can take to alleviate falling behind in this manner is to first, acknowledge that you’re dealing with one of these dips in the curve. 

At this “sophomore” point, midway through your program, things may seem most difficult or disconnected from each other. This is also the point that usually comes right before the big “aha” or “putting it all together” phase of programmatic learning. The most important thing you can do is to see it through. There are ways of getting out of thinking it is too difficult to succeed, or that you’ve fallen too far behind, or that you’re not motivated enough to finish.

How To Overcome The Sophomore Slump

Thankfully, there are methods for becoming motivated and catching up.

Seek Support

The first step is to always reach out to your instructor, advisor and peers. It can take others checking in, or accountability meetings to get back on track. There is no shame or stigma in experiencing some setbacks in your journey. Sustaining motivation for prolonged periods of time in a goal-setting environment is never easy. Meeting with your instructor and advisor can give you the small, achievable, and measurable goals that you can attain to get the ball rolling again. These accountability meetings or check-ins can help you regain some self-efficacy and remind yourself that you are capable of completing difficult tasks.

Look Ahead

Another way to become re-engaged with your program is to look into career paths that flow from your program. Career Services has a myriad of resources available that can re-energize your efforts. Scroll through LinkedIn to see what projects are going on in your field that you can get excited about. Or, start looking at companies that share your passion and imagine what’s possible once you graduate. 

Community Involvement

Try getting involved with your community! We have some amazing people working hard to make sure you have a community of learners to help you out and engage with when you’re feeling a little behind. 

Discord can connect you with other students who are going through the same academic challenges you are. Try setting up a time to run through some code together, study, or pair up on a lab! This can be an incredibly validating experience. You’ll also review or learn new information in a different capacity, which can make it easier to remember. 

If you are on campus, there are many opportunities to engage with others who share interests. Reach out to your campus coordinator or check out the Community Calendar to see what’s going on near you! There are even Career Services AMA (Ask Me Anything) sessions that can be helpful and motivating. 

Take A Bird’s Eye View

Think in the big picture. Why are you here? What motivated you to come to Flatiron in the first place? How will your life change once you have this graduation under your belt? Everyone comes to the table with a different perspective and set of learning skills and strengths. Make sure you hold onto yours and rediscover it if you need to. There will be times when you lose motivation, that is unavoidable. But, by taking small achievable steps, you can gain back the intrinsic drive you had to finish what you started. 

Battling exhaustion and apathy comes with so many major learning moments in life. Remember that you can do difficult things to unlock better opportunities for the rest of your life. 

About Sara McCown

Sara McCown is a Team Lead for Student Advising with Flatiron School. She has been on the Advising Team since its recent creation and has previous experience in public education and administration. In addition, she has over 12 years of experience in coaching students for success. She’s also an avid reader and always open to suggestions and discussions!

Sources:

The Abstraction of Parameters

This article on the abstraction of parameters is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

While programming, you may want to have the same thing happen more than once but at separate times in the code. You can copy and paste the code from the first instance, but then you have repeating code throughout your project.  

While a practical solution, doing this adds many lines of code for you or others to parse through to find a bug should one occur. 

To help minimize code size, stick to DRY (Don’t Repeat Yourself) code.  Using functions with parameters and arguments allow you to reuse that same code over and over without adding all the lines of code each time.

What is a parameter?

A parameter is kind of like a variable that belongs to a specific function. Just like a declared function waits to be invoked or used somewhere in the code, the parameter waits to be given a value. It just sits there in the function until it is utilized and given a value.  

When declaring a function you must also declare the parameter that is attached to it.  To declare the parameter all you need to do is give it a name in the parentheses of the function you have declared. The syntax looks something like this in JavaScript:

function myExample(myParameter){

return myParameter

}

When giving a parameter a name you can name it anything you want to (as long as it doesn’t repeat the name of another variable or function in the same scope). However, it is helpful to others reading your code (and as a reminder to yourself) if you give the parameter a name that represents the value it is given. 

For instance, if you have a function that converts Fahrenheit to Celsius, then the value you want the function to change will always be the Fahrenheit temperature. So, calling the parameter “Fahrenheit” would be ideal.

function convertToCelcius(fahrenheit){

return (fahrenheit – 32) * 5 / 9

}

In this case, the parameter called Fahrenheit will always represent the temperature to be converted to Celcius when the convertToCelcius function is invoked and given an argument.

What is an argument?

Functions exist in two states. 

The first state is the declaration, or architecture of code that will happen when the function is used. 

The second state is the invocation of the function. This is the signal that the code in the declaration of the function should go through its coded steps. The parameter exists in the declaration version of the function and the argument exists in the invocation of the function. The argument is the value that is given to the function and, thus, assigned to the parameter of the function. 

In the previous example, the argument would be provided for that function similarly to this:

convertToCelcius(78)

This signifies to the code that the steps in the previous function example should go through its steps with the parameter (in this case called Fahrenheit) equal to 78. So, when you invoke the function like this, the code for that one time the function performs its steps is essentially the same as this: 

return (78 – 32) * 5 / 9

Notice that the parameter was replaced by the argument that was given to the invocation of the function. That’s because the parameter is essentially a stand-in for the argument that is passed in. This is what makes the function dynamic and reusable with different values.  

How Are Parameters and Arguments Linked?

The parameter of a function is like a container that can hold different things in it. Let’s say you have a favorite glass that you like to drink out of for every meal. On that glass, there is a label of ‘drink’. For breakfast, you have eggs and toast and your ‘drink’ glass you fill with orange juice. After breakfast, the ‘drink’ glass is empty so you can use it again for lunch (after rinsing of course). For lunch, you have a ham sandwich and fill your ‘drink’ glass with milk. Afterward, it is empty again and can be used for dinner and so on.

For each meal, the glass stays the same and always has the label ‘drink’. What changes is what the glass holds. If the meals represented a function, ‘drink’ would be a parameter in that function. Whatever it is filled with represents the argument for each meal (or the invocation of the meal function).

In Conclusion

Using parameters and arguments in your function allows you to reuse the code in the function for different purposes. This will keep your code sleek and minimize the lines you must trace back to find bugs in the code. It also shows employers that you can develop dynamic code for use in multiple places in an application.

About Joe Milius

Joe Miius is a Software Engineering Technical Coach at Flatiron School. He has previous teaching experience and has been helping Flatiron School students understand coding concepts for 2 years. He loves problem-solving and takes on each new problem or question a student presents with vigor and curiosity.

Professionalism vs. Authenticity

This article on Professionalism vs. Authenticity is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

Most of us are familiar with the Shakespearean quote, “To be or not to be, that is the question.”  When it comes to professionalism vs. authenticity some may ask ‘Should I choose to be professional or authentic?’ Many people feel it’s an either-or situation. But it’s possible to maintain being professional in your job search and work while embracing your true self, which will ultimately lead to more significant job opportunities, job satisfaction, and success.

Professionalism vs. Authenticity: Why Is It Important?

The Merriam-Webster dictionary defines being professional as “exhibiting a courteous, conscientious and generally business-like manner in your workplace.” Or to put it another way, being a professional means carrying yourself with courtesy, care, and business savvy. It’s about being considerate to others, showing diligence in your actions, and handling things with a touch of class.

Being professional builds credibility and trust among colleagues and clients, positioning you as a reliable person. By showcasing courteous and business-like behavior, you develop strong and meaningful relationships, which opens the way for successful networking, job opportunities, collaborations, and career growth. Moreover, maintaining a positive personal brand through professionalism sets you apart from the crowd, opening doors to opportunities and leaving a lasting impression on others.

At this point you may be thinking, I get it, it’s essential to be professional so I’ll “fake it” during the interview and carry that into my daily work. “Faking it” is tiring, being yourself is exhilarating. Own who you are in the interview process and carry that freedom to be yourself over into your work life (within reason, of course).

How To Blend Authenticity With Professionalism

It starts with knowing your values, strength, abilities, and personal brand.

Blending your true self with professionalism involves aligning your values, strengths, and abilities with the standards of your workplace, and finding a balance that reflects your authentic character. Embrace your unique personal brand as an asset, and show it confidently while adapting it to complement the professional environment, which will lead to your creating a powerful and genuine impression on others.

Adapt Your Communication Style

This involves tailoring your approach to resonate with different audiences, keeping in mind their preferences and needs. At the same time, add your unique personality, values, and perspectives into your interactions, creating an authentic and memorable impression that fosters real connections.

Dress With Style

Dressing to reflect your style involves selecting attire that fits your job search and workplace norms and expectations while adding subtle touches that showcase who you are. By blending professional clothing with elements that resonate with your unique taste, you show your confidence and authenticity, making a powerful statement that sets you apart stylishly and professionally.

Customize Branding Documents

Add your style to your personal branding documents by incorporating design elements, colors, or fonts that resonate with your identity. By doing so, you create a cohesive and authentic representation of yourself, leaving a lasting impression that catches your audience’s attention and sets your work apart with a touch of individuality.

Highlight Your Passions and Interests

Seek opportunities that align with your values and hobbies. Embracing your passions not only increases your motivation and enthusiasm but also allows you to bring unique perspectives and creativity to your professional opportunities, making your career journey fulfilling and rewarding.

Express Opinions Respectfully

Actively listen to others, consider their viewpoints, and communicate with empathy and open-mindedness. If you choose your words thoughtfully and focus on having a collaborative atmosphere, you create space for conversations that encourage understanding and healthy relationships.  

Professionalism + Self-Expression = Success

Finding the right balance between professionalism vs. authenticity is the key to unlocking a world of possibilities in your job search and workplace. Embracing your true self while upholding professional standards allows you to build credibility, trust, and meaningful relationships, leading to greater job opportunities, job satisfaction, and overall success. By being true to yourself and showcasing your unique qualities, you not only stand out from the crowd but also create a fulfilling and rewarding career journey that aligns with your passions and interests. So, let your authenticity shine as you navigate the professional landscape, and watch as your genuine approach moves you toward achievement and personal growth.

About Aimee Thompson

Aimee Thompson is an ICF Certified Coach with Flatiron School. Her background is in coaching, human resources, customer success, recruiting, and training and development. Her passion is partnering with her clients to help them thrive outside of their comfort zone and create a life they love.

Learning Styles: Shaking up your routine!

This article is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

It’s time to question the tried and true method of “hitting the books”. Finding out your learning style, and switching modalities up when you need to is a crucial piece of finding success as an adult learner. I know that when we were all in traditional school settings cramming until 2 AM, reading the same passages over and over, and making ornate flashcards were common paths to take for success. However, in a fast-paced setting like a bootcamp, those old study habits may no longer cut it.  If you’re struggling to get new material to really “stick”, then it’s time to try out a different style. 

What Are Learning Styles

There are a lot of different “types” or “styles” of learning. At the basis of learning is how you are absorbing information. So, try this. Think about a specific happy memory you have from childhood. How are you remembering that point in time? What is standing out? Is it the dialogue, can you see it like a movie, is it something that was written down, was it who you were with or what you were physically doing? What stands out most to you is a good indicator of how you’re absorbing information, and therefore how you learn. 

Consider the list below, and know that you are probably a mixture of several types, with a few more dominant than others. This is also a short list of some options, you can find more nuanced types if you dig a little deeper. The VARK questionnaire can help you delineate these nuances. 

Visual

Visual learners absorb what they see over what they hear or read. Most people are visual learners or have a strong affinity for visual learning. These folks can find schematics, sketches and diagrams, or watch videos or create visualizations to study broader concepts.

Auditory

Auditory learners most effectively learn through listening. This is a language-based style, like verbal, but auditory learners best process information by listening, not just reading. Incorporating this into your studies could look like, listening to lectures multiple times, asking questions and engaging in dialogue with peers and instructors, making songs or rhymes for memorization, or finding videos of differing explanations of a concept. 

Kinesthetic

Kinesthetic or tactile learners are individuals who need to move or use tangible objects to absorb information. If you’ve ever found yourself tapping a pencil to focus, or chewing gum during a lecture, you might have a bit of this learning style. Incorporating kinesthetic learning into your day could look like hands-on practicing of concepts to make them malleable, walking while you listen to a lecture or video, or having something in your hands while you listen or read (I recall a professor passing out Play-Doh at one point to help out these students).

Verbal

Verbal learners are, like auditory learners, language-based. However, these students gravitate toward reading and speaking. Students who learn primarily verbally perform best when reading and annotating, taking notes, repeating information back, or finding other ways to summarize. Often, these students find the Canvas coursework to be helpful and will revisit during code challenges or project times to re-read and review.

Social

Social learners can be any and all of the above styles as well, but social learners simply learn better with others or in groups. These learners choose classroom learning and in-person so they can ask questions and create a dialogue for deeper meaning. 

Solitary

On the other hand, solitary learners often absorb information and content best when they are by themselves. These are folks who also tend to need a more quiet and focused space to work, often retreating to libraries or quieter corners. 

Sub-Types

Within these types, there are many different subcategories that are worth diving into if you find that you aren’t retaining information as well as you’d like in your current program. Between the Canvas work, lectures, paired programming, labs, and even Discord, the amount of resources can be overwhelming. This is why it’s important to experiment with your learning. If you find that what you’re doing isn’t working, look for a better way.

How To Implement Your Learning Styles

Try a few things! Here are some low stakes ways to experiment with the type of learner you may be now. 

  • Switch up your reading/lecture order to see how one informs the other in your live or campus classes. 
  • Find a podcast or a Youtube channel that can solidify some information that you’re just not picking up on in other settings. 
  • Reach out on Discord to partner with someone in an additional practice lab in Canvas. 
  • Explain a process to one of your peers, or have them explain it back to you to have that knowledge solidify. 
  • Switch up the times of day that you independently study. 
  • Find instructions for a visualization or build a model. 
  • Switch your readings to audio recordings. 
  • Reaching out to your advisor is also a great way to get some ideas about how to switch up your schedule to accommodate for these risks.

At Flatiron School, we want to expand your soft skills as well as teach you those content driven skills in your program. It’s crucial that you’re flexible enough in your learning and problem solving so you can adapt to any project or role you may be in once you land that job. Get creative in your projects while you’re working with your peers, and try something new. This might mean that you speak up more during your presentations, or take charge of a different section of the project you’re traditionally uncomfortable with. 

Example Of A Student Using Learning Styles

An advisee recently told me that they were experiencing a mental block with how to approach a new topic for their software engineering program. They found that they were stressing out more finding “the most efficient way to approach it”, which in turn made it really…inefficient. So, they took a learning styles quiz which turned up multi-modal, giving very little reprieve on the efficiency front. After chatting about some next steps, we switched the approach to try a new study approach each day, and see what sticks. I know it sounds trivial, and really panic inducing when there’s only so much time in the program. But, once you find that new hack for your brain, you’ll be amazed at what starts to click. 

Good news on that friend of ours, they did incredibly well in Phase 3 of their program. And they’re still switching up their approach when they need to. 

In Conclusion

Don’t be afraid to step out of your comfort zone when working with new content. Often, students will switch up their approaches in different phases as well. If you need ideas, talking to your peers, instructors, and advisors can be helpful if you find yourself reading the same passage over and over to no avail. We’ve all been there. Don’t forget: it’s not that you can’t do it, it’s that you just need to find the way in. 

Sources

About Sara McCown

Sara McCown is a Team Lead for Student Advising with Flatiron School. She has been on the Advising Team since its recent creation and has previous experience in public education and administration. In addition, she has over 12 years of experience in coaching students for success. She’s also an avid reader and always open to suggestions and discussions!

Version Control With GitHub: A Guide

This article on version control is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

Have you ever been working on a project and gotten to a point where you wanted to rewind? Perhaps start over from a previous point and go in a different direction? Hitting undo until you get there would work, but then you’d lose all the work that you had. Wouldn’t it be nice if you could go back but still keep all your work? Well … there is for coding!

What is Version Control?

Version control is a system to keep track of each change that is made to the code in a project. 

Many systems can be used for version control. In the Flatiron School Software Engineering program the focus is on using Git and GitHub. Git is the most widely used version control system and is used in conjunction with GitHub. 

Git commands run locally to track each version and change made to a project on your computer. GitHub stores all those changes so that other people can review the changes.

Why Is Version Control Important?

The importance of version control is not just to show you know a new technology but also to show you can manage larger projects in an organized way.

Using version control will be crucial because you will have many people collaborating on the same project and keeping track of all the different code coming into the project in an organized way is essential. It will allow your managers to review your code before integrating it and it will allow your contributors to apply your code to theirs. 

Showing employers that you can organize your code and be able to compartmentalize code into workable sections that can be integrated or reverted will show them that you have the foundations to work in a collaborative environment.

Git Basics

While completing the labs in the Flatiron School Software Engineering program you will become automatic in the basics of Git version control. 

Each submission will be prefixed with git add . , git commit -m “Completed”, git push. These are very good commands to get used to using, and even better to understand what is happening with each command. 

The git add . command takes note of every file that has been changed in the directory and puts them into the staging area. Take note that the period at the end of the command is what signifies ‘all’ the changed files. 

The git commit -m “Completed” command takes those staged files and designates them to be tracked by an identifier.  This allows each newly committed version to be reviewed or reverted back to.  Then, finally, the git push command sends the committed files to the software holding each version, in Flatiron School’s case it is GitHub.

Beyond the Basics

Once you’ve got the basics, it’s helpful to familiarize yourself with additional commands. The deeper Git knowledge you have, the more applicable you’ll be in larger projects with multiple contributors. 

There are several commands you will want to explore to get a greater sense of compartmentalization in Git. They are git branch, git checkout, git merge, and git pull. These commands will help you store commits into a specific section of a project that you are working on.

Git Branch and Git Checkout

There are two ways to use the git branch. The first is to bring up a list of branches that are associated with the project you are working on. The second way includes an argument after the command and creates a new branch that can be worked on. 

For instance, the command git branch new-branch will create a new branch of the project called new-branch.  You can then start working in that branch with the command git checkout. Git checkout also requires an argument to move into whichever branch you want to work on. 

An example of this would be git checkout new-branch. This command would have you working in the branch created by the command git branch new-branch. This will compartmentalize all the code you are working on for a particular feature of an application or website. 

If you have multiple contributors to the project, then the other contributors can review the code before applying it to the main branch of the project. It also allows you to revert the project to a previous state if the new code creates an error. This is extremely helpful when a project has been deployed and you want to integrate a new feature. If the new feature breaks the application, you can return to the main branch to the commit before the integration.

Git Merge and Git Pull

If you are working on a branch of the project that does not have the most updated code of the project you are not going to know if your code will conflict with the updated code. This is where git merge and git pull help. They allow users to see how new code interacts with previous code and how the new code can be integrated with the deployed branch of the project.

To integrate the new code into the project’s main branch, you will want to ensure you are currently in the main branch.  You can check this by running the command git branch. This will give you a list of branches and the one with a * next to it will be the branch you are currently on.  When at the main branch you can take all the new code from another branch. Then, incorporate it into the main branch with the command git merge new-branch.  The argument that the git merge command takes is the name of the branch you want to integrate with the current branch you are on.

In the case that another contributor merged code on the repository stored on Git Hub and you do not have that code in your local directory, then you want to use the command git pull.  This command will take all the code that another contributor added to the repository and integrate it into the branch that you are currently working on.

Final Thoughts

The practice of version control in Git will help you prepare for a professional role. It also will allow an easier transition into the workflow of the position you land. Even in your professional experience, it would benefit you to take the git commands mentioned here and expand on the multitude of git actions that you have access to (https://git-scm.com/docs).  This will help keep your team’s code organized and manageable.  It will also make it much easier to find bugs and fix them.  Being more efficient in your process is a benefit to everyone.

About Joe Milius

Joe Miius is a Software Engineering Technical Coach at Flatiron School. He has previous teaching experience and has been helping Flatiron School students understand coding concepts for 2 years. He loves problem-solving and takes on each new problem or questions a student presents with vigor and curiosity.

The Importance of Weak Ties in the Job Search

This article on weak ties is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School. 

Of the last 100+ graduates who shared details of their new tech jobs with Flatiron School, close to 50% reported first connecting with their employer through networking. This tried-and-true method is still one of the most effective ways to land a job. As the saying goes, “It’s not what you know, but who you know that matters.” Surprisingly, how well you know people matters even more, and not in the direction you might think. Turns out that the connections that are more beneficial to employment opportunities come from relationships known as weak ties. 

What Are Weak Ties?

The weak ties theory, one of the most influential social theories of the last 100 years, says that infrequent, distant relationships (not closer, stronger relationships) are beneficial to employment opportunities. Recent research from Harvard, MIT, and Stanford included a five-year set of experiments on LinkedIn with 20 million people around the world and set out to test the weak ties theory. MIT’s Sloan School of Management reported that “weak ties allow distant clusters of people to access novel information that can lead to new opportunities, innovation, and increased productivity.” 

This news should encourage job seekers to go a layer deeper into their networks and expand their circles to include new relationships. Furthermore, job seekers interested in tech positions may stand to benefit the most. From study co-leader Erik Brynjolfsson, “We found that weak ties create significantly more labor market mobility in digital and high-tech sectors. This may reflect the fact that there is more rapid change and need for novel information and connections in those industries.”

How To Find Your Weak Ties

Start with your Strong Ties

A common objection to networking is “I don’t know who to contact” or “I don’t have a network.” The reality is that we know more people who can help us than we think we do. 

Whether or not you’re an expert networker or just getting started: begin with your immediate circle. Draft an announcement to post on LinkedIn, Twitter, or your preferred social media app. Draft an email and send it out to your existing relationships, attaching your resume to help them easily forward it on if they can. Whether a social media post or an email, start with close family and friends and work your way up to former colleagues, teachers, classmates, or teammates.

In your outreach – and this is key – ask your existing relationships to forward your news or resume to their own network! Again, from Brynjolfsson, “A practical implication of the research is that it’s helpful to reach out to people beyond your immediate friends and colleagues when looking for a new job.” Remember, it’s not the existing relationship that is as likely to increase employment opportunities as it is the more distant, i.e., second or third-degree relationship. The friend of a friend or family member is who you want to reach! 

Cast A Wide Net

Next, tell everyone you know that you’re looking for work, especially people you just met. Find out where the people working in the role you want tend to hang out, IRL or digitally. Your Career Coach can help you identify how to go about finding these individuals and also what to write or say to get a conversation started. 

Take confidence knowing that helping others activates the release of feel-good hormones in our brain, both for those giving and receiving. People generally like helping people, which is why including some way to help the person you’re reaching out to could improve your chances of hearing back. Some ideas: $5 coffee gift card or contribution to a cause they care about; interviewing them on a topic they have expertise in and posting it on social media. You may even help your new connection earn a nice referral bonus since many employers offer these to their employees for referring candidates into open positions.

Rinse and Repeat

It can be daunting to contact complete strangers or ask your existing network for help, and it takes work to begin and nurture relationships. If ever there was a time to use data to build your confidence or stamina, networking would be it. If the data shows that a) networking is the most productive way to land a role, b) more roles are unposted or “hidden” (i.e., there are more opportunities available to you than what you see posted on job boards), and c) that weaker ties create more opportunities for job movement, then it’s time to do the work. 

Final Thoughts

Remember those 100+ Flatiron grads who reported networking success? Only 4% responded saying they were first connected after simply applying. The time is going to pass anyway. How will you spend your precious time and energy?

I hope you’re inspired by the following handful of self-reported networking accounts, detailing how grads first connected with the employer that eventually hired them: 

  • “Speaking with a pool client” 
  • “Talked to the principal during the school tour”
  • “Referral through a librarian”
  • “Met the current director of the data science team at a yoga class.”
  • “I met the owner of the company playing hockey in a local league.”

Share your search with everyone – you never know who might be the key to unlocking your next job opportunity. 

About Lindsey Williams

Lindsey Williams is the Senior Manager of Coaching at Flatiron School. She has more than 15 years of experience in the EdTech spaces and has held a variety of roles from Recruiter and HR to Campus Director and Training Director.