Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A Few Tips for Novice Programmers

DZone's Guide to

A Few Tips for Novice Programmers

Some advice for newer programmers about how to get started and what to keep in mind in order to have a successful career.

· Agile Zone
Free Resource

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

I got some great questions from Joseph who wants to be a programmer. He sent me this email:

Hello David, my name is Joseph. I came across your website in search of an expert computer programmer, and I was wandering if you could help me. I am relatively young and already know that I want programming to be my life. You say you are an expert in your profile, so I wish to learn straight from experts. Could you give me a few tips about programming? What is the best field of programming to get into, what languages to learn, and being successful as a programmer.

Thank you, I hope to hear from you soon.

See my reply below:

Hello Joseph,

You may not believe it, but you’re already on the right track and way ahead of many other programmers:

  • You have a clear focus that you want to be a programmer.
  • You are ready to learn what it takes to be a expert.
  • You take action.
  • You ask for help from more experienced programmers.

If you’re wondering what’s the best field of programming to get into and languages to learn, I don’t have exact answers for you.

As an example, I specialize in building backend applications in Java, but I know quite a few frontend developers who would hate to go to work every day and do what I do. Just like there are successful plastic surgeons, anaesthesiologist and paediatrists, there are many different types of successful programmers, too.

You can be a successful frontend or backend developer or specialize in big data or game developement. You can also be successful in C#, Javascript, Java, Android, etc. It doesn’t matter. The only thing that matters is you have to enjoy what you do and success will follow.

Life is too short to do something that you’re not passionate about. If you don’t wake up in the morning feeling excited about programming, it’s not worth doing what you’re doing. Look at Bill Gates, Warren Buffett, Sir Richard Branson or Elon Musk, you’ll find that all of them are passionate about what they do and would probably do the same job even if they had to work for free.

If you’re not sure what field of programming you’re most interested in, that’s ok. Most of the people start out that way.

Just start with something. Learn javascript, or C#, or Java, etc. I found the best way for me to learn new technology is to apply it in practice. Come up with a project, for example build a basic website for someone in your family or build a mobile app, etc.

Break that project down to smaller tasks and then try to figure out the next step that will take you from point A to point B. The smaller the task it is, the better, as it will keep you progressing and the more tasks you complete, the more condfidence you get in your skills with that technology. Anytime you hit a problem, dig deeper, search for a solution on google, stackoverflow, etc.

After spending some time with a particular programming language or technology you can decide for yourself if you want to stick with it or give a try to something else. There are no bad decisions here. The worst thing to do is not doing anything.

If you stick with something long enough, you may end up as a specialist, or if you keep trying out many different technologies, you may feel you’re more like a generalist. There’s nothing wrong with any of these and you can be successful in both cases.

And last but not least, here’s a few ideas that may help you progress in your career as a programmer (they worked for me and you may want to give them a try, too):

Every Day Strive to Learn Something New

If you improve by 1% every day (1.01 ^ 365), you’ll be 37.8x better in a year’s time.

Learn From the Best

Whether it’s another programmer, tester or manager at the company you work at, or authors of books on programming, or programmers who blog about what they do. Those people spent many years mastering their skills and by learning from them you can skip those trials and errors and only apply what worked for them. That will put you on a fast track Try to figure out what they do differently than you and see how you can apply that to yourself. Read the books they wrote, subscribe to their newsletter and even better, read what they read.

Whatever You Do, You Might as Well Do It the Best You Can

Otherwise you may miss some important lessons to learn.

Look for Patterns

Look for patterns in coding, solving problems, working with others, etc. The more patterns you can recorgnize and handle, the more complex problems you’ll be able to solve in the less amount of time

Maximize for Learning

Whenever I decide to take another job, nowdays I always look for opportunities where I can learn new skills and benefit my employer/client with skills I learnt previously.

Practice

The really successful programmers spend time with programming outside their work hours. They contribute to open-source projects, do part-time freelancing, work on startup ideas, read books, answer questions on stack-overflow, write blog posts, etc. Always look for opportunities to improve your skills and get more experience.

I don’t have much details about your current situation, but I hope you found at least one useful thought in my email.

Let me know your thoughts and I’d be happy to answer any questions you may have on programming / career.

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.

Topics:
career advice ,programmer ,programming ,tips

Published at DZone with permission of David Kiss, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}