Starting all over again

Joined
Dec 20, 2011
Messages
23
This is a question for the veteran progammers out there. If you were starting out as a programmer today, what would you do differently? What did you start with, and why would you start with it again, or ditch it for something new?

Truth be told, I am not a programmer, but I like reading the discussions this group has. A true fountain of knowledge.
 
I started very briefly with VB5 and then made the jump to C++. Since then, I've explored or worked in many languages, including python, perl, C, MIPS assembly, Freescale assembly, x86 assembly, VHDL, C#, JavaScript, Scheme, etc. This isn't to say I'm an expert or a professional in all of these languages...just that I am familiar with using them.

Anything I write nowadays usually gets written in Java, i.e. I would consider myself a Java programmer by trade. Despite this, if I started all over again I would still want to start with C++. C and C++ are good languages with many lessons to teach, and I think any respectable developer will have had their run with them, even if it's not the language they've built their career in.

To an extent, I do feel as though it would be nice if I had been encouraged to start at the bottom level. Part of me wishes I could have started with digital logic and assembly, rather than visiting these topics later, but someone as young as myself had too many people saying these topics were irrelevant and that modern programmers should learn something like Visual Basic or Java. I had no way to know better at the time, so I did listen long enough that I had been programming for a few years before I started learning computer organization, digital logic and assembly programming. I think I thought I had a fairly decent understanding of what I was really doing prior to working with computers at the machine level....but after I studied those topics I realized that wasn't true. Whether or not learning these topics before learning higher level languages would lend better results...that I'd be interested to find out, but since you can't really start clean, I guess I'll never really know.
 
I'd pay more attention in my algorithms & data structures classes, so I didn't have to re-read those books 5 years later :)
 
I would spend a lot of time with C at the start then move onto any language with a healthy web presence assuming you wanted to get into web dev.

Spend less time worrying about what language/framework you want to use and just get to coding because in the end that's the only thing that matters. Just because programming is something you do on the computer doesn't mean you don't have to practice it to get better. You don't learn much by just reading, you have to actually do it. Having a goal to reach helps a lot too.
 
Spend less time worrying about what language/framework you want to use and just get to coding because in the end that's the only thing that matters. Just because programming is something you do on the computer doesn't mean you don't have to practice it to get better. You don't learn much by just reading, you have to actually do it. Having a goal to reach helps a lot too.

Absolutely spot on. Putting in the hours of deliberate coding work or practice is the single biggest contributor to improving your coding skills. The key is to not do it all in a vacuum. Get feedback, share code, and read up on best practices as you're coding. But don't get too hung up on which language is "best" or which frameworks are better than others. Ideally, you'll want exposure to many languages and frameworks so you can best identify the right tool for the job.

Likewise, don't waste too much time on picking the right tools or configuring your text editor just right. Long-term it makes sense to slowly evolve your tools and coding environment to maximize productivity, but don't get caught up in the trap of always playing with the latest and greatest text editor or plugins to the point that it's detracting from your actual coding time.

I had an old coworker who was always switching to the trendiest new language, using flavor-of-the-month frameworks, and fine-tuning his text editor environment for maximum productivity. Unfortunately, he wasted so much time on his quest for the ideal language, framework, and editor combination that whenever he spent time writing actual code is was a disaster. Meanwhile, another coworker who did nothing but churn out and iterate code all day every day in old-school languages on outdated frameworks in a basic vim setup would code circles around everyone else simply because he was gaining so much experience so quickly.

Knowledge trumps tools in 99% of the cases. Put in your time.
 
Back
Top