|
-
Jul 4th, 2006, 11:52 AM
#1
Thread Starter
Member
Definition of professional programmer
Someone told me that the quality of a programmer is also quantificable by the number of lines of code he's able to write in a year.
Apparently, a professional programmer would write around 15'000 lines of code / year, while an average programmer around 7'000-8'000 /year.
Would you feel to agree with this definition?
-
Jul 4th, 2006, 12:18 PM
#2
Re: Definition of professional programmer
No.
TLOC is a measure of keyboard wear and nothing else.
-
Jul 4th, 2006, 03:12 PM
#3
Re: Definition of professional programmer
I agree with Merrion for a variety of reasons, such as:
- an experienced programmer will use less code to do exactly the same thing.
- depending on team structure etc, writing code may not be all that a programmer does - many will also design the program, and get requirements etc.
- some code is naturally more complex to write than other code, so will take much longer to write - and the chances are that the more experienced coder will be writing it.
- ...
(oh, and the numbers are out - I have in the past written over 100000 lines of code in a year!)
-
Jul 4th, 2006, 04:13 PM
#4
Re: Definition of professional programmer
 Originally Posted by si_the_geek
(oh, and the numbers are out - I have in the past written over 100000 lines of code in a year!)[/i]
After 1 year of progaramming I made a game that had 65000 lines of code in 3-4months. But it could not compare to the FPS game I made in OpenGL a few years later even if it was just 5000 lines of code. So I guess I have to agree with you there.
- ØØ -
-
Jul 4th, 2006, 04:31 PM
#5
Re: Definition of professional programmer
Although I do not agree with the original post, I can understand where this logic does make some sense.
From my point of view - after 25+ years of programming - a coder truly knows certain algorithms, constructs and techniques that allow for development of a program to be extremely fast.
Even the silly stuff like how to input and validate a value - a novice programmer will have to think about best practice before putting a couple of dozen lines of code into place. A talented and experienced (I'm not sure I want to debate which is more important!) coder will know that logic intuitively and get it in place with very little time and effort.
-
Jul 4th, 2006, 04:48 PM
#6
Re: Definition of professional programmer
 Originally Posted by Nexus7
Someone told me that the quality of a programmer is also quantificable by the number of lines of code he's able to write in a year.
Apparently, a professional programmer would write around 15'000 lines of code / year, while an average programmer around 7'000-8'000 /year.
Would you feel to agree with this definition?
That's the most rediculous definition anyone can ever come up with...
You can write something in 10+ lines and only 1 (one), you can write 1 (one) program in the entire year with far less lines of code that would be as complicated as it may get.
If there is any definition at all then a true professional (not only programmer) is someone who is dedicated to his/her profession and shows lot of respect to everyone he/she works with (and for).
-
Jul 4th, 2006, 06:30 PM
#7
Fanatic Member
Re: Definition of professional programmer
Too bad it doesn't go both ways. You can be a good programmer dedicated to the profession but the profession won't be dedicated to you, as evidenced by the many experienced programmers who have been forced to leave the field.
Robert
-
Jul 5th, 2006, 01:41 AM
#8
Thread Starter
Member
Re: Definition of professional programmer
 Originally Posted by RhinoBull
That's the most rediculous definition anyone can ever come up with...
You can write something in 10+ lines and only 1 (one), you can write 1 (one) program in the entire year with far less lines of code that would be as complicated as it may get.
If there is any definition at all then a true professional (not only programmer) is someone who is dedicated to his/her profession and shows lot of respect to everyone he/she works with (and for).
I am asking this because the guy who told me that is an experienced programmer, and the tendency to classify a programmer by the quantity of code he writes in a certain amount of time seems to be diffused here... at least between the amateurs... the numbers sounded ridicolous to me as it would mean around 50 lines/day, witch is really not much.
I would like to ear more about your personal definition of professional (or skilled) programmer... I know that time is a very important factor for a professionist...
-
Jul 5th, 2006, 02:07 AM
#9
Re: Definition of professional programmer
AFAIK LOC was used in legacy days (good old mainframe programs) to measure the productivity of programmers. Since the advent OOP and other tools/technologies it is becoming more and more complex to identify the quantifiable items that can be used to measure the productivity of a programmer.
To me it all depends, a person writing 1000 lines of code in a month with improper design and lack of flexibility is worse than a programmer writing 100 lines of code with proper design and good flexibility.
Ever wondered how difficult it is becoming to estimate the software development projects. Same reasons will apply in identifying the productivity of a programmers too.
Use [code] source code here[/code] tags when you post source code.
My Articles
-
Jul 5th, 2006, 03:20 AM
#10
Re: Definition of professional programmer
 Originally Posted by Nexus7
I am asking this because the guy who told me that is an experienced programmer, and the tendency to classify a programmer by the quantity of code he writes in a certain amount of time seems to be diffused here... at least between the amateurs... the numbers sounded ridicolous to me as it would mean around 50 lines/day, witch is really not much.
I would like to ear more about your personal definition of professional (or skilled) programmer... I know that time is a very important factor for a professionist...
The guy who told you that, then, is not an experienced programmer. Just someone with a job.
A professional programmer doesn't just code well. She can design and understand design, and knows how the components of a project need to be written to meet requirements. It's not always about lines of code.
-
Jul 5th, 2006, 04:45 AM
#11
Re: Definition of professional programmer
A professional works in the profession.
-
Jul 5th, 2006, 08:12 AM
#12
Re: Definition of professional programmer
 Originally Posted by Nexus7
... the numbers sounded ridicolous to me as it would mean around 50 lines/day, witch is really not much...
You're still missing a major point: "number of lines" are irrelevant.
Someone can be hired to ONLY support some programs that were written before his/her great arrival. Support quite often takes more effort and requires some knowellege in troubleshooting than if you'd required to write a brand new app... Does that make anyone from the support team not being "professional just because they didin't write a single line of code in the past few months" ??? Afraid exactly opposite - your professionalism does not and cannot be measured by any counts.
ps, tell your friend to come by so he will learn something...
-
Jul 5th, 2006, 09:51 AM
#13
Re: Definition of professional programmer
 Originally Posted by penagate
A professional works in the profession.
... and gets paid for that ...
-
Jul 5th, 2006, 09:54 AM
#14
Re: Definition of professional programmer
 Originally Posted by Shuja Ali
AFAIK LOC was used in legacy days (good old mainframe programs) to measure the productivity of programmers. ...
Productivity and professionalism are two completely different things.
btw, working among many COBOL programmers I've never heard of such "measure".
-
Jul 5th, 2006, 09:57 AM
#15
Re: Definition of professional programmer
 Originally Posted by RhinoBull
Productivity and professionalism are two completely different things.
btw, working among many COBOL programmers I've never heard of such "measure". 
I have also never seen this type of "measure" in all my mainframe days...
-
Jul 5th, 2006, 03:05 PM
#16
Re: Definition of professional programmer
I have always wondered about lines of code. If you are writing in ASM, this has a great deal of concrete meaning. However, if you are working in VB, or even C, there is a question of what to count. Surely you don't count the Next that gets appended when you type a For, nor should you count the {} of C. On the other hand, it would make a certain amount of sense to count comments, because without comments, all but the smallest programs become unsupportable. So how would you even count LOC these days? Depending on what I do and don't count, I could double the LOC of individual programs.
My definition of a professional programmer is sort of like my definition of a professional athlete: They get paid to do the job. However, unlike an amateur athlete, the sole reason amateur programmers write code is not just because of the beer they drink afterwords.
My usual boring signature: Nothing
 
-
Jul 8th, 2006, 02:46 AM
#17
Re: Definition of professional programmer
Hi,
In my experience (over 37 years in the business) Lines of Code was used in Software Engineering as a very rough guide to productivity. However, the measure was error free lines of code. It was a very generalised measure and about the only thing that could be measured.
Quoting http://ourworld.compuserve.com/homep...comp/fpfaq.htm
"There are many technical problems with the lines of code measure. Going back, almost every 'shop' was using a mixture of languages. Furthermore, most development projects then used a host of languages. How do you compare a project that delivers a 100,000 line mixture of C++, SQL and Visual Basic to one that delivers 100,000 lines of COBOL?
In addition, there is no standard definition of what a line of code is. Do blank lines count? Do comments count? Are data declarations included? What happens if a statement extends over several lines? Organisations, like the Software Engineering Institute, have published some guidelines in an attempt to standardize counting.
In the late 70's IBM developed Function Point analysis which is a measure of the size of computer applications from a functional point to view. It is independent of the computer language, development methodology, technology or capability of the project team used to develop the application.
Proponents of Function Point Analysis will claim it addresses:
Measure productivity -- Many executives have come to the conclusion that regardless of their core business, they are also in the software business. Calculating several variations on the function points produced per month theme tells them how well they are doing in this regard.
Estimate development and support -- Since the beginning, function points have been used as an estimating technique. Estimating is obviously necessary for the cost benefit analysis that justifies application development. Even for strategic projects that need no quantitative justification, accurate estimation is required for proper staffing.
Monitor outsourcing agreements -- Companies outsourcing significant parts of their IS requirements are concerned that the outsourcing entity deliver the level of support and productivity gains that they promise. Outsourcers, like CSC and IBM Global Services, frequently use function points to demonstrate compliance in these areas.
Drive IS related business decisions -- Companies must analyze their portfolios of applications and projects. The size in function points is an attribute that needs to be tracked for each application and project. Along with other data, this will allow decisions regarding the retaining, retiring and redesign of applications to be made.
Normalize other measures -- To put them in perspective, other measures frequently require the size in function points. For example, 100 delivered defects on a 100 function point system is not good news. The same 100 delivered defects on a 10,000 function point system are much easier to take."
Note that LOC and Function Points have nothing to do with a Programmer's professionality.
-
Jul 8th, 2006, 04:02 AM
#18
Re: Definition of professional programmer
 Originally Posted by szlamany
I have also never seen this type of "measure" in all my mainframe days...
LOC From wikipedia
Use [code] source code here[/code] tags when you post source code.
My Articles
-
Jul 8th, 2006, 08:24 AM
#19
Re: Definition of professional programmer
 Originally Posted by Shuja Ali
I realize what LOC is - I've just never seen it used in any shop or project that I've worked on.
As that link stated, for FORTRAN or ASSEMBLER, LOC might seem appropriate, but as DOOGLE stated when you start mixing T-SQL and 3GL languages of various types, LOC starts meaning less.
Our application is based on a light-weight front-end in VB (not 100,000 lines of code) that displays and manipulates T-SQL STORED PROCEDURE results. With that said we spend most of our time develop T-SQL where you can represent an entire update/loop operation in one ACTION QUERY - using proper SET BASED logic. What used to be a BASIC program where you opened a file, looped through records and conditionally processed them is now a single UPDATE - that's a big problem in the LOC-method of measuring productivity.
-
Jul 8th, 2006, 08:31 AM
#20
Re: Definition of professional programmer
Chill.. 
It was just intended for those who didn't know. And in my post I have mentioned that it was used in Good Old Days. Using it now in procedural and OO languages will be a big mistake.
Use [code] source code here[/code] tags when you post source code.
My Articles
-
Jul 8th, 2006, 03:25 PM
#21
Re: Definition of professional programmer
I also disagree with the initial point like other members have posted. As if you are a professional programmer then you get paid to write a program but the bottom line is productivity and just make it work in the sense that your project manager will not care at all how many lines you wrote or didnt write. All they care about is if you complete the job so it runs error free (within reason) and on time so the client is happy and satisified with your program. So if it takes you 50 lines to write a function easily and fast without getting complex to compact the lines of code then that would be considered better by the PM then writting 10 lines of code to do the same thing but took you longer to do it because of the complexity. If your good (which is another point) then you can obtain a balance of ease and complexity which relate to the number of lines of code and do it within time constraints that will make your project profitable and your boss want to keep you hired at least for another project as a professional programmer. Who wants a "professional programmer" that goes over budgets and takes forever to write a program that runs slow and is a be-otch to maintain and support? Rhetorical point being made.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Jul 9th, 2006, 05:20 AM
#22
Re: Definition of professional programmer
 Originally Posted by RobDog888
I also disagree with the initial point like other members have posted. As if you are a professional programmer then you get paid to write a program but the bottom line is productivity and just make it work in the sense that your project manager will not care at all how many lines you wrote or didnt write. All they care about is if you complete the job so it runs error free (within reason) and on time so the client is happy and satisified with your program. So if it takes you 50 lines to write a function easily and fast without getting complex to compact the lines of code then that would be considered better by the PM then writting 10 lines of code to do the same thing but took you longer to do it because of the complexity. If your good (which is another point) then you can obtain a balance of ease and complexity which relate to the number of lines of code and do it within time constraints that will make your project profitable and your boss want to keep you hired at least for another project as a professional programmer. Who wants a "professional programmer" that goes over budgets and takes forever to write a program that runs slow and is a be-otch to maintain and support? Rhetorical point being made.
Use [code] source code here[/code] tags when you post source code.
My Articles
-
Jul 13th, 2006, 02:59 PM
#23
Re: Definition of professional programmer
 Originally Posted by RobDog888
I also disagree with the initial point like other members have posted. As if you are a professional programmer then you get paid to write a program
That's generally the definition of "professional". An entry-level programmer who does it for a living is a professional programmer; someone who can write a complete GUI OS, but only does it as a hobby, is far and above the entry-level guy, but he's not a professional programmer.
The most difficult part of developing a program is understanding the problem.
The second most difficult part is deciding how you're going to solve the problem.
Actually writing the program (translating your solution into some computer language) is the easiest part.
Please indent your code and use [HIGHLIGHT="VB"] [/HIGHLIGHT] tags around it to make it easier to read.
Please Help Us To Save Ana
-
Jul 14th, 2006, 08:44 AM
#24
Thread Starter
Member
Re: Definition of professional programmer
 Originally Posted by Al42
That's generally the definition of "professional". An entry-level programmer who does it for a living is a professional programmer; someone who can write a complete GUI OS, but only does it as a hobby, is far and above the entry-level guy, but he's not a professional programmer.
That's all correct, I used the wrong adjective here, sorry... I meant to say "good" programmer.
Maybe one reason why I'm asking is this: so far I wrote less that 10 applications in VB, I am at the very beginning; while I'm getting better in speed and quality, I'm still making huge mistakes in extimating the amount of time needed to produce an application!
I.e. the last app I wrote, I expected to be able to finish it in around 1 month, but finished it in 5 days, while for another one, it's been the opposite... expected to be able to write it quickly but encountered some hurdes witch slowed me down a lot.
If a customer gives you a time limit and you're unable to stay in that limit, i know the consequences can be financially very bad. Is there any method that can help estimate the development time for a certain application or you get better at it trought experience?
-
Jul 14th, 2006, 08:52 AM
#25
Re: Definition of professional programmer
You get better at it through experience.
Always always always draw out every corner of everything you need before you write a single line of code. Afterwards, go through each step in that plan and identify the technologies you're going to need. If there's something you're not sure about (as in, you know "of" it but never done it), give yourself some time to research and read through it (not necessarily learn it, but just learn "about it"). It might be simple, it may be more difficult then you expected. This way, you atleast know beforehand.
After all this is done, go back through each step again and give yourself deadlines for each one. The customer/management are willing to listen to you and your expert opinion on what needs to be done and how long it could take. if you get ahead of schedule (finish a step early and it's tested), treat yourself to some time off. Don't burn yourself out on the next step. Some nights you're going to be crunching to meet your deadlines, some are going to go smoother. You really need to enjoy those smooth nights to help you through the "crunchers."
-
Jul 14th, 2006, 11:31 AM
#26
Re: Definition of professional programmer
 Originally Posted by Nexus7
That's all correct, I used the wrong adjective here, sorry... I meant to say "good" programmer.
A good programmer? That's someone who can write code that solves the problem or does the job. (Depending on your religious beliefs, that definition may change. )
The most difficult part of developing a program is understanding the problem.
The second most difficult part is deciding how you're going to solve the problem.
Actually writing the program (translating your solution into some computer language) is the easiest part.
Please indent your code and use [HIGHLIGHT="VB"] [/HIGHLIGHT] tags around it to make it easier to read.
Please Help Us To Save Ana
-
Jul 14th, 2006, 11:34 AM
#27
Re: Definition of professional programmer
 Originally Posted by sevenhalo
The customer/management are willing to listen to you and your expert opinion on what needs to be done and how long it could take.
It should only be that way all the time. Even most of the time.
if you get ahead of schedule (finish a step early and it's tested), treat yourself to some time off. Don't burn yourself out on the next step. Some nights you're going to be crunching to meet your deadlines, some are going to go smoother. You really need to enjoy those smooth nights to help you through the "crunchers."
I do it the other way - I try to get it finished early. Then I know I don't have any crunches ahead of me and I can really enjoy the time between "now" and the deadline.
The most difficult part of developing a program is understanding the problem.
The second most difficult part is deciding how you're going to solve the problem.
Actually writing the program (translating your solution into some computer language) is the easiest part.
Please indent your code and use [HIGHLIGHT="VB"] [/HIGHLIGHT] tags around it to make it easier to read.
Please Help Us To Save Ana
-
Jul 14th, 2006, 01:32 PM
#28
Thread Starter
Member
Re: Definition of professional programmer
 Originally Posted by Al42
A good programmer? That's someone who can write code that solves the problem or does the job. (Depending on your religious beliefs, that definition may change.  )
Well then I'm already a good programmer... didn't know LOL
-
Jul 14th, 2006, 01:40 PM
#29
Re: Definition of professional programmer
I do it the other way - I try to get it finished early. Then I know I don't have any crunches ahead of me and I can really enjoy the time between "now" and the deadline.
To each their own. I'm one of those people that as soon as I have a problem in my mind; I can't stop thinking about it until it's solved. If I don't stop myself at specific points, I have that possibility that the next step is going to consume me and keep me up at night (I have a 6'x3' whiteboard in my bedroom for this very reason. Chicks dig it).
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|