It can be a daunting task starting something new. Especially when it’s something you have no prior experience with.
Learning to program is no exception. Their are so many resources available, and it feels almost impossible to know where the right place to start is.
Like most things, starting is the hardest part. This blog post will help you personalize your path.
What Are The Paths To Become A Programmer?
Most often when Zach and I hear from people that they want to learn to program they either want to become a software engineer, are a self starter entrepreneur or they are just intellectually curious.
What Are The Most Important Things For A Computer Science Student To Learn?
The most important principles are:
- Object oriented programming (OOP)
- Data Structures
Most universities that have CS programs implement teaching this core to their students.
While understanding these three principles are important, specializing in a particular skill is also critical.
Something like web development, systems engineering or data science is of value along with this core.
This idea of core principle understanding and a speciality is often referred to as the “T Distribution”.
The T distribution symbolizes a more surface level understanding of object oriented programing, data structures and algorithms while have a specialty like web development.
Along with the T distribution, it is important to learn a programming language the allows you to understand the application of these theories and skills.
We suggest learning a high level language like JAVA, Python or C++. Most CS programs universities teach one of these languages in their curriculum.
The final piece of advice we can give you is that each language is good for different things. Define what your goal is and learn a language that is specific to what you are trying to accomplish.
Where Do Entrepreneurs Start Learning To Program?
For entrepreneurs, it’s not as important to learn to program as it is to develop skills that allow you to understand tech, speak tech (know the jargon) and convey what you are trying to build to your engineers. *This advice is for innovative entrepreneurs, if you are a main street entrepreneur or microentrepreneur the goals are different. Read more here.
Understanding how all your cogs fit into your system like knowing what software to use, what libraries are best and what the current limitations of tech are, these are the most instrumental relationships you need to understand. Without this, building new products will be a lot harder, less fast and more expensive. Remember, you’re the maestro and you want to know how all musicians fit into making your sound.
Remember, you’re the maestro and you want to know how all musicians fit into making your masterpiece.
Through this learning of technologies and their innate characteristics you’ll pick up jargon. Understanding the jargon is important so that you are able to speak the language that technical people understand. Know the correct verbiage and using it in the proper context will allow more clear communication between you and your. The best communication occurs when both parties are using the same lingo.
Also, the better you can communicate the less you’ll spend. Most wasted time and problems stem from poor communication.
If you’re looking for a place to begin learning these concepts, something like Tyro’s free Intro To WordPress course is a great.
Where Do The Intellectual Curious Start?
This is the hardest to prescribe. Most intellectually curious people are interacting with engineers at work or in life. Our suggestion is to reach out to someone in your network who is an engineer and ask them where to begin.
The engineer you work with or know will understand your situation better than we can attempt to try. They will have more perspective that we can ever offer.
With that in mind, the engineer you talk with may prescribe something super challenging for a beginner. Remember, their point of relativity when it comes to what is “simple” is far different from yours. If you are overwhelmed with what they suggest, ask them instead what is the most elemental aspect of what you do and begin there.
Some of Tyro’s entry level programming tutorials are perfect for this.
What is the pathway for each of these groups to accomplish their goals?
For software engineers the best path is to go through an university program and incorporate real world projects into your education. This could be in the forms of internships, coding bootcamps or freelance projects. You are trying to show that you are more valuable than the next person in a real world project setting. Just dive into the maze.
The reason we suggest universities is because they teach the core foundations of programming very well. Bootcamps show application, but they often don’t dive into the core deep enough.
You may ask yourself, what do employers look for in young software engineers and while they are many criteria the most important is that they want young engineers who have a solid understanding of the core, real world experience and are willing to learn quickly. You’re not going to be an expert and that’s more than ok. You’re trying to show that you are farther ahead than your peers.
For entrepreneurs it is important to acquire skills that allow you to create an MVP fast.
Fast MVP development comes from technology understanding, who you know and knowing the bare minimum of what you’ll need to get feedback on an idea. We can’t stress enough that the most powerful asset anyone possesses is their network. Being able to reach out into your network before your MVP will allow you validate or shoot down your idea faster. After you have you MVP your network will allow you to grow at the proper speed and ideate based off your MVP.
When it comes to relationships with engineers, what we are talking about is understanding what each engineer is good at. The only way you’ll be able to know this is to have a solid foundational relationship with as many engineers as you can.
Keep in mind that knowing engineers isn’t the only goal. Mentors who give you feedback and access to a larger network than you possess are equally as important. Become active in your local business community and foster relationships with people who you relate to and who you have similar philosophies.
To familiarizing yourself with jargon the fastest is online resources. Look for the most used tech words of a specific year best way to do this is to use online resources you can learn at your own pace. Simultaneously you need to talk to as many people as you can who have more knowledge than you. Get as many ideas and perspectives as you can with anything you are working on.
Understand how to see through people when they lie and understand if they have a particular skill or not.
The path for the intellectually curious is to allow people you know to inform you what you need to learn.
The goal when having these conversations with engineers is to know how to make your self more valuable. Have engineers define the knowledge that is most valuable for you to know. Pose questions like what makes me more valuable to our team or what’s a major pain point you experience everyday. You don’t need to be an expert but rather understand all the surface level of as many topics as possible.
The Most Important Things To Remember When Starting To Program
In conclusion, each of these segments should begin by trying to see if tech is right for them. You may find you hate it so try to use a principle we love which is fail quickly on the cheap.
Don’t get analysis paralysis. There is so much information out there and feeling overwhelmed is normal. It’s going for a job, just start.,
The last thing we would like to reiterate define your goals, make a path and get feedback from people you respect. There is so much power in people who have come before you. Tap into them.