Best practices to begin your programming journey

Best practices to begin your programming journey

Artistful Programming

In this article we'll talk about best practices to learn programming in the fastest way, don't forget "Awaken the geek within"

Technology generation

Before I start, I want to thank every person who had contributed to this work, i really appreciate it and it wouldn’t be possible without your help, keep sharing the positivity.

We live now in the 21st century, where technology take a big part of our lives: using smartphones to connect with society or to get our tasks done become more a lifestyle than a habit, only try to imagine a week, without the internet; it’s really impossible, we become its slaves. Despite of its bad impact. On the other hand let’s admit it got us a lot of astonishing things and it improved our lives either we are with or against its use: tasks that took weeks now take minutes, staying in touch with not only your society but with the whole world is now possible, and it helped a lot of poor countries to become a leader in the field of technology, in personal and regional economy for instance, you can start a business or an enterprise with only a pc and from your home. The world had become a very small town because of it.

Giving it some thoughts, you can easily figure out that this widely used and complex technology comes from some simplistic basis. We have a lot of giants like Facebook, Microsoft, Amazon and Google, they are multi billion dollar companies who started from a basic idea and simple implementation, they have seen a problem, seeked for its solution and simply developed a website for this latter. Most of them didn’t study Programming or something related to start their own businesses, they just autonomously learned by following some tutorials, step by step and booom !, it happened.

Why learn programming

Programming is an art, science, hobby, job and a lifestyle. No matter your Major, Gender, Age or any differences, we’re all equal when it comes to making the machine talk, no limits to that. We have a lot of examples of 10 years old who are developers, tech women and people from different backgrounds who still are programmers.

“An understanding of computer science is becoming increasingly essential in today’s world. our national competitiveness depends upon our ability to educate our children — and that includes our girls — in the critical field.” — Sheryl Sandberg, COO of Facebook

For that, I’ll share with you my experience as a developer, connected to a network full of them, and whom I’ve been observing and for whom I’ve been analysing endured problems and professional progress , I did a lot of research about that; interviews with experts and beginners, surveys and testing hypothesis, the Best ways to learn programming in the very effective and fast way, let me call it: The Artistful Programming.

Best practices


Now, we’ll go deep into Artistful programming, starting point by point to talk about that and how can we learn in a fast and effective way.

You need to fill your environment with technology and programming stuff (maybe like some pages about that, read articles, join groups. You need to live the life of a programmer, see talks about them, make your lifestyle as a programmer and you’ll go deep into that without any problems.

Focus on physiology

Before you start learning any lesson about anything, you need to focus on your physiology, which has two type, your body and your mind, so before starting, and let’s say you picked a learning path, you choose the right courses for you and make it available, setting the environment for that, and you’re going to start your course, first of all, you need to be in a good mood for that, so the best way is to sit in your chair with your Personal computer, try to avoid the sleeping position because you’ll get bored and distracted, be in good posture before that, do some exercises maybe, be happy and have a smile on your face ( it’ll really help because your brain we’ll simulate your happiness and motivation of learning), and the best way is to make a routine for learning ( let’s say every day from 10 p.m to 12 p.m ) make notification in your agenda to help you remember and push every distractive thing away from you.

H cubed in learning programming

From Jim Kwik who’s a memory master, and from Simon Sinek who’s an influencer and writer with his best seller book “Start with Why”, they come up with the formula of 3H. Personally, I used it and it works very well, Some of my fast learner friends use it too without even knowing of it (they don’t know that they know).

First H is head, so vision and imagination with emotion is the key, you need to visualize yourself programming, vision yourself writings code and making mobile applications, using algorithms to solve problems and working at huge IT companies, maybe as hacker or database administrator, designer or web developer,

Second H is heart, here comes the book of start with why; why do you want to learn programming ?, here you need to search for your own purpose, for example Mark Zuckerberg learned it to start his own business which is Facebook, Jeff Bezos did it to start Amazon which is the second IT-company to reach one trillion dollars milestones; you can see the power of knowing your why: maybe you want to get a job ( the world will need more programmers in the future and programming is the most demanded job now, with the increase of demand it’ll be for sure the most valuable one and I can assure you that you have very small probability to stay unemployed ), maybe you want to start your own business, maybe you want to work as a freelancer or remotely from you home without needing to leave your warm bed, and a lot of amazing things, one of my friends learned it to be the first contributor in GitHub in our country, some people find it fun, or habit, or because they want to succeed in their career and as a friend tell me “why a painter learn to paint”: so start to work and search for your own purpose to learn it and write them.

The last H is Hand, after having all of the above, you need to go to action, start learning, avoid procrastination, and put your hand into dust: learn by doing

Learning by doing

“Programming is like any other sport. You might know the rules but you have to play to learn“, The most common way in our century is Learning by doing, if you need to learn something you need to practice it, it helps you to learn fast, concentrate, avoid boredom and to memorize what you learnt for a long time contrary to the traditional learning method like getting theory information without reacting or analyzing it.

For that, always put a project in your head that you want to realize. Let’s say you have an idea that you want to launch, it’ll be your essence to try on it, start implementing what you learnt on it, if not, pick anything and try to realize it, maybe an E-learning website, a blog, social media platform like Facebook, search for a complete project to do it, who has more and more features. Some people use Freecodecamp or Hackerrank to search for projects and implement them, others search at Github for a project and contribute to them by practicing what they gained, use what suits you most.

Let’s say you want to learn Android development, if you have an idea it’s fantastic: do it, if not search for some related idea, let’s take Aldiko or Facebook, maybe Pocket, after that, whenever you learn something new from the course that you’re watching, go and implement it in your project, use for that the official documentation of that language and use Stack Overflow and Google to search for solutions to occuring problems, this is the best way to still have the ability to learn and advance in that with high energy. Divide the time on learning and implementing what you learnt (the practicing will take more time than learning and it’s normal. “+20 years development experience, 8 books with more than 100k copies sold, 300k hours watched of my videos, 4k taught in person. And you know what ? I still struggle to get my code to work and it’s still a tedious slog, and my code still confuses me the next day. You’re not alone in these struggles” as @Getify said, try to find solutions for bugs that happens to you during learning and keep going.

If you prefer, in every video or chapter, take notes, and after that course start practicing, never finish a course without practicing and testing your knowledge.

Pick the right course

The best way is official documentation of that technology, but it’s very hard especially for beginner, only 5% uses them at first, even expert avoid to start learning new technologies from it, if not, use one of this two websites: w3school.com or tutorialpoints.com or articles at Medium.com, or use a book for that, they give a written content with an easy learning path, use them to start, only 20% uses them at first, if you find them hard, it’s normal, go to video content in E-learning platforms such as Udemy, Lynda, Youtube, Khan Academy, openclassrooms and Udacity, or you can find some in YouTube which more than 75% interviewees said they use to start.

Know your power

We, humans, have two kind of learning approaches: visual learning (through eyes) and auditory (through ears), and every one of us have one of them more effective than the other, combining the two of them give a better result and more effectiveness, so when watching tutorials, use subtitles to use both visual and auditory learning combined.

Never watch just to watch, try to understand, use subtitles, translation, ask experts (friends or in forums), and search on the net, have the curiosity for learning and be highly motivated to cultivate your knowledge, take notes in every chapter and try to remember them, and read them daily, try to see the use of notes in your project as we talked before and don’t hesitate to implement what you learnt every time.

Formation with example

Base your choice on newest formation (because technology improve each day), and the best formation is teaching by example, this means formation where the tutor show you a final product or its requirements, he implement in every video or every chapter a new feature and step by step you achieve the final product, this is one of the most valuable formation to learn and I highly recommend you to use the same.

They showed you every aspect and try to implement it in their application, this give you the use of that component or principle with real example, try to implement with them when you finish that chapter, but remember, there’s always problems and you need to solve them, it’s not perfect as it seems in the course, because they prepare it before and in the majority of time, they’re expert, but you need to try, make mistakes and learn from them. As we talked at Learn by doing chapter.

Environment impact

Being challenged, is the most effective way people use to improve, being challenged either from their friends or enemies, this hidden power inside every person of us, pushes him to work hard, consistently and put him in a learning path with a real desire to reach that level. You won’t start studying or let’s say improving your skills if you don’t see a pioneer did so, or some person or friend that you see yourself equal to or superior, this kind of things wake up the geek inside you and force you to stay in the learning circle.

Try to search for success stories of people who had learn to program, developed applications and a lot of technical stuff, search for their story and the difficulties they faced, how it made them and how it affects their present and future, try to jump into learning and challenged environment, from friends or influence circle, this help you to be highly motivated when you learn and implement solutions, use this rule not only to learn programming but in all kind of learning paths you take, the Environment have a big impact on you, choose it wisely.

Trust the process

Using this methods, you’ll get to your goal in very short time, you need to trust the process, persistence, dedication and motivation is the key toward your goal, never underestimate yourself, you can.

One of the methods that I highly recommend is Pomodoro technique “ a method that help you stay focus for more time, using the principle of 25/5 which means that you need to work or study or learn for 25 minutes with concentration and after that take 5 minutes break and return to work”, this will help you be focused for as much time as needed.

Motivation to learn

Remember, it’s always hard in the beginning and you get used to it as anything else in life, good things don’t come easily and every expert was a beginner once, every human being have the ability to do whatever he wants if he forces it with motivation and hard work, always put in your head that a 100 miles race start with a step, and if you don’t start today, you’ll stay at your place.

Making mistakes is the best way to learn and to improve. There’s no one who have never done mistakes. Always ask experts, learn from their experience and seek for help, don’t be shy or get insulted or minimized because of that, everyone understand you and I think people are helpers by nature “Personally, I’ve never been in problem or difficult situation with the need for help and people didn’t help “.

One of things about how brain works, is that before starting anything it always give excuses to procrastinate and to let it for the next day, giving you excuses that you’re going to do much better after (get a cup of coffee and after work, watch a film, take a nap,…), because it only seek for you comfort, also it always stop you to do something new, give you a fake fear about that. To overcome that, always divide your work into pieces, put a schedule and stick to it, motivate yourself daily to stay on it, and knowing how your brain think will keep you prepared when you get that feeling, and don’t forget use pomodoro technique to conquer that feeling.

At the end, don’t forget :” awaken the geek within”




要查看或添加评论,请登录

Malik Chohra的更多文章

社区洞察

其他会员也浏览了