avatarGabriel Sena

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

3981

Abstract

nowledge is important.</p><p id="4f4d">There ​ ​ ​​ ​ ​ ​​​ ​ ​​​ ​are ​ ​ ​​​ ​ ​​​ ​ ​​​​ ​ ​​ ​ ​​​ ​​levels ​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​​​ ​ ​​​ ​​​​to this ​ ​ ​​​ ​​ ​​​ ​ ​​ ​ ​​​ ​ ​​ ​ ​​​ ​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​​​ ​ ​​​ ​​game.</p><h1 id="357d">Here’s 4 tips that I wish I had known early on in my career.</h1><h2 id="249a">#1 Don’t panic.</h2><p id="f271">One of my first early “panics” in the early 2010s was dealing with Javascript /PHP— API Posts, callbacks, JQuery, all that good stuff. I was completely green here and had no idea what I was doing. I will say, the stress and anxiety of just simply <i>not getting it </i>was horrible.</p><p id="e083">The mistake I find several entry level programmers making is the idea of trying all the buttons. That is, mindless tweaking a method or a sequence of code inputs to try and brute force the system into working. I fell into this trap one too many times. This is because it is almost like a euphoric experience once you do hit all the right buttons and get the darn thing to work. Nonetheless — <b>DO NOT DO THIS</b>. You will not get very far and even if you do get it to succeed you will have tried so many different options that you really don’t know why it worked when it did.</p><p id="8255">Instead, take a step back. Go on a walk and collect yourself. When you get back, try to get a deeper understanding of what you are struggling with — if you’re dealing with an API read the documentation again, if you’re dealing with a programming concept find online resources that can help you understand it in a different way. Cough Cough ChatGPT 🤖 (wish I had that early in my career).</p><p id="e532">The thing about this field is that you’re in it for the long rung. This is a marathon that never ends. You will never reach <i>the end </i>of learning<i>. </i>It is all about the journey, so take your time and really understand things piece by piece.</p><h2 id="9e5d">#2 It’s okay to fail.</h2><p id="a2c4">Growing up playing soccer, basketball, and tennis I will say I have always been competitive. The idea of failing or losing in any scenario is one I do not enjoy — or anyone would enjoy.</p><p id="955b">Early in my career, I had the feeling of constant failure when I couldn’t understand a concept, my code crashed, or a bug was found in production. It sort of feels like you have let your team down.</p><p id="cef9">I think one of the toughest things to do is realize that mistakes happen and understand that it is okay to fail. Failure often leads to great things. You should take the opportunity to face up to your failures and understand what happened and what you can do differently. This is where you grow as a programmer.</p><div id="22b7" class="link-block"> <a href="https://readmedium.com/dont-be-afraid-to-fail-have-an-action-first-mindset-59a195995ebb"> <div> <div> <h2>Don’t Be Afraid to Fail, Have an Action-First Mindset</h2> <div><h3>One of the greatest obstacles that most people face is the fear of failure. They just want things to be perfect, and…</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*TIKYLWICgB90HufOrOvAJQ.jpeg)"></div> </div> </div> </a> </div><h2 id="b1ba">#3 Learn + Consistency + Goals = Success.</h2><p id="b0a0">This is a given for any field or topic someone is aspiring to. But, I will say that consistency with clear set of goals and expectations for oneself is key. It may be a daunting task early on to identify exactly what all needs to be learned or should be learned. However, you should do your best to set goals for yourself so that you can evaluate your progress.</p><p id="f300" type="7">Dreams without goals are just dreams and they ultimately fuel disappointment</p><p id="3d9e"

Options

type="7">— Denzel Washington</p><p id="f6a1">Let me share a few of my favorite learning resources here:</p><p id="1936"><a href="https://learning.oreilly.com/home/">O’Reilly Online Books</a> <a href="https://www.coursera.org/">Coursera</a></p><p id="08b2">For a good chunk of my career mentorship and online resources were my path to learning. With free courses you can audit on Coursera to picking up a few books here and there. For some, this may be all they need — and that’s totally fine.</p><p id="33e3">One of the goals I had set for myself was to eventually gain a formal education in the field. I wanted a deeper and theoretical understanding in the field guided by professors and practitioners.</p><p id="1118">Around the midpoint of my career, I was finally able to muster up the funds, <i>aided in part by my company’s tuition reimbursement policies,</i> to do this. For me, obtaining a formal Computer Programming Certificate from NCSU, half way through my career, was invaluable. Presently, I am pursuing a MSc in Artificial Intelligence from JHU. This was my path, and I am ever grateful for the experience I have had up to this point.</p><p id="e62d">If going the formal education route is something you are interested in, I highly recommend it. With that, I will say make sure to pace yourself if you plan on working and going to school. There are several options out there for this so also be selective in the universities you choose to spend your time and money in.</p><p id="82e4">If that is the not the route or fit for you currently, as it wasn’t for me during the early years of my career, I would advise surrounding yourself with individuals who inspire and can offer mentorship or guidance. It is essential to remain diligent and honest about your personal progress. And above all else, stay consistent<i> </i>and acquire that <b><i>formal professional education </i></b>👨🏽‍🎓.</p><p id="bd9a" type="7">Don’t panic and don’t rush — enjoy the journey</p><h2 id="d85e">#4 Evaluate your leaders.</h2><p id="1662">Throughout my professional years I have learned that building a product requires a team. Business owners, engineers, and other stakeholders all collaborate towards achieving the ultimate goal of building a world class product. Each group, in tandem, focuses on their specialization while delivering on the overall direction of the solution. Of course, this is an oversimplification of how products are delivered. Nonetheless, it is obvious that communication, collaboration, and leaders are key. I have had the pleasure and privilege of working under sagacious leadership and also inadequate leadership (no names named here 😅). Both types of leaders have helped me determine the qualities and disposition that make a leader.</p><p id="c366">With that, I say it is imperative to constantly evaluate the leaders you have and understand how they make the decisions that they make.</p><blockquote id="7227"><p>Would you do it differently? If so, how and why.</p></blockquote><p id="bc69">Even if you are not interested in becoming a Software Manager or part of Leadership (as it is not for everyone) you should still ask these questions to make sure you are under competent leadership that will help you reach the goals you desire.</p><h2 id="e262">Final Thoughts…</h2><p id="c619">If this is the path you are set on, embrace the challenges, stay motivated and consistent, and enjoy the rewarding journey of becoming a programmer. As with anything in life, hard work pays off. Enjoy the fact that you have a career that is ever growing with new facets to explore on a daily basis — imagine working a repetitive job where this is not case and you do the same mundane tasks day in and out. Also, embrace change, different programming languages, new concepts, and be willing to take calculated risks that may even lead to failure. Growth and understanding will come with time, consistency, and a plan.</p><p id="248f">You Got This.</p></article></body>

There’s No Such Thing as a Self-Taught Programmer.

It’s never too late to change career path, but do it right.

Photo by Patrick Fore on Unsplash

If you’re looking to change your path and enter the Software Industry, I hope this post gives you insights to someone that has gone through it.

Not all journeys are the same, but I will highlight mine which started with no Computer Science background to having deep experience in the field. I’ve had the opportunity to play pivotal roles such as Sr Software Engineer/Data Engineer, Software Architect, Specialist, and more.

Throughout my teenage years I always enjoyed tinkering with computers and machinery. Whether it was my old Windows machine or taking apart pieces of my car’s engine. I had a fascination for how things were built. Despite these interests, my undergraduate years were full of transitory goals from studies in Architecture to Fine Arts. It was not until the late 2000’s, when I was deep into my Bachelors of Fine Arts program, when I had my first “Interaction Design” course that I realized, almost instantly, I wanted to work in the Software Industry. Something clicked, and I was ready to get out of the extremely subjective nature of the arts and design to something more concrete, more binary.

Having made up my mind, even during my undergraduate studies I made it a habit to pick up a book or two on any programming language or concept I found interesting — the library had quite the selection and I just picked anything from Wordpress books to C++ and more.

But wait, isn’t this being self taught…

Not exactly (more on this later), I call this exploration into the field. This is very important as making such a drastic career change with no understanding can be risky and can lead you into regretting your decision. My curiosity here helped me really decide if this is the path I want to take. So, after taking those initial steps I dove head first into making the change. Oh boy, little did I know the effort, stress, and confusion that would come with this decision — but, this is what my mind was passionate about.

“The only way to do great work is to love what you do”

— Steve Jobs

Looking back, with the desire to gain practical experience, I was eager to start working after college. Although, at the time, I had a rudimentary understanding of Computer Science, I was able to land my first software gig in early 2010s. I was grateful and looking forward to the challenge that faced me.

Now back to that self-taught thing. I find this term completely misleading in the field of computer science (and probably most fields). The truth of the matter is, even if you have not received formal education you have relied on a wide range of resources, learning, and most importantly mentorship or guidance from more experience developers — in a sense, a formal professional education👨🏽‍🎓.

Doing your own reading and studying is a foundational piece of this industry; it is also an ongoing pursuit for engineers that also have had formal eduction.

The software industry is constantly changing and so is the required maintenance of ones knowledge base of existing and new systems.

I won’t dive into much of what I believe a programmer or software engineer is in this post as I have probably caused a stir in the self-taught programmer community 😶. But I will say, theoretical knowledge is important.

There ​ ​ ​​ ​ ​ ​​​ ​ ​​​ ​are ​ ​ ​​​ ​ ​​​ ​ ​​​​ ​ ​​ ​ ​​​ ​​levels ​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​​​ ​ ​​​ ​​​​to this ​ ​ ​​​ ​​ ​​​ ​ ​​ ​ ​​​ ​ ​​ ​ ​​​ ​ ​ ​​​ ​ ​​​ ​ ​​​ ​ ​​​ ​​​ ​ ​​​ ​​game.

Here’s 4 tips that I wish I had known early on in my career.

#1 Don’t panic.

One of my first early “panics” in the early 2010s was dealing with Javascript /PHP— API Posts, callbacks, JQuery, all that good stuff. I was completely green here and had no idea what I was doing. I will say, the stress and anxiety of just simply not getting it was horrible.

The mistake I find several entry level programmers making is the idea of trying all the buttons. That is, mindless tweaking a method or a sequence of code inputs to try and brute force the system into working. I fell into this trap one too many times. This is because it is almost like a euphoric experience once you do hit all the right buttons and get the darn thing to work. Nonetheless — DO NOT DO THIS. You will not get very far and even if you do get it to succeed you will have tried so many different options that you really don’t know why it worked when it did.

Instead, take a step back. Go on a walk and collect yourself. When you get back, try to get a deeper understanding of what you are struggling with — if you’re dealing with an API read the documentation again, if you’re dealing with a programming concept find online resources that can help you understand it in a different way. Cough Cough ChatGPT 🤖 (wish I had that early in my career).

The thing about this field is that you’re in it for the long rung. This is a marathon that never ends. You will never reach the end of learning. It is all about the journey, so take your time and really understand things piece by piece.

#2 It’s okay to fail.

Growing up playing soccer, basketball, and tennis I will say I have always been competitive. The idea of failing or losing in any scenario is one I do not enjoy — or anyone would enjoy.

Early in my career, I had the feeling of constant failure when I couldn’t understand a concept, my code crashed, or a bug was found in production. It sort of feels like you have let your team down.

I think one of the toughest things to do is realize that mistakes happen and understand that it is okay to fail. Failure often leads to great things. You should take the opportunity to face up to your failures and understand what happened and what you can do differently. This is where you grow as a programmer.

#3 Learn + Consistency + Goals = Success.

This is a given for any field or topic someone is aspiring to. But, I will say that consistency with clear set of goals and expectations for oneself is key. It may be a daunting task early on to identify exactly what all needs to be learned or should be learned. However, you should do your best to set goals for yourself so that you can evaluate your progress.

Dreams without goals are just dreams and they ultimately fuel disappointment

— Denzel Washington

Let me share a few of my favorite learning resources here:

O’Reilly Online Books Coursera

For a good chunk of my career mentorship and online resources were my path to learning. With free courses you can audit on Coursera to picking up a few books here and there. For some, this may be all they need — and that’s totally fine.

One of the goals I had set for myself was to eventually gain a formal education in the field. I wanted a deeper and theoretical understanding in the field guided by professors and practitioners.

Around the midpoint of my career, I was finally able to muster up the funds, aided in part by my company’s tuition reimbursement policies, to do this. For me, obtaining a formal Computer Programming Certificate from NCSU, half way through my career, was invaluable. Presently, I am pursuing a MSc in Artificial Intelligence from JHU. This was my path, and I am ever grateful for the experience I have had up to this point.

If going the formal education route is something you are interested in, I highly recommend it. With that, I will say make sure to pace yourself if you plan on working and going to school. There are several options out there for this so also be selective in the universities you choose to spend your time and money in.

If that is the not the route or fit for you currently, as it wasn’t for me during the early years of my career, I would advise surrounding yourself with individuals who inspire and can offer mentorship or guidance. It is essential to remain diligent and honest about your personal progress. And above all else, stay consistent and acquire that formal professional education 👨🏽‍🎓.

Don’t panic and don’t rush — enjoy the journey

#4 Evaluate your leaders.

Throughout my professional years I have learned that building a product requires a team. Business owners, engineers, and other stakeholders all collaborate towards achieving the ultimate goal of building a world class product. Each group, in tandem, focuses on their specialization while delivering on the overall direction of the solution. Of course, this is an oversimplification of how products are delivered. Nonetheless, it is obvious that communication, collaboration, and leaders are key. I have had the pleasure and privilege of working under sagacious leadership and also inadequate leadership (no names named here 😅). Both types of leaders have helped me determine the qualities and disposition that make a leader.

With that, I say it is imperative to constantly evaluate the leaders you have and understand how they make the decisions that they make.

Would you do it differently? If so, how and why.

Even if you are not interested in becoming a Software Manager or part of Leadership (as it is not for everyone) you should still ask these questions to make sure you are under competent leadership that will help you reach the goals you desire.

Final Thoughts…

If this is the path you are set on, embrace the challenges, stay motivated and consistent, and enjoy the rewarding journey of becoming a programmer. As with anything in life, hard work pays off. Enjoy the fact that you have a career that is ever growing with new facets to explore on a daily basis — imagine working a repetitive job where this is not case and you do the same mundane tasks day in and out. Also, embrace change, different programming languages, new concepts, and be willing to take calculated risks that may even lead to failure. Growth and understanding will come with time, consistency, and a plan.

You Got This.

Software Engineering
Careers
Programming
Data Science Training
Recommended from ReadMedium