Friday, December 28, 2018

Review: 10 Critical Tips to Learn Programming Faster

Today's article, I'm focusing on something practical and essential for all people working with technology: 10 Critical Tips to Learn Programming Faster

I like what the author does here and her explanation is straight to the point. But, if you want to know some of the practical challenges accompanying each tip, then here's what I'll add (based on my experience).

1. Start With the Basics and Spend More Time There


  • This is fundamental to learning any skill. So, don't learn just because you feel like it or it sounds cool, but learn with purpose; learn with the intent to master the skill.
  • This takes time, lots of time! So, start early as possible.
  • These basics can become boring if you're learning by yourself (like playing any sport by yourself). So, learn with friends and enjoy the course(s).

2. Coding by Hand is Highly Recommended


  • This is a great tip for interviewing, but is practically useless. With so many programming languages to choose from and so many companies using multiple languages to suit their product development, practicing in one language might not be helpful with understanding and using another language. However, practice coding in a way to understand the programming language. Pick a few languages like industry standards such as Java, JavaScript, and SQL. Pick languages that a full stack developer would require.
  • Know how to write pseudocode. With the computing industry changing quicker than ever before, it's important to switch between programming languages and still carry the function definitions and application structure over. 
  • In addition, other people should be able to read and easily understand your code.

3. Fiddle Around With the Codes


  • Don't just fiddle, but start exercising your creativity and figure out how to update the code. This is also called "refactoring". Learning to made code updates is a lifelong skill since most programmers must work on teams which means eventually you'll need to update someone's code - including your own.

4. Reach Out to Others for Guidance


  • Make mentors that are tech gurus. It's difficult to find tech gurus, but not if you get involved in open source project like in Apache Software Foundation.
  • Take advantage of online mentors (that you may never meet).
  • Take advantage of community forums online like Reddit and StackOverflow.

5. Take Breaks to Get Refreshed


  • This is not a critical programming tip, but a good tip for every hard worker out there.
  • This is much easier said if you don't have any social responsibilities.
  • I guess the gist here is to do what you need to do to work smarter and healthier.

6. Use Online Resources


  • I thought I would see some reference here to StackOverflow or useful sites where programmers learn to "debug" and "troubleshoot", but I didn't. Thus, make sure you bookmark sites that help you not only learn to code, but learn to decode/encode (so to speak). :)
  • There are hundreds of online tutorials. So, go through some sites, pick your top few, and be sure to add YouTube to that list. There are great channels on YouTube offering free tutorials and resources. Also, tech giants offering tutorials use YouTube. Note: I haven't seen many tutorials on Vimeo (or any other online video library site).

7. Read Relevant Material


  • What's funny to me about this tip is that the statement with  the "majority of real-life situations...the client's team will possess complete knowledge of their business". From my experience, this is not really true. As a software developer, or aspiring software developer, you'll learn that the business experts eventually become outdated (due to lack of vision and improving current processes rather than focusing on disrupting processes for greater ROI) or they become dreamers (and provide unrealistic visions and predictions).
  • Before becoming an expert in a business domain, you'll need to ask yourself about the direction that you want to take your work. Do you want to start your own business one day or invent something? Or, do you want to become a tech guru within the company or industry you're in? After you choose the question to answer (and you can't choose both), then you will learn to understand how to code in ways that will take you to your career destination.

8. Learn From the Bugs


  • This is another tip which I find interesting to lack the advice on specifically leveraging online community forums. One particulary online forum that is picking up attention is GitHub. So much code is not being stored in GitHub that one can pick up lots of knowledge on how to create by leverage.
  • Again, leverage sites like StackOverflow for debugging.
  • Understand the limit of tools used for debugging as well.
  • Better yet, learn to write tests (e.g. unit tests, end-to-end tests) before you write your program and then you'll pick up a better habit than debugging.

9. Never Get Tired of Practicing


  • Practice with other like-minded coders.
  • Practice to innovate, not just to improve - because you'll never reach perfection.
  • Problems are neverending, and you'll need to discover how to become quicker at finding or creating solutions. This takes practice, too, and can be practiced outside of coding like with puzzles, understanding economic impact on local developments, studying psychology and quizzing behaviors, and learning different parts of society by volunteering and traveling.

10. Keep Your Cool


  • I actually thought this tip would address the politics in a workplace. Every developer not only needs to know how to "play with others", know how to code according to customer satisfaction, know businees needs and where the development team fits in, but also how to challenge bad ideas without offending people as well as add value to an organization's mission.
  • Never think your work life is about your life; it's about work. Never bring "work" to your life. Bring "life" to your work.


Good luck, newbie!

1 comment: