How long to become a competent programmer ?

Started by Pfaber11, February 02, 2020, 17:16:42

Previous topic - Next topic

Pfaber11

Well I've been making my games for just over two years and am now working on my 12th game . I still consider myself a bit of a beginner as far as my programming goes . So how long do you think it will take me to become competent . I think I've settled down on my language of choice and I think if I added all my time up over the last two years I've probably put in a years work. I'm guessing another year at least not to become an expert but be pretty competent . I Know my graphics are not that great but I'm not much of an artist so I will be keeping it simple . Looking forward to releasing my next err game in a couple of months .
This one I'm on now was the offshoot off me playing around with terrain and I thought I might as well turn it into a project. Been using PB for about 4 to 5 months now and am very pleased with the language . The first few months I was learning as fast as I could to get the ball rolling and made a few demo programs to get some practice in. Hello world but more advanced if you know what I mean . I'm on my 4th language but I think if you are not entirely happy with your choice then trying something else is the way to go and the sooner the better. I spent most of my time with AGK classic and it is pretty good and certainly taught me a lot about programming . About 14 months ago I hadn't even heard of a height map.  Happy coding . 
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz

Pfaber11

As stated by the game creators AGK is simple and easy to use . It may be easier than many languages out there but there is still a huge learning curve in my case anyway. I actually think to go from zero to being an accomplished AGK programmer you are looking at 1 year + or is it just me . Anyway I am determined to produce something half decent this year and think I should be capable of doing that by now . Time shall tell.
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz

Amanda Dearheart

Sir,

That is a difficult question to respond to.  IMHO there is no single correct answer, and I can guarantee you that for every programmer you question, there will be a different answer.  Here's my shot at attempting to resolve your curiosity.
When I first started programming computers, there were basically two or three programming languages available to the mass public (mass public being the key word in that phrase) They were Assembly language, BASIC, and Pascal.  Others existed but they were marketed towards specific groups such as bankers, the Department of Defense, and scienttists.
For example, bankers and other business types of people used Cobol, the DOD and government agencies used ADA (and it is a toss-up whether ADA is a derivative of Pascal or Pascal is a derivative of ADA.  It's the same question as the Chicken-egg problem as to what came first.) while scientists used languages such as Fortran and LISP.
I myself started out with BASIC, and attempted to learn 6502 and Z80 assembly language, but abandoned those when I moved onto the IBM and began teaching myself QuickBASIC and C++, as well as Delphi.  All of this while holding down an 8 - hour day job, sometimes going on 12 hours a day.  I myself am not married, don't date often, and I have one or two male people that I can actually consider friend.
Nowadays, we have game engines to consider, with varying languages underneath them ranging from dialects of BASIC, Python, and C#, not to mention Java.  You claim to have developed at least 12 games within two years, while I have one that I lost in almost 20+ years that I consider complete. It was a BASIC game written in C-64 BASIC.
Now that I am retired from my day job, I can concentrate on actually finishing a project, like the clergy that wishes to dedicate their time and devotion on worshiping god, I want to spend time in my computer lab.
Oh, BTW, in over 20 years of typing in code, I still consider myself a intermediate programmer.  Good luck, if your interested in more, give me some time!
Prepare to be assimilated !  Resistance is futile!

Matty

My experience, yours may differ:

I began coding in 1988 as a child.
Looking back I would consider myself competent by 1996, 8 years later.
I began coding for business as a beginner in a language in 2008.
I would consider myself competent in it by the same year thanks to prior languages known HOWEVER not quality in it until 2017, 9 years later once I had learned conventions in that language and had had a mentor who had been properly trained, not self taught like myself.

Xerra

The short answer is "as long as a piece of string"

It takes as long as it takes. And who decides you're a competent programmer? You?

I think it's just a case of working to your level and gradually raising the bar as you move forward. In my case very gradually. I started around 1982 on a Vic 20 and never took it far enough before finding girls, beer and the world out there because I left home very young. At best I'd call myself an intermediate programmer with the languages I know and use now. I'm almost re-educating myself in some ways and I've had 38 years of experience. Although, totaled up it's probably only a couple of years in total as I'm a lot slacker than I should be, even though I've come on in leaps and bounds with my current system over the last two years.

I work with computers all day and do lots of boring database reporting and business analysis with Excel and often I come home more interested in the actual Playstation than firing up for some coding again. I've done none this week for example as I've got my head full of a work project that's taking all my concentration.

Could I ever consider myself a competent programmer? Probably, but I suspect it's not going to happen while I'm doing the job I do now.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Hezkore

#5
I wasn't going to comment on this, because I don't normally post on these very subjective topics.
But I've noticed you jump around between languages Pfaber11, and I'd like to give some tips.

As I said, being a "competent programmer" is a very subjective thing.
I've been making games since the early 90's and I've worked with some minor game companies and freelancing jobs.
And I'd call myself competent with some things, and very incompetent with many other things.
I think you have to find what you enjoy doing and polish that, instead of trying to be "best at everything".
And that's something you can do forever, so "competent" is probably something you have to define for yourself.

But my real suggestion for you is:
Don't spend too much time on the language itself, trying to find "the one language" etc.
Sure, you can scout around and look at languages and game engines, but there's no "perfect" tool for every situation.
Each and every language and engine excels at something and is terrible at something else.
It's your job to figure out which one suits your project the best.
I'm using 4 languages currently, and I prefer one of them over the others, but that language wouldn't be the right choice for some of my projects.
So I say focus on the project itself, and really think about what you need, and about what tool will give you the best start for that project.
Need a native UI, does AGK do native UIs well?
Need modern 3D that runs on modern machines, does JS do that well?
Need web stuff, does Blitz3D do that well?
Need terminal/CLI stuff, does Unity do that well?
And so on.
Simplicity is the ultimate sophistication. 🚀
GitHub
BlitzMax for VSCode
BlitzMax for Vim

Pfaber11

Thanks for all the replies.  Managed to get quite a bit done today . When I say 12 games that is including a few that I converted to Android and the one I'm working on now . I refer to them as products.. 8 different games plus different versions. Still not bad in just over 2 years
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz

Naughty Alien

..when you make nice living out of it without any side job, stopwatch should stop, then check how much time it took to that stage..

Pfaber11

Well I did create one game on the BBC micro in the mid 80's and one on my Atari STe in the early 90's but on the modern pc I've been at this just over 2 years . What I learnt way back was at that time if you couldn't write assembler don't bother because it won't be fast enough but now with faster computers and languages like AGK or PB that has all changed and now it is possible to write fast games in Basic . This is an awesome time to be a programmer probably too many of us so the market is saturated but if you can produce good quality stuff there is a market for it . Really wish I would of realised this ten years ago .
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz

Pakz

I agree with naughty alien. When you can live from it, pays the bills. The word talent(coding talent) is from the babylonian times and ment as a unit of weight. I think I seen it described as the weight in gold or money.

GaborD

As others said, this is very subjective.
What is your main goal? Being a programmer and working on just the code while in a team or being a lonewolf game developer making complete own games?

You call it programming, but reading your posts it sounds like you are more interested in making games as solo dev, which is actually not really about programming.
Important hats you have to wear: game designer, visual artist, tech artist, marketing guy.
Easily available and usable engines have shifted the focus as lot.

I agree to GfK's "reaching the right market" sentence.
Find the right niche and make good games just for them, don't bother with the rest in my opinion. Doing that you are already way ahead of that vast ocean of mediocrity so many aimlessly swim around in.

Pfaber11

Yes I agree with Naughty Alien too . And as for that PS4 game it does look pretty rubbish compared to some of the stuff out there but it was cheap . Just bought my son a new PS4 game the latest dragon ball game cost me 70 quid . Ouch . Back on topic yes when I can make a living out of this I will stop the clock and consider myself successful . I'm still learning stuff and maybe in a years time I'll have something worth selling . It would be so nice to show those people who said at the start you'll never be able to do it "I told you so" . You know even if that never happens I have had a great ride as far as personal development goes and have learnt a lot in two years . Still way more to learn and every new project brings a new challenge . I'm thinking after I finish what I am working on now is to make something huge and take a year over it . Most of my stuff is done in about 6 weeks and not much good however I had to learn on something . The first two I did are hidden away in shame they were awful and the rest are getting better . Have a nice day.
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz

Pfaber11

Yes I see myself as a lone wolf developer for now but who knows what the future holds . I have noticed I don't ask as many questions on the forums as I used to because I pretty much know the answers and I've got a lot better at using the PB help. I keep my demo PB files at hand also to remind me what I have already learnt . Happy coding .
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz