Programming Advice From the Pros (This Means You!)

Hello, what advice can you give to someone that wants to get in the programming field? I am helping out a relative that is in college and want to get a degree in IT and focus on developing.

-What are good certifications in the programming arena he should look at to go along with a degree?

-What are the best, hottest, languages he should start with to get in the field?

-What is the best to learn long term if different than someone starting out?

-Any other advice to someone on how to get started?

Thanks for any tips and advice you can offer.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

My 2 cents on this:

a) Certifications are rarely useful.  That's generally only helpful if you wish to work on contract - series of short term gigs - where you need to demonstrate a specific skill set for a 6 month project.

b) Best languages - these days the top 2 I'd suggest would be JavaScript and Java.  (Don't let the similar names mislead - they are totally different).  JavaScript is a strong choice for front end web development work.  Java is a good choice for backend development work.  C# is fine as well (instead of Java) - it's a slightly better language but opens fewer doors as it's tied to the Microsoft software stack and most people don't use Microsoft for server work.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
käµfm³d 👽Commented:

...but opens fewer doors as it's tied to the Microsoft software stack
That statement is not quite accurate. C# itself is standardized, and there is an open-source implementation of the .NET Framework called Mono whose language of choice is C#.


I agree with dpearson:  Certifications aren't all they are cracked up to be. I can go cram tonight and pass tomorrow several of the .NET certifications. (I've known a couple a people who've done so.) Certs look good to HR people; they don't look as good to actual developers/developer managers.

As far as "best" langauges, you really need to define what it is you plan to do. If it's mobile development, then Java (for Android) or Objective-C/Swift (for iPhone). (Some will say C# for Windows Phone, but market-share would beg to differ.) If you're doing web development, the environments are varied. There are ASP.NET shops (which uses either C# or VB.NET behind the scenes); there are PHP shops; there are Ruby shops. I agree that you're almost guaranteed to have to know Javascript/CSS. You probably need to research the companies that you'd be interested in working for:  see what they use. If you're programming hardware devices, then you're almost guaranteed to be working in C, and possibly even assembly language.

You might try joining some open-source projects in order to gain experience and knowledge from professional developers. Sure, you won't be getting paid, but the knowledge and industry experience you gain from such a venture should compensate for that.
käµfm³d 👽Commented:

I will add that you should focus on getting a strong understanding of programming fundamentals. If you understand the core concepts of programming, then jumping between languages merely becomes learning syntax (and a handful of language-specific idioms).
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

I agree with kaufmed, in that getting a strong understanding of programming (especially object oriented programming) fundamentals is essential. I recall the professor who taught me in introduction to program saying "Whatever language you learn to program in will surely be different from the language you will actually program in over time. Learn how to program first then adapt to the syntax and features provided in each successive language you encounter."
Jeffrey Dake Senior Director of TechnologyCommented:
I agree with a lot of what these guys are saying. Interviewing a lot of candidates I always test for object oriented design concepts and understanding of basic programming concepts.  Degrees from a university always help but are not required in this field. That being said I get a lot of people who understand the very basics of programming, but have no concept of design. They can work with the languages, but write inefficient code or use the wrong data structures.  I recommend a degree, but do your homework about the programs. The best programs combine a mixture of programming theory with hands on development.
REIUSAAuthor Commented:
Thanks for the tips and advice.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.