LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 09-04-2014, 12:48 PM   #16
szboardstretcher
Senior Member
 
Registered: Aug 2006
Location: Detroit, MI
Distribution: GNU/Linux systemd
Posts: 4,278

Rep: Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694Reputation: 1694

Both. All programmers were at one time 'made' by parents, and 'born' to their mother.

I think that the question is vague and leading though. All skills are acquired through practice and experience. Pretty much everyone knows this.

No one has EVER been born with some advanced skill - like programming - in their brain. Not ever. That said, some people might have an easier time picking up programming than another. But, as with most things, practice and dedication will eventually allow you to do it.

Unless there is something physically wrong with the persons brain.
 
Old 09-04-2014, 03:44 PM   #17
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,337

Rep: Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548Reputation: 548
Quote:
Originally Posted by moisespedro View Post
I started taughing myself programming languages 1~2 months ago and until now I pretty much suck at it. How did you start? Can you become good or are good programmes born? If they are made how many time would you see is enough to get good or give up?
When I was a programming manager I would always assign a beginning programmer to work with one of the lead programmers. In general after about a 6 month apprenticeship the new programmer was fundamentally sound and could work under their own direction. This was pretty much standard industry practice during the 70s and 80s. In Open Source you get the same effect when you submit work to a project leader and they accept or reject your work based on the quality of your work.

A good example of the flawed work produced by a programmer who is not fundamentally sound is Windows. Bill Gates was self taught and thought he knew it all. In reality he was missing some basic concepts, especially the concept of modularity.

--------------------------
Steve Stites
 
Old 09-04-2014, 07:04 PM   #18
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Programming is a craft just like any other. You learn a craft by doing it ... a lot. It certainly helps to truly love what you do.

And, I do. I still do, after more than 30 years. It really needs to be, at least in part, your hobby. It's so much work, sometimes, that you really need to be having fun.

On the one hand, I continue to be fascinated by the prospect of causing a machine to do useful work for people. I never dreamed that the machines would become as powerful as they are, nor that they would do so as rapidly and as completely as they did.

However, I guess what really motivates me is ... the people. People who genuinely need what you know how to do for them, and who respect you and rely upon you for your ability to do it for them. There just aren't that many things that you can do in a business situation that are so rewarding. I've been a consultant (http://www.sundialservices.com, a trainer, a professor. And, in every case, it's about having the ability to make "a machine" do useful and valued things for "people." (Plus the aforementioned fascination with just what these machines can today be made to do.)

Last edited by sundialsvcs; 09-04-2014 at 07:05 PM.
 
Old 09-05-2014, 05:06 PM   #19
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Both. I don't think there is a single topic where nature vs. nurture is relevant.

You have to be born with a certain predisposition, and you have to work at it. If you aren't interested in computer and programming, then you will never be a good programmer no matter how hard you try.
 
1 members found this post helpful.
Old 09-05-2014, 05:42 PM   #20
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
Quote:
Originally Posted by moisespedro View Post
Can you become good or are good programmes born?
All my experience says good programmers are born, not made.

LONG LONG ago, within a month of starting to learn programming (in a national science foundation summer program during high school), I was better at it than the majority of profession programmers. I was tutoring graduate students in programming a few months later.

Much more recently, someone who had been the best CS student in a local high school before going to a college that wasted his time (his programming sure didn't improve compared to what he did in high school) worked as a summer intern where I work and did more and better work than PHDs with 10 years job experience.

When I was in high school, I had good success teaching many people who were not naturally gifted to be very good programmers (while failing miserably with others). More recently I have much more consistently failed to get across the concepts that good programmers need. Some things may be just too obvious to me to even communicate to people who don't naturally get it. Looking at how programming is normally taught, I can see there is never even any attempt to teach the important concepts. The teachers never learned the important concepts themselves.

I don't have enough insight into how ordinary people think to understand why they can't ever be good programmers or if that is false what they or their teachers would need to do to build those skills. All my experience says it just doesn't happen. A bad programmer given another 20 years of job experience is still a bad programmer.

For your individual advice, that should not be as negative as it sounds. The large majority of professional programmers are staggeringly bad at it. Those hiring and managing programmers are largely clueless about competence and about results. With perseverance and effort, anyone can fake it as well as the average professional programmer and get good pay for really rotten work.
 
Old 09-08-2014, 07:06 AM   #21
psionl0
Member
 
Registered: Jan 2011
Distribution: slackware_64 14.1
Posts: 722
Blog Entries: 2

Rep: Reputation: 124Reputation: 124
The ability to learn and use all of the aspects of (say) GUI programming and programming syntax is knowledge that can be acquired with time and practice.

However, the ability to come up with an algorithm for a new and unusual situation is not just something you can learn, you need to have something to begin with that can be developed.
 
Old 09-08-2014, 07:51 AM   #22
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by psionl0 View Post
However, the ability to come up with an algorithm for a new and unusual situation is not just something you can learn, you need to have something to begin with that can be developed.
a brain?
 
Old 09-08-2014, 12:30 PM   #23
psionl0
Member
 
Registered: Jan 2011
Distribution: slackware_64 14.1
Posts: 722
Blog Entries: 2

Rep: Reputation: 124Reputation: 124
Quote:
Originally Posted by a4z View Post
a brain?
Evidently you don't see any difference between learning rules/procedures and the ability to design algorithms.
 
Old 09-08-2014, 08:00 PM   #24
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
The very first computer program that I ever wrote ... took me six months to write, was eight lines long, and had a bug in it.

(Note: the "personal computer" at that time was, say, the Altair, or maybe the IMSAI, or would you prefer the SWTPC 6800 or how about a KIM-1?)

In those days, you didn't have "direct access to 'a computer,'" and there was not yet anything 'personal' about them. Intel was making rapid progress, but the 'chips' that we take for granted today simply did not exist, and would not exist for several decades. Still, we did well with what we had.

I learned the craft by trial and error, and by what was (even then, and still today) a genuine interest in, and enjoyment of, the process. I mastered it because I persevered. I persevered because I wanted to. I continue because I still want to. (Uh huh, still living by my hobby. Cool, huh?)

Try to find out early whether this really is "something that fascinates you and that brings you pleasure." Because, if it doesn't, there are plenty of other ways to make a good living.

"Do what you love, and the money will (most of the time ) follow ..."

Last edited by sundialsvcs; 09-08-2014 at 08:03 PM.
 
Old 09-09-2014, 12:57 AM   #25
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by psionl0 View Post
Evidently you don't see any difference between learning rules/procedures and the ability to design algorithms.
I do,
but I also know
there are people that going home and watch netfix
and others go home and continue learning and continue practicing with private/hobby project
some go home to play computer games, others think about how to write those games
there are people that think that when they have a certificate that they know every thing
and than there are people that feel that the more they learn the less they know.
all these things has something to do with passion, and you can develop a passion for something
you do not need to be born with anything
It is not like you have no change for some sports if your body does not fulfill certain criteria

and by the way, the beauty of open source and free software and documentations, is that they give equal chances to every one that wants to learn.

I and I know that there are a lot of programmers that think that they are computer scientists and need therefore make everything super complex.
so its possible more a education thing than be born with something,
because in real you need more programming craftsman than computer scientists

the excuse it's genetic, born with, gifted with .. this is a very comfortable way of seeing things because it gives simple excuses and explanations
 
Old 09-09-2014, 04:31 AM   #26
psionl0
Member
 
Registered: Jan 2011
Distribution: slackware_64 14.1
Posts: 722
Blog Entries: 2

Rep: Reputation: 124Reputation: 124
So lack of motivation is the only reason why everybody is not a full bottle on General Relativity or String Theory.
 
Old 09-09-2014, 04:48 AM   #27
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by psionl0 View Post
So lack of motivation is the only reason why everybody is not a full bottle on General Relativity or String Theory.
it was about programmers, not Einsteins,
but even for Einstein or Newton, without motivation and amount of invested work they would not have come that far.

in what are you good? in things you like and practice a lot.

can you become an Einstein? possible not, but can you become good in Physics? possible yes if you like it and work hard

can you became Dijkstra, Knoth, Wirth , Stroustrup, Stepanov,....
very possible not

can you you become a better programmer than the average.
yes, withing some years, if you work hard and like what you do
especially in IT , where new techincs pop up permanently, you can become very good in certain topics within some years

if you dont like it, became programmer just because you thought you have a secure job, a cool job, earn a lot of money, what a lot of people did I know, you will produce horrible solutions and change into managment as soon as possible, and do the horrible things there.
 
Old 09-09-2014, 05:32 AM   #28
Ramurd
Member
 
Registered: Mar 2009
Location: Rotterdam, the Netherlands
Distribution: Slackwarelinux
Posts: 703

Rep: Reputation: 111Reputation: 111
Do not let the problem of writing the code down trouble you. Writing the code is just one step in the process.

One can (should) begin defining the problem. The next step is defining the solution (and: is this solution the answer to the problem?)
Then one should think up the steps to take to get from the problem to the solution. This has to be (very) detailed.

Once the steps are defined, it's just a matter of choosing the language in which to write down the steps toward the solution.
That done, one can write down the code.

The hard part is actually (once you're more familiar with a language) defining the steps towards tohe solution. Once you're familiar with one language and the above concepts, learning a new language is not that hard; a few days of getting familiar with it's rules and you're set...

Try it out with defining all the steps necessary from your state (sleeping in bed) towards a goal (getting at work)
 
1 members found this post helpful.
Old 09-09-2014, 05:47 AM   #29
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Indeed, Ramurd, "defining the problem, and a process for completely solving it," is the real challenge for any programmer (or his/her department). That's the real hard part, not learning the "bits and bolts" of any given <<programming language | operating system >>. Most anyone with serious experience can learn another language or another tool in a day or so, because at the end of the day it's (probably) just another expression of "the same damm thing."

Lots and lots of programmers never become any good at all at design, and generally, never truly "design" anything. They just open a text file and start writing code, literally making the whole thing up as they go. And that is why they quickly box themselves into a corner that they can't get out of.

Think about it. What would you think if you interviewed a contractor to talk about building a new addition to your house, and he simply showed up with a crew who started digging holes in your front yard, cutting lumber and nailing it up someplace? ("What? I thought you brought the tape measure! Oh, nevermind, we don't really need one anyway ... we'll just eyeball it, and if it doesn't work we'll just rewrite it again.") You'd call the police, of course, to have this joker not only removed from your property but locked-up in jail so that he couldn't seriously hurt himself. And yet, this is what many "programmers" do. Without the slightest consideration being given to what "the work" is, they "start 'working' (sic)" and fully expect you to pay for it.

Last edited by sundialsvcs; 09-09-2014 at 05:49 AM.
 
Old 09-09-2014, 08:31 AM   #30
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,882
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
What I think you're really asking moisespedro is:
Code:
How does someone become a 'good' programmer?
I think you asked it poorly by raising the question of being inherently born with some talent versus learning it. I do agree that many people have natural talents which benefit and enhance their efforts towards certain accomplishments. I also feel that anyone can learn to some things very well given enough time and effort, plus the acquisition of knowledge. And I actually make it a point to try and convince people that they weren't born dumb at Math or something similar. They don't like it, so they resist doing it when it becomes hard, but do tell them that if they become resolute, they could become very good at whatever the subject were.

Some here are talking about 30+ years of experience; therefore they started much like I did, back in the days of assembly language, BASIC, punch cards, and so forth. Programs back then were things like simple sort algorithms, mortgage amortizations, and biorhythms. We were thrilled that the machines did what we told them too, after many iterations of trying and retrying.

My thoughts on this are that in today's world, in companies and projects, coding by the seat of your pants does not fly. It may fly as a junior engineer, but not much farther.

If you just want to learn how to code to do some cool stuff and occasionally learn some details by mimicry, then fine; do the learn by public domain method.

If you wish to become part of a team or do some individual ground breaking work in the world of programming, then you should consider getting formal training; and I would suggest a degree program. I would suggest a degree program because college makes you study a number of subjects, not all exactly programming focused, but focused towards the total picture of their impression of a software developer; you also do this over a range of years which I feel is important as well because it brings experience along with the formal instruction.

There are plenty of short workshops, training classes, and so forth. I'm not too sure that they are the best choice. One category of them which are probably the worst for a new learner, but may be fine for experienced people are workshops for focused items in the industry. Workshops sponsored by companies, mainly to highlight their technologies. Therefore the expectations are that those attending are already programmers and they're here to learn highly specific techniques, and also learn about that stuff on specific systems, conveniently provided by the sponsoring company. The other category are things like certification training or short classes each of which you'd pay for. One, they're expensive - so is college. Two, they're typically one-of's. Meaning they're "a" class about one thing. They may teach it to you pretty well actually. But you really can benefit by more formalized instruction; hence why a degree program has about 40 courses over a 4 year period.

It would seem dismissive, but basically however good you seem to be at talking the talk; if you didn't take the time, or put in the effort to get a degree; why should I hire you to work alongside me? Why should I trust you to accomplish projects which are critical to our company's success? It says something about an individual, enough so that (1) sometimes the team has difficulty working with that person because their knowledge base is lacking, they are limited in intellectual background and they fall behind; and (2) the hiring manager would be hard pressed to get that person hired at all, let alone justify a position level and/or salary amount. It's not a complete door slam, but it's a pretty big brake applied for that person versus another person with a degree and similar experience.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Good C++ book for programmer? Hewson Programming 9 11-26-2008 10:10 AM
Natural Born Programmer PinkDown LinuxQuestions.org Member Intro 22 11-09-2007 05:38 AM
How to become a good programmer ... shamilson Programming 29 08-14-2006 12:02 AM
How to become a good linux socket programmer? david4 Programming 7 07-22-2004 08:27 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 06:35 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration