But First, Don’t Do the Dishes

This is a guest post from Sonja Parsell. Enjoy.

Dear Developer,

Don’t misinterpret a small distraction, or even a big disaster, as a “sign” that coding isn’t for you.

There were definitely times in my journey when a break in learning was completely justified, but by no means should I have seen it as a reason to quit, or that I was missing the message that I didn’t have what it takes to be a developer.

Thanks to a lot of personal reflection, some low-tech research about my habits, behaviors and values, and not a small amount of tough love, I am happy with my progress now, even though it’s taken years to get here.

Maybe you’re struggling with something similar?

Don’t sweat DO the small stuff.

No outside factor is going to make you more productive, and if you need a certain atmosphere to be at your best, you’re not truly in control of yourself.

Rachel Hollis

I used to feel like the house had to be tidy before my mind was clear to sit down to learn/code. If I couldn’t get those tasks done, how would I ever have time to hold down a software engineering job?

My habit of clearing up the breakfast dishes, tidying up after the whirlwind of getting kids off to school, and letting the “silent do-do list” (totally worth a Google) shout at me was definitely keeping me from maximizing the best time I had to learn to code. I knew if I didn’t squeeze some coding practice in by 10:00 AM, it was likely not going to happen that day. 

Those chores were a waste of my best hours. I learned to walk away from the mess in the kitchen (it was hard at first) and I now spend my most productive hours on my most important goal: becoming a software engineer.

Because really, there will always be dishes and laundry. I really didn’t mean to give them priority. 

Never enough time.

You can’t see the silver lining through victim goggles.

Jen Sincero

I used to think I would never have enough time to learn enough to get hired. Who was going to employ me as a career-changer over 40?

Running is my go-to form of exercise because it’s one of the only things in life I get “enough” of in a short amount of time. At some point, I am tired and I have to stop. That feeling rarely comes when I’m writing code.

As a SAHP (stay at home parent) for the last eight years, my time hardly feels like it’s my own. But everyone has the same 24 hours in a day, right? How could I feel so unproductive?

To solve this, I started with a basic Excel spreadsheet by listing all the things I wanted to do, or were my responsibility (household tasks, volunteering, hobbies, learning objectives, social commitments, family obligations, after school activities, etc.). It seemed endless. No wonder I wasn’t actually doing any of it consistently or well!

After keeping track for a few weeks of what I actually participated in each day, the results were eye-opening. I now had a map of how I spent my time and, most importantly, where I could save it.

The four biggest changes I made to my days were:

  1. Saying “No.” or “Not now, maybe later.” to anything that would interfere with my best coding hours: socializing, volunteering and doctors appointments were strictly scheduled for late afternoons or weekends only.
  2. Waking up at 5:00 AM to have a few quiet hours to myself. This was transformative in how I felt about my progress (by the time I ate breakfast, I had already coded for two hours!) and how the day progressed. 
  3. Giving up a few things. I put a few hobbies on hold, graciously backed out of friendships and groups that didn’t make me happy, and even taught my kids to make their own breakfast and pack their own lunch.
  4. Finding what to learn, when. I lined up coding podcasts for meal prep time. I caught up on all my Slack groups while waiting for the kettle to boil. I quit social media for periods at a time (apart from Twitter – all tech related for me). This helped to keep me focused but not burned out from just sitting at a screen, trying to learn in a silo.

Because really, you have more time than you think you do. You can’t do everything, but you can do anything you set your mind to. Spend your time wisely.

“You want to make websites??”

The first stage of forming an ambition requires imagining yourself in a role that requires skill and that exists outside of the domestic sphere.

Anna Fels, “Necessary Dreams – Ambition in Women’s Changing Lives

I used to think my family and friends didn’t understand what I was trying to do or even why. So why on earth did I think it was a good idea? I must be crazy.

My friends said things like “You want to do WHAT? You’re training at a bootcamp for a nuclear what?”. (True story.) And there were giggles, looks of confusion, and eventually, they would change the subject, still in the dark about my goal.

My wonderful spouse thought it was an interesting hobby, but wasn’t excited to make space for it if my studying schedule interfered with the division of household tasks.

Through an amazing “Moms in Tech” slack group, I found hundreds of women trying to do what I am. We were all struggling with the same imposter syndrome, were misunderstood by loved ones (at some point in our journeys), and were filled with self-doubt. I decided to enroll in my coding bootcamp on the heels of a meaningful discussion with these women over Slack. I’ll be eternally grateful for their input, and I’m determined to pay back the favor someday to anyone who needs a sounding board.

Because really, your family and friends may never understand what you are trying to do. That’s why the coding community is so critical to your success. Just jump in and find your people. I promise they are looking for someone just like you.

Make progress every day.

It’s not complicated, it’s just unfamiliar.

fellow software engineering bootcamp student to whom I am eternally grateful and wish I knew your name

I used to feel like a failure for not achieving the coding goals I made each day, even if they were SMART goals. If I can’t figure this out, how am I going to move on?

You might want to finish a small feature but when you’re a newbie coder, nothing is linear. First, you need to know what 1a, 1b, and 1c mean, with the right syntax, and know what the errors are telling you, before you can even get to B. That’s NORMAL and it can take a lot of time.

What helped:

  1. Keeping a journal of what I worked on every day. It helps to see your progress in words. And it reminds you of what you learned. Recall is an important part of learning. 
  2. Realizing I had too many things going at once. As a newbie, you feel the pressure – excitement even – to learn all the things at the same time. It’s truly a discipline (and worthy of practicing) to be able to focus on one language, complete one tutorial, or to build one thing at a time.
  3. Repeating a course or an exercise doesn’t mean you’re not learning the concept or syntax. I know I need to see it, read it, watch it and then write it – at least 3x – before it feels familiar.

Because really, you’re still successful if you make consistent progress, not specific goals.

Driving with the brakes on.

Be strict about your goal, but flexible in how you get there.

Rachel Hollis, Girl Stop Apologizing

I used to think that when I had to take weeks or even months off from coding to take care of myself or my family, it was the ultimate sign I should quit. What else could it possibly mean?

I’ve been learning through babies and children under foot, a trans-Atlantic move, a brain hemorrhage, recovering from a brain hemorrhage and vision impairment, and, just two weeks after I spent some serious money by enrolling in a bootcamp, the pandemic hit. All the time I had reserved to finish the program, became dedicated to more housekeeping and homeschooling than ever seemed possible.

But six months into 2020, I was still totally committed to, and absolutely in love with my studies and — guess what – I was finally convinced that this is what I should be doing.

Yes, it took a pandemic.

Because really, changing your life is SO HARD. You just have to work harder. And you can, you just might be lining up at the start more times than you originally thought.

If I belong here, you belong here.

Regret is the thing we should fear the most. Failure is an answer. Rejection is an answer. Regret is an eternal question you will never have the answer to.

Trevor Noah, Trevor Noah: Born a Crime

We are our own worst enemies and often close doors that aren’t ours to close. Only you know exactly why you started this coding journey, and that’s all that matters. Don’t let anything or anyone stop you. 

Especially those dishes.

— Sonja

Sonja Parsell is nearly finished with her software engineering bootcamp. After 15 years on Wall Street working in various finance and operational roles, she’s beyond excited to pursue an engineering career in blockchain. You can read more about her story.

Uncle Bob’s Ski School

This is a guest post from Dan Walkes. Enjoy.

Dear developer,

I was thinking this week about my Great Uncle, Bob Van Gerpen, who died of pancreatic cancer in 2011. Bob was my Grandma’s youngest brother and similar in age to my Dad. He was a big part of my parent’s life as they experienced the same transition I did, going from South Dakota farm kids to Colorado “city” dwellers in their 20s.

In the long list of Uncle Bob folklore, there’s a particular story which popped into my head this week which I’ve thought about relative to my professional career. It’s the story of Uncle Bob’s Ski School.

As a South Dakota to Colorado transplant, Uncle Bob often had family and friends from the plains who would visit the Rocky Mountains to try skiing, often for the first time. Uncle Bob was not one to turn down a social outing and would always enthusiastically offer to take them up the mountain.

The visit would include helping them with rental equipment, making sure they had the proper gear, recommending the best place to go, finding discount lift tickets, driving them to the mountain, and getting them on the lift. There’d be some discussion about how to “pie” your skis (point the tips together to make a pie shape and slowly slide down the mountain) and some basics about keeping knees bent and suggestions about balance.

The flatlander trainee would ride the ski lift up to the top of the 12,000 foot peak and turn around to see nothing but what looked like a sheer cliff toward the distant specs of people and cars in the parking lot below. As the “student” was contemplating their most recent life’s decisions, Uncle Bob would ski past them, wave, and tell them he’ll meet them at the bottom.

A few hours later, bruised and tired, the newly minted Colorado skier would find Uncle Bob in the lodge at the base of the mountain with an adult beverage in hand.

I don’t know the total list of Uncle Bob ski school graduates and unfortunately the full list is probably lost to history. I do know he would proudly mention both of my parents in the list of successful graduates. He also liked to say his wife, my Great Aunt, was his only failure. After meeting him at the base of the mountain she informed him in no uncertain terms this would be their first and last time skiing together. Borrowing one of his favorite expressions, “a guy could” assume the true number of his ski school failures may have actually been a bit more than one.

As an Engineer, getting outside your own head and describing how to do something you already know how to do can be incredibly difficult. I’m grateful for my somewhat limited experience thus far as an educator to work on this skill. I have a long way to go. One of the things I’ve found to be the most difficult to do in my professional career, both in roles of educator or manager, is to give my students, employees, and coworkers just enough tools to figure out what they need to do on their own. Sometimes I suspect this feels to them a bit like Uncle Bob’s Ski School. Some of them are like my Great Aunt, who are understandably frustrated and ready to bow out after the first trip down the mountain.

Since I’ve been so fortunate to work with a pool of talented, resourceful, and persistent Engineers, however, I find that most rise to the occasion. They are able to overcome my shortcomings in course material or documentation and in many cases learn more themselves in the process. Course material or project documentation is never perfect.

When faced with a deadline the choice is to not share course material until it’s more perfect, or share what you have with the hope it will be useful. I usually error on the side of the latter and I feel like it’s worked out well so far.

If you are a student in a course or an employee working on a new project I encourage you to look at something less than perfectly structured content as an exciting challenge and an opportunity to learn how to learn. I also encourage you to think about what was missing which would have improved your experience and let the originator know or, even better, propose the change to curriculum or documentation which would have helped you and will help others.

When you become an expert, think about how you can optimize your Ski School professional equivalent to strike the right balance of being “perfect enough” to get the trainee started on their journey while minimizing the number who are ready to walk away for good when they make it to the base of the mountain.

— Dan

This post was originally published on LinkedIn.

Dan Walkes is Vice President of Embedded Engineering at Sighthound.

Why Developers Should Engage in Continuous Learning

This is a guest post from Jerrin Samuel. Enjoy.

Dear new developer,

Software development is a field that evolves quickly and constantly. These changes keep things exciting and interesting, but can also make you feel like you are falling behind all the time.

Engaging in continuous learning is one of the solutions you can look into to stay updated in your profession and avoid feeling left out.

Continuous learning refers to the process of learning new knowledge and skills on an ongoing basis.

This type of learning can come in various forms, including enrolling in formal programs, such as taking up technical training courses, attending seminars, and engaging in self-study. It can also be sponsored by the employer or take place within the company, or it can be personal.

Benefits of Actively Participating in Continuous Learning

Continuous learning provides professionals in the field of software development several benefits, which include:

Remaining relevant

Since software development is a constantly evolving field, you need to stay up-to-date with all the changes that come up.

Taking up development or IT courses allows you to keep up with the latest trends. Moreover, you can broaden your knowledge and skills, enabling you to adjust and function effectively in the dynamic world field of technology.

If you want to remain valuable in your organization, you have to learn new things constantly.

Boosting your profile

Learning constantly means you are continuously growing and improving.

This also means adding more skills to your CV and profiles on various recruitment and job posting sites. These additional highlights can make your profile stand out and catch the eye of more recruiters and employers.

The certificates you gain and the recommendations by your managers and colleagues will also make your profile more attractive.

Improving your employability

Professionals who are constantly learning and upgrading their skills create a higher market value for themselves.

This is because employees that always stay relevant are highly sought after in the job market. As a result, employers go another mile to hire or retain them.

Preparing for the unexpected

Continuous learning helps you acquire skills that can propel you towards achieving success not only in your current workplace, but also in other companies.

Since the economy can be erratic at times, you need to be prepared for the possibility that you may lose your job. Having broader, up-to-date skills can increase your chances of getting employed again as soon as possible.

Your broader range of skills can also give you the confidence you need to take on new job opportunities so that you can get employed faster.

Increasing your self-esteem

Learning new things gives you a feeling of accomplishment. This, in turn, enhances your confidence and belief in your capabilities.

As a result, you will also feel more ready and confident to take on challenges and new job roles and responsibilities.

This boost in confidence will also improve their emotional and mental health. What’s more, it will increase their productivity.

Enhancing your creativity and problem-solving capabilities

Joining software development courses, seminars, conferences, and other reskilling and upskilling programs allows you to learn from the trainer or facilitator and your fellow learners.

Because of this, you will be able to come across new perspectives, techniques, and strategies that can help you think outside the box.

Whether you come across a problem that requires innovative solutions or need to create something new that has never been done before, you can also use the knowledge you learned from others to meet these challenges.

Broadening your mind

Continuous learning allows you to expand your mind and perceptions, thereby helping you change your attitude.

The more you learn, the better you will be at seeing things from different perspectives.

Your open-mindedness can help you relate and communicate with people more effectively. Whether you want to broaden your professional network or social circle, your new outlook and attitude can set you on the right track.

Getting the Most Out of Continuous Learning

When engaging in continuous learning, consider trying out different strategies. Aside from taking formal in-classroom and online courses, seminars, and workshops, be open to joining employee and managerial training programs.

Participating in social learning opportunities, such as team meetings or discussions and collaborations, are also effective strategies for upskilling and reskilling.

Coaching, mentoring, and on-the-job training programs also count as social learning opportunities, and thus, will contribute to your personal and career growth.

Lastly, there is also nothing wrong with branching out if you are interested in other fields. If you have the opportunity, learn skills not related to software development but can still contribute to your personal and career growth.

A project management, business writing, or employee motivation training course are excellent options to add to your portfolio.

Learning should be a continuous process. Always include it in your goals to experience growth personally and in your career.

Sincerely,

Jerrin

Jerrin Samuel is the Executive Director at Regional Educational Institute (REI) in Abu Dhabi. Since 1995, REI has been at the forefront of education by delivering quality corporate training courses in the UAE, helping many businesses and organizations achieve greater productivity and higher customer satisfaction levels.

Take jobs that help you grow

This is a guest post from Adam Steel. Enjoy.

Dear New Developer,

Getting your first developer job can feel like a big accomplishment. And it is! It can feel so big and you can feel so relieved to have any job at all that you might start to develop your worldview around that one job. “This is how things are in the real world” you might tell yourself. “I’m lucky to be here,” you murmur. “Leaving too soon looks bad on your resume,” says an older friend.

This sort of thinking can be entrapping. I’m writing to show you a better way.

The spectrum of jobs and companies in tech is broad. To understand how the world is and what your options are you have to take a couple samples and grow, grow, grow! To that end, there are three “traps” I see developers get stuck in early in their career.

The first trap: Spending too long at your first job

In your first 3-4 years, it’s critical that you fuel your motivation and inspiration into learning and growing. It’s also a critical time for a steep increase in your salary. Too many companies fail to recognize that a junior developer’s abilities are growing far faster than their compensation and responsibilities. Or it’s recognized but the company cannot afford to promote or give a raise. It’s up to you to take the reins and move to a new job to find the new challenges and new salary that match where you are in your career. This is especially true for self taught and boot camp taught developers.

How long is too long? How long is enough?

“Enough” time as a junior can be surprisingly short, depending on how you learn. At 6 months it is reasonable to consider switching jobs if you are learning quickly. Not for all positions you’ll hold, but specifically for this first one. Juniors are paid less because they need to come up to speed on all the terminology, tooling and processes.

Once you don’t need hand holding to tackle moderately complex features, you will be far more attractive to other companies. Occasionally a company may recognize and reward your growth, but that is rare.

Stay longer only if you’re feeling significantly rewarded and challenged. Which brings me to…

The second trap: Not investing in learning

Building business software in teams requires a set of skills that are hard to acquire in the absence of customers and a team working to support them. This learning curve can only be tackled when you have these components. And the best way to move along the learning curve is to take a job that helps you learn faster!

What does a “learning” job look like?

“Learning” jobs tend to have similar characteristics. There are resources to learn from and the autonomy to work however suits you best. There is time built into the team’s cadence to allow for research, either organic time throughout your week or time specifically set aside.

Most importantly, there are lots of smart people who give you feedback and engage in discussions about the best way to do things. These people will focus on things like best practices, optimization and customer value. Often they argue! While the arguments might excite you or wear you down, they should feel overall productive and, at the end of the day, move the team toward its goals.

Think of a learning job like an additional career investment, beyond whatever you’ve already paid to learn before your first job. What you need is exposure to good ideas in the context of solving a business problem with an experienced team, and a good learning job gives you that. You may take a lower salary in the short term, but by expanding your knowledge your career will be more fulfilling long term.

What should I avoid?

The list of positions where learning is difficult is much longer than the list of “learning jobs”, but here are some examples:

  • Isolation: Working alone is the hardest career decision to come back from, but it’s especially destructive in your first job. If you aren’t challenged by the ideas of multiple people, your world becomes small. You also won’t have a chance to build your network.
  • Micromanagement: Good companies work to give their developers autonomy and space to do the right thing. If someone is managing the details of your daily life, you aren’t learning how to flex that autonomy muscle. For example, once I had a job where a senior manager stood over my shoulder and dictated what he wanted to see as I wrote code.
  • Lack of visibility: Do you get a chance to learn how the pieces fit together? Do you get a chance to fit them together? A narrow field of view restricts your ability to build a larger context. For example, are you only ever asked to fix specific bugs, or are you encouraged to think about the larger architecture while building new features?
  • Unsafe environment: If we don’t feel safe, we cannot learn well. Depending on the threat, there could also be much bigger concerns. Examples include, but are not limited to, yelling or harassment of any kind. Leave as quickly as you safely can.

The third trap: “Being glue”

“Being glue” is when your role is focused on filling gaps like coordinating between teams and keeping everyone organized, as opposed to actually writing software. Especially in smaller, more dysfunctional teams it can be a tempting role to fill. The team needs it, after all! It’s an important role for managers and higher level engineers to fill, but if you step into it too early it will stunt your learning curve and can leave you forever feeling like you are “behind” the rest of the team. It’s first (and best) described in this noidea blog post.

Once you are technically competent, and everyone knows it, consider taking on this work.

Finding a job that maximizes your growth

There’s no silver bullet for this problem. My best advice is to try to develop the ability to “sniff out” the kinds of companies you’re looking for. Did someone impressive speak at a meetup or write an inspiring blog post? Track down where they work. Job descriptions that are well written and articulate good values are promising. And if you end up in a job that you misjudged and find yourself stagnating, don’t feel guilty about quickly moving on.

Consultancies with great practices, like TestDouble, can be great accelerators for your learning. Changing projects more frequently results in a broader experience, but at the predictable cost of less experience with how your decisions in a codebase will age.

What does a “good” job description look like?

Writing a good job description is hard, but the best companies will put in the effort to do it right. Some attributes of good job descriptions include:

  • Reasonably correct English and readable formatting
  • A description of philosophies and values that align with yours
  • Reasonable requirements (e.g. no CS degree required for a junior level frontend position)
  • Specifically calls out personal traits like kindness or empathy as desirable

What can I ask in interviews to vet the position?

Remember that interviews are your chance to interview them as well. Examples of questions you could ask include:

  • What best practices do you think have made your team successful?
  • What kind of developers thrive at your company?
  • How do you support developers when they come onto a team?

How frequently can I change jobs?

This is a hot topic, but varies by which part of the industry you’re in. Early on, hopping jobs more quickly is fine. 3 jobs in your first 3 years? Not uncommon. Working in startups especially can lead to shorter tenure as companies fail or are acquired.

However, there are skills and wisdom you will only be able to build by staying longer. For example, no amount of training or reading will result in the wisdom you gain by wrestling with a technology decision you made over a year ago as you watch it cause painful issues.

The resume to avoid building is the one with only <2 year tenures over a 10 or 20 year career.

Happy growing!

Adam

Adam Steel is the VP of Engineering at TrueCoach. He lives outside Boulder, CO.

Be a mentor

This is a guest post from Akira Brand. Enjoy.

Dear New Developer,

Be a mentor.

Seriously. Find someone a little bit behind you in their journey and mentor them. All you need is an hour a week. Heck, even an hour a month. Work through exercises and projects with them. Tutor them in an Udemy class. Sign up to mentor hackathon participants. Find a code school you like and mentor their students.

You may not think you know a lot right now, but you’ll solidify what you do know in profound ways through mentoring. You’ll find every gap in your own learning that you didn’t know was there, and what’s more, be able to fill it. You’ll start to deeply understand the context behind certain problems, as well as the grander architectural and design systems that underlie all good software.

You’ll learn why things you didn’t care for or regard as important before actually are (for me it was pseudocoding), how to problem solve in a team, and build empathy for not only the end users, but for your mentee, and, for yourself.

Be a mentor. Find someone who needs a teacher and be that life changing person for them. It’ll be one of the most fulfilling segments of your career.

Good luck, and remember to breathe!

Akira

Akira is a full stack developer currently working on building a JavaScript bootcamp with Emeritus. They love to digitally nomad and are currently in Boulder, CO.

My experience with burnout

This is a guest post from Landy Simpson. Enjoy.

Dear new developer,

This year has put everyone’s mental and physical health to the test, including yours truly. There’s the ongoing pandemic, the Black Lives Matter (BLM) movement, the 2020 American elections, the End Sars movement; the list goes on. This year, I’ve dealt with an assortment of health issues, which became incredibly hard to deal with once quarantine reduced the number of available health services. Between trying to manage my mental health, physical health and working from within these four walls formerly known as my bedroom — I’m exhausted.

No, in fact, I am BURNT OUT, and I know I’m not the only one feeling this way.

In the last two months, I noticed it became increasingly difficult to get out of bed. I thought my burnout was terrible in the summer — I had no idea what autumn would bring. On the weekends, I’ve found that I can sleep for over 12 hours and only eat a single meal. I haven’t been fully motivated to write, brainstorm content, or work on personal projects. I’m feeling frustrated because I’m not productive. I’m upset I spend most of my free time sleeping, and I’m a bit worried that my burnout affects the quality of my work at my job. But as I work through these conflicting feelings, I’m starting to realize that I shouldn’t fight them, instead, I should accept them and find ways to maneuver the storm called burnout.

During this time of year, where seasonal depression is upon us, it’s easy to spiral into self-loathing and self-pity. And despite feeling burnout, it’s also easy to force yourself into a rigid routine in the hopes of digging your way out of your slump. In coming to terms with my ongoing burnout, I’ve learned if you treat moments like this with compassion, patience, and a bit of transparency, you can overcome burnout. I started opening up discussions with my mom, my best friends, and even one of my co-workers to see what I can do to improve my situation.

It’s incredibly important to open up discussions with our family and friends about mental health because it’s also essential to recognize signs, like burnout, of declining mental health. Together, we can find ways to help each other take preventative steps, like seeking counseling, incorporating healthy physical activities, and practicing self-care and self-compassion.

I can only provide some essential tips to understand yourself better and take the first step in caring for yourself during burnout. However, if you’re dealing with any form of mental illness, please speak to a professional.

Don’t force yourself to get back into a routine.

Notice you’re going through something and treat yourself like you’d treat a friend going through a tough time. Don’t force your body or mind to adapt to a whole new routine overnight. You’ll burn out faster, and you’ll end up spiraling out of control just as quickly as you adapted the routine. Be patient with your mind and body. Incorporate one piece of your routine a week at a time. Allow yourself to adjust to the changes and don’t be too hard on yourself if you mess up once in a while. You’re only human.

Figure out why you’re feeling drained.

Put context to the feeling so you can understand the draining areas of your life. Ask yourself some questions to help reveal potential causes of your burnout. For example, do you feel reluctant to get up for work or school? Are you dissatisfied or overwhelmed with the progression of a particular goal in your life? When was the last time you spoke to a friend or family member, and do you feel alone as a result? Wherever those draining areas are, it’s important to identify them to know what you need to work on to make yourself feel better. There might not be an immediate or obvious solution, however, knowing the cause of your burnout can at least help you stay sensitive to that problem.

Reinforce your values.

It’s hard to get out of bed or feel like anything you do is worth it at the moment, but don’t lose sight of your dreams. Remind yourself of your goals to help reinforce your values. You aren’t just a couch potato or a lazy little bean. And if you are, that’s fine, but remind yourself you’re a person full of dreams and aspirations. You’re just going through a tough time right now, and that’s okay! You will get back to those dreams soon enough as long as you keep making them a priority.

Even when you adopt a routine, it’s okay to take a break or have a bad day where you can’t get out of bed. Don’t punish yourself for feeling burnt out. You’re doing so much, which is fantastic. But always remember to take care of yourself first, which leads me to my last point.

Take care of your body and mind.

These burnout periods are your body and mind’s way of saying it’s time to take a break. Follow your instincts and indulge a little. Sleep in a little longer, eat your favorite meals, talk a bit longer on the phone, binge a show, take a long bath, exercise. Do something to relieve your body and mind of all the stress that it’s going through.

Taking care of yourself can also be seeking therapy or talking to your boss about time off. Even a small getaway road trip to expose your body and mind to a new environment is a way of taking care of yourself.

We’re living in a difficult time right now, and we must be patient and mindful of our feelings. Look out for your friends and family during this time, and most importantly, stay safe.

— Landy

This was originally published here.

Landy Simpson is an Experienced Software Engineer who is skilled in front-end development. She blogs at https://simplyy.medium.com/

Fewer Applications, More Interviews: How Professional Allies Can Help You Land Your First Jr Dev Role

This is a guest post from Dagny Wise. Enjoy.

Dear New Developer,

Even when your GitHub is a work of art, your portfolio is up and running, and your resume is looking good, it can be rough to get hired as a career-changer who’s never worked as a dev before.

Before you throw your money into an endless abyss of possible certs you could get to try to stand out, try leveraging what you already got – you!

A bit about me: I left my sales job to complete a coding bootcamp. It was part of my bid to get out of sales, and work towards a role where I can bounce between tech- and non-techy stakeholders. What follows is what I’ve learned from the process of job-searching as a career-changer during a pandemic, and landing my first job offer in the hidden job market. While I’m not a developer, the methods I’ve outlined below are useful to anyone trying to land their first job in a new role.

Think about it: unemployment is quite high right now, and everyone applies online. Many qualified, experienced people are among those unemployed. But take heart – you can differentiate by making professionally-minded allies.

What’s a professional ally in this context?

A professional ally is someone who is invested in your success. They might be a friend, family, former coworkers, folks you knew in school but didn’t really talk to, or strangers you’ve never met. You’d be surprised who ends up wanting to help you!

An ally does not have to be someone with hiring power, or domain knowledge, or someone who works somewhere you want to work, or even someone currently employed.

All of these things are awesome bonuses, but anyone who wants to help you may be able to connect you to more strategic people. And anyone who genuinely wants to help you succeed is already awesome, so it’s important to think of them that way.

How do you find your allies?

1). Make a list of all the broad categories of your life where you could connect with people. For example, your schools, former workplaces, that summer camp you did for years, all of it.

2). Mentally go through everyone you remember from each of those categories, and connect with the ones you remember on LinkedIn: everyone gets a message. Something short. It can be simple, but it should be at least a little personalized.

Something like “Hey person’s name, I was looking to connect with more people from name of highschool, and I was excited to find you on here! I hope you’re doing well.

3). If they ask you how you’re doing, respond organically, but focus on your career goals. 3-4 sentences tops. Conversational.

4). If they ask follow-up questions on your little intro, demonstrating interest in what you’re doing, congrats! You now have a new ally!

Why do all of that? Because professional allies open doors for you.

They can get you referrals at companies you want to work at, significantly increasing your odds of getting an interview. They can tell you about hidden market jobs, and they can help you make more strategic allies. And the best part: when you get your position as a result, YOU have the opportunity to become one. Awesome.

What it Looks Like To Make an Ally:

After doing all of the above, I connected with George, an acquaintance from high school. I didn’t immediately see what George could help me with because he’s a contract UX Designer and my dream was to work in Product. I told him what I was pursuing anyway, and he seemed genuinely interested in helping me. Great!

I went through George’s LinkedIn contacts and I found several people working in product, and a founder of a startup that George told me was looking to grow their team. I asked George if he knew any of these LinkedIn connections well enough to feel comfortable introducing me, and gave him some names. He said he was very happy to hit up 2 out of those names, and he did!

One of the product people got back to me, a VP of Product who I’ve talked to a few times via Zoom, and I’m still in touch with. It’s amazing to have someone so experienced in the field to bounce ideas off of, get advice from, and generally have me in mind when opportunities come up.

What It Looks Like to Get a Referral

Companies LOVE referrals – it saves them money when a good employee brings in another good employee, rather than picking from a giant pile of faceless internet applicants. It increases your odds to get a referral on your application – and you can get quite a few of them by nurturing professional relationships.

For example: I didn’t know anyone who worked at this awesome EdTech startup, but I saw them always topping lists of awesome places to work, so I knew I wanted a connection there. Not knowing anyone personally who worked there, I reached out to a couple people I’ve never met who worked in Product. One got back to me, and I coordinated a 20-30 min conversation via Zoom. She was super nice, answered my prepared questions, and said yes when I asked if she’d be comfortable referring me. I sent her my resume, and got an email from the recruiter later that day to schedule a phone interview for the role we talked about!

Fun fact: You can message strangers this for free on LinkedIn by “adding a note” to your connection request – no need to pay for Premium! Just make sure to introduce yourself, mention something specific about why you want to talk to them, and make a specific ask (ex: 20-30 mins of their time for a chat about their experience at company). Some won’t get back to you, but that’s ok.

What It Looks Like to Break Into “The Hidden Job Market”

Maybe you’ve heard of the Hidden Job Market? It refers to jobs that get filled but are never posted online, and professional allies are the best way to learn about these awesome opportunities.

For example: I reached out to a founder of a start-up George told me was looking to expand their team. We’ve had several interviews, and are currently in final talks about logistics. The role is as a Product Manager. I would likely never have had access to this opportunity without George, as it was never posted online.

Make Sure To Do Right By Your Allies

Professional allies are powerful! Maybe as a job-seeker right now you don’t feel like you have a ton to offer them. That’s ok! If someone responds with interest to you, you can proceed confidently knowing that they like to help people/you.

The best thing you can do, though, is do as much of the legwork as you can to save your allies’ time. Check out their profiles before you speak with them. Offer to send the Zoom invite. Keep the conversations within the agreed upon time frame.

And of course, say thank you.

If George introduces you to Jessica and Jessica gets you a referral for an awesome job, thank both of them. It can be a couple lines on LinkedIn, via email, whatever works. Consider keeping track of the folks who help you a lot, message the recurring ones every once in a while to say hey, or update them on your search.

As you develop into the professional badass you are destined to be, you will have ample opportunity to become someone else’s ally: you are working to pay it forward.

— Dagny

Dagny Wise is a a creative problem solver excited about leveraging her background in sales along with her passion for technology to bridge the gap between technical and non-technical stakeholders and solve complex problems.

How to get a job faster

This is a guest post from Taylor Desseyn. Enjoy.

Dear new developer,

Finding a job was hard for a new developer pre-pandemic…now during a pandemic it is just as hard but add in the fact that you can’t meet anyone! It can be daunting.

Here are my thoughts on how to find a job FASTER than most other job seekers.

Put out content

Put out content (especially on LinkedIn). You’re probably asking yourself. Taylor, I’m an introvert and not a marketer, what does putting out content have to do with finding a job? The answer? Everything. The fact we all are at home and cannot network has everyone on all major social platforms more than ever.

LinkedIn especially. LinkedIn is like tik tok. You can have zero followers and still gain a ton of traction. I know a handful of developers that have documented their journey finding their first job over LinkedIn and actually have landed their job because of putting out content.

Post at least once a day. This could be about an interview you bombed, or a question you missed on an interview and ask for help, or learning a new piece of tech and asking about one part of it. You should also be liking and commenting on other peoples posts as well!

Interview yourself

Video Interviews…Selfie style. This is a big one for me and only a few developers have done it. But guess what, the few that have, landed a job and one specifically because of this tactic.

Hear me out, every first-round interview is the same. Tell me about yourself, tell me your weakness (which we all turn into a positive), and tell me your greatest strength.

Why don’t you just video it up and answer these questions yourself and put it on LinkedIn and ‘pin’ it under the featured section on LinkedIn. So, every manager that visits your profile can see you! Here’s an example.

You need real world experience; get it

Capstone/code school projects aren’t enough. Long gone are the days of having a capstone project and it being enough to land a job. You need real world work experience so, if you can afford it, start asking around if you can help build small things for people. Every church needs help with their website, a lot of entrepeneurs need help with building stuff for free.

I get it, this area is such a divisive topic but for me, the only way to separate yourself is to get real world work experience and what better way to do that then volunteer your time?

Network, but don’t ask for anything

Now you probably are asking yourself, Taylor you said “put out content”, AND I have to now network?

Yes…yes you do. You need to make sure you are having one intentional video/phone call a day with someone in your network at a company that you want to work at or someone who does what you want to do.

You shouldn’t go into any networking call with a stranger asking for something. Be interested in what they do and how they got to where they are. Then ask for another connection but don’t ask for a job. Because when you don’t ask, you immediately endear yourself to that person so down the road if they get a job opportunity they will think of you first because you were different.

The big thing is at the end of every call, ask for a referral. Try to get another connection out of every call. My 55 year old dad did this in the restaurant industry and found a job in 6 months.

It works.

Leverage a recruiter

Most recruiters don’t place junior talent but the good recruiters can give you market intel, help your resume, help your LinkedIn, and can be just a general sounding board for you as you start searching for that first job.

— Taylor

Taylor Desseyn has been recruiting for over nine years and while he recruits on every skillset within technology, his main focus is on software engineers and developers. He has met over 4,000 engineers and helped place over 450+ people in their dream jobs.

Taylor has been very active in the community – he’s been elected VP of the .NET User Group (the second largest user group in Nashville) for 3 years. He has also presented at multiple other user groups within Nashville. Taylor has also been fortunate enough to get on the speaker circuit across the southeast, having presented at code conferences such as Code on the Beach (Jacksonville), Music City Code (Nashville), and Codestock (Knoxville).

Taylor has a knack for scaling teams as well. He has helped scale teams internally at Vaco up to 3x their initial size every stop he has been. He also was chosen to present at Vaco’s Global Conference on branding/marketing. Taylor is currently leading a team of 9 recruiters and has helped scale his currently technology team from $2 million in revenue to $6+ million in revenue.

Make it open source

This is a guest post from Eddie Jaoude. Enjoy.

Dear New Developer,

I will be the first one to tell you that it is not essential to have a degree in computer science to become a developer. My own journey started with a degree in engineering and falling into code as a mix of a hobby and also by necessity in my first graduate job. I have seen so many others in the tech community follow different paths to becoming developers; such as primary school teachers and historians.

Whether you have always wanted to become a developer or whether this is a new start for you, the likelihood is that you will be looking for learning resources from blog posts, YouTube videos and online courses. There are so many resources available, many of which are free, which means that you can improve your abilities without having to leave your house – which in a Covid era is quite handy.

However I would say to you – do not fall into the trap of getting stuck in “tutorial hell”. Thirst for knowledge is a great thing – and a good developer will realise that at no point in their career will they know everything and you do need to keep learning.

This is a little like going to the gym: you’ve decided you want a six pack – your trainer has shown you where the three different ab machines are and how to use them, you have watched endless videos on the best time to train, how long for and what food you should be eating. But it won’t be until you do that first ab crunch – which lets face it, won’t be perfect, that you will embark on your journey to achieving that six pack.

So my advice to you is – pause the video tutorial and build something. Apply what you have been learning and let go of the idea that it will be perfect. What is perfect today can be improved by your experiences tomorrow, the day after, in a year’s time and so on.

My second piece of advice – which is perhaps the one I am most passionate about as it forms the whole ethos of how I work: make it open source. I don’t want to assume that you know what open source is. It took me a few years into my career to find out about it. I was using open source tools in my day job and thinking how great it was that there were so many valuable free available tools out there that anyone could use. I was also beginning to network more and everyone kept talking about open source, which got me interested in finding out more about this community which works publicly and transparently to resolve software problems. I didn’t want to just take, I wanted to give back.

As a new developer you might be worried that you are not yet at a stage where you can give back and contribute. There is a misconception that you only have something to teach when you have reached a level of seniority in your career. But everyone has a voice. Don’t think that just because you are at the start of your career that all you should be doing is asking questions and seeking help. You do not want to be a drain on the community; at first you will get the help you need, but soon community members will see you are just there to get a quick fix to your problem and then drop off the face of the earth until you hit another stumbling block.

Beginning to get involved is not always easy – it might feel like you are entering an old fashioned boardroom meeting full of senior colleagues and you are under immense pressure to say something…anything at all… which really just contributes to you feeling anxious and insecure about your abilities and in a worse case, can stop you from taking that step.

So start small. Github in my view is a fantastic (and essential) way to start your journey into open source. Firstly, find a good repository:

  • Go to the Issues section which lists your issues, clear the search box;
  • Add the search parameter for the label “good first issue” and consider including a language;
  • This will list all issues which will match this criteria and from there have a look at the repositories and see which ones seem interesting to you.
  • Check the closed Pull Requests that have not been merged: it is completely acceptable for a project maintainer not to accept pull requests – but were these rejected in a friendly and constructive manner?
  • When making a contribution, focus on adding value (don’t just suggest a change for the sake of it) and being respectful towards the project maintainer’s time;
  • Bonus tip: check the insights tab on the repository to see if the project is inclusive for things like code of conduct.

You might ask – “But why should I make my projects open source?” Why would you not?

Is it because you hope your project will become your revenue stream and you do not want to share this with others? Making their project open source certainly did not hinder Red Hat when it was sold for £34 billion.

Is it because you lack the confidence and do not want to feel exposed? How else will you learn if you do not put yourself out there?

By making your project open source you widen the number of people you can learn from massively, as well as making connections which might even help further your career. When recruiting for my team I no longer spend hours quizzing a candidate about the bullet points in their CV. I go to their Github account where I can see exactly what they can do and how they interact with others.

Making your project open source is probably one of the best calling cards you can have as it showcases what you are about, not only from a technical perspective but also how you will engage with others. Whether you are looking for your first role as a developer, have secured one with a small start up or have embarked on a graduate training programme with one of the large tech companies, you need to know that no project is limited to one person only. You will need to collaborate with UI/UX, testers, product owners …the list goes on.

You may come across really well in a face to face (or virtual!) interview – exuding confidence and a team spirit. You also might not. By having an open source project your prospective employer and colleagues will be able to see how well you do with receiving and giving feedback and how you act upon this. This is a skill which needs to be learnt and open source projects are the forum to do it.

You might have a job where you work your own, or perhaps you work in a team with quite similar views and levels of seniority – these things might not be conducive to receiving and giving feedback.

By making your project open source you are interacting with people from all over the World, with different levels of seniority and most importantly different perspectives. That, New Developer, can only be a positive for your technical and personal development.

— Eddie

Eddie Jaoude is an open source advocate and believes open source is for everyone. Check out his GitHub and YouTube.

Think first about what problem this is solving and for whom

This is a guest post from Kate Catlin. Enjoy.

Dear new developer, 

Welcome to tech! Wow, I remember those days– Confusing, exciting, challenging. Nothing is certain except that you are in for a wild ride. Hold tight! 

The advice I’m writing to share with you today is this:

Before you write any code, think first about what problem this is solving and for whom.

As a little background, I’ve spent my whole career in tech. I’ve had two stints writing code (once in Android and once in Ruby) and neither lasted long. The rest of my career was a journey through Community Management, Sales, Startup Foundership, and now Product Management. While I love code, I love understanding people’s problems and figuring out how to solve those as well. That side always sucked me back in. 

Even in my roles where I wasn’t a developer, I’ve always interacted with developers. Many of them were new to the industry, just like you. The ones who have since excelled in their careers were the one who embodied the advice I just shared.

And so, every time you pick up a new Jira ticket or sit down to complete a new requirement, I suggest that you ask yourself the following questions: 

  • Who does this solve a problem for? 
  • What is the problem they’re trying to solve? 
  • How does this ticket solve it? 

There are three reasons this is going to help you out. 

First, it will keep you motivated. 

I think software development is one of the closest real-life professions to having superpowers. 

Why? Because your job is to use skills that most don’t have or understand in order to solve someone’s problem. 

Some of the problems you’ll solve may be big– Maybe you’ll work on an app that facilitates financing for renewable energy and measurably reduces climate change emissions. Some problems may be small– Imagine someone quarantining alone who misses their grandkids and has tried not to cry all day. Perhaps they have a slightly-less-frustrating time ordering a gift to send someone because you fixed a bug in a website’s UI. 

The world is a tough place to exist sometimes, especially in a pandemic. As a software developer, you get to use your powers to help make life a little easier for people. Remember that! Focusing on the problem rather than other things (like the shiny tech) will help you do so. 

Second, because you can start to push back if you see an easier way to solve that problem. 

A few months ago, I prioritized a new feature for CircleCI that would allow software developers, our users, to import Environment Variables from one project to another. I wrote up a long list of acceptance criteria involving multiple screens and checkboxes. 

The junior developer who picked up the Jira ticket for that feature was someone who regularly practiced user empathy. He paused, thought about it, and then suggested a simplified approach.

The simpler version worked! We were able to ship the feature in half the time, and it still resulted in a measurable lift to organizations adding new projects. This was good for the user, good for the developer, and good for the company. 

This is just one example of many I can name where by embracing user empathy, our team has solved more people’s problems faster. And so can you! 

Third, because it’s how you advance in an organization. 

Product thinking is so important at CircleCI, it’s a skill we specifically review our developers for during our annual review cycle. A minimum-threshold rating is necessary for a promotion. 

This is obviously not true of every organization, but in no case will the mindset not serve you well. Leaders simply need to understand why we’re building what we’re building for our users. How else could they help us achieve the future we’re working together to bring about? 

I would love to hear how a user-empathy mindset works for you. 

Everyone’s path is different, and every organization values different skills. You can find me on twitter at @Kate_Catlin, and I’d love to hear from you! 

Sincerely, 

Kate Catlin

Kate Catlin is Senior Product Manager of Growth at CircleCI.