Starting on Your Journey as a Software Engineer? Here Are Four Things You'll Need to Know for Success!

Starting on Your Journey as a Software Engineer? Here Are Four Things You'll Need to Know for Success!

Hello There!

I have recently felt like I have reached the middle stages of my journey to become a Software Engineer. I still have plenty to learn, but there are a few things I've picked up along the way that I believe have really helped in setting me up for success along the way. I really wanted to write these four tips and bits of knowledge down, in hopes that this will also help you along your journey as well!

Backend vector created by storyset - www.freepik.com

1) Understand The Trough of Sorrow

I wanted to start this article off with a concept that you might have heard about, but aren't very familiar with. And if you already are, then you know just how important the understanding of the steps we take in pursuit of greatness are!

Paul Graham, a computer scientist and Co-founder of Y-Combinator, coined the term and associated diagram for the "Trough of Sorrow". He used this to help depict the struggle that is associated with a new start-up, particularly in tech. When starting a tech company, there will be many setbacks, but the Trough of Sorrow helps to visualize the amounts of determination and tenacity it will entail to make it.

TroughOfSorrow1.png

So, how does this relate to you? How does this fit in between right now, and becoming a full fledged "I know what I'm doing👍", and "One job please☝️", web developer?

As Malcom Gladwell puts it: it takes 10,000 hours of intensive practice to achieve mastery of complex skills. But whats important about the trough of sorrow, and why its relevant particularly to your journey, is because it illustrates that the curve is not just linear.

Being at this stage in your journey, on the graph you may find yourself somewhere between "Initiation" and "Wearing off of Novelty". This is a point where it is best to understand it can, and will get harder, but there are ways we can help ourselves through.

2) Have A Support Group

A support group is community of people that have come together that are facing similar challenges. This group differs from your family and friends, because support groups are filled with many others who have walked in your shoes.

jason-goodman-6awfTPLGaCE-unsplash.jpg unsplash.com/photos/6awfTPLGaCE?utm_source=..

A community, either online or in person, can offer you a safe space where you can get practical, intelligent, and helpful information. These communities also encourage an environment of support and can be invaluable in learning to cope with problems along your way.

How Do You Find A Group?

There can be countless amounts of communities online that you can find that align with your goal to become a software engineer. The key is finding the community that works best for you.

Some resources:

1) Reddit: r/WebDev, r/Frontend, r/AskProgramming, r/LearnProgramming

2) Discord: Programmer’s Hangout, Devcord, The Coding Den

3) Twitch: LearnwithLeon

I'd like to share the community that I'm apart of, #100Devs. This is an online coding cohort that meets twice weekly for class and once a week for office hours, all taught free of charge and judgement by the amazing Leon Noel! This is backed by what I've found for myself, to be the best Discord community for new and budding Software Engineers!

3) Create Boundaries

The truth of the matter is that COVID19 may have given many an opportunity to slow down, take a step back, and spend some time to assess what things in life are most valued to them. But, in a post pandemic world, studies have shown that levels of anxiety, stress, and depression have increased. Taking on the challenge of learning to code can certainly add to this, especially without a solid plan to incorporate studying and learning into a schedule which you may already have full of activities just to continue with taking care of family or paying bills.

anirudh-iLxHcZTHXEs-unsplash.jpg unsplash.com/photos/iLxHcZTHXEs?utm_source=..

Boundaries most certainly, will be critical in helping you to achieve your end goals. Personal boundaries are the lines we draw for ourselves to feel comfortable in our day to day lives. We use these a countless amount of times per day in order to hold others around us accountable to the expectations we have, but most importantly, we also use boundaries as a tool to hold ourselves accountable and determine who has agency and power in our lives.

In the process of re-empowering yourself, you'll need to keep in ming that boundaries are something that you decide for yourself, and are communicated to others verbally or through actions. Determine your top priorities. As an example, I know that I need to work to be able to afford my bills and living expenses. I also know that there are people in my life who I am revitalized by being around, like my family and loved ones. But I can use boundaries to make sure that these priorities aren't stepping into the ones directly following, like my coding journey.

You may be being paid to work, but when asked to work overtime or take on a new role that will take time away from priorities following, it is up to you to assess the opportunity cost. If you deem it is not worth the hit to your time investment to better your future, for a small potential gain now its okay! That is your prerogative and should be respected. It is now your job to communicate this and keep yourself on track.

Take a moment after. reading this article and sit down, maybe close your eyes, and visuals your top priorities. Write them down. Now, think about how many hours are in a day, and create a plan for carving out the time(when or how much) you need to best learn and tackle this coding journey. Take a look at how much time (round up in hours), that you've now deemed as "My Coding Time". Look at this like a weekly savings goal that you need to hit weekly. If you have 10 hours as "My Coding Time", you now can put that time in the bank as you will, by studying. When you've spent 10 hours studying you'e hit your goal! Looking at it from a weekly perspective give you flexibility. If you have an unexpected occurrence on one day, you can now try to bank those hours on another to compensate. After you've done that, I challenge you to hold yourself to that for four weeks.

4) Trust Yourself

We just spoke before about how post-pandemic, anxiety, stress, and depression levels have increased for all of us. If there is only one takeaway you leave this article with, let it be this:

You will become a software engineer.

That's it. It's that simple.

Know, in your heart of hearts, that you are capable, smart, diligent and infallible. You don't need to hear it from me or anyone else.

riccardo-annandale-7e2pe9wjL9M-unsplash.jpg

No matter what life may throw at you, or any setbacks you may have, if you keep this single focus in mind you will continue to move forward. There will be periods during this journey where you can take large leaps and bounds. But there will also be periods of stagnation, and maybe even periods of regression. But no matter what, you keep in the forefront of your mind what you need to accomplish and you continue to push. Trust that you will keep the promise you've made to yourself and it is no longer a matter of "if" but only a matter of "when".

Now Go Out and Achieve Your Goal!

brett-jordan-oXjvbhXxm4w-unsplash.jpg

I'm going to leave you today on that final thought. Thank you so much for reading! As the weeks go on I will continue to write in my blog and share what I've learned and more about myself! Having an online presence has always been something that I have found to be a challenge, but I'm excited to tackle this challenge with you and have an opportunity to build a community of fellow life long learners!

unsplash.com/photos/oXjvbhXxm4w?utm_source=..