Any programmers here...?

A lot of developers to let the code do the talking.. if you *need* comments, your code could be better.

Not really because you don't know who will have to look at it down the line and what you think is obvious may not be. Commercial code is going to get changed at some point generally and often by someone else so a good developer will ensure a decent amount of comments.
 
Your code would never get past QA stage if you did that here. Of course before we had the QA stage....

That sort of QA stage isn't common through, at least looking at the companies I've worked for.
I kind of agree that you shouldn't really need comments to tell you what code does, if you have something that's too complicated to understand reasonably quickly then it can probably be refactored.

Comments should be used to tell you why code is doing a particular thing though.
 
Not really because you don't know who will have to look at it down the line and what you think is obvious may not be. Commercial code is going to get changed at some point generally and often by someone else so a good developer will ensure a decent amount of comments.

Not so. I am both a commercial and open source developer. Developers would much rather see self explanatory code than a comment fest. Especially so when there are tests/specs, as these will document the code far better than any comment could.

Usually if a comment is absolutely essential, it's because you have nondescriptive function/method/variable/class names, or you are doing too much in one place. Factor your code into smaller pieces with descriptive naming and comments become non-essential.
 
Last edited:
Your unit tests should form the basis of code-level documentation. Acceptance tests form system-level documentation.

Only comment your code if it isn't obvious how something works.

Teaching yourself is fine, but spend the time to learn about things like Test Driven Development, Unit Testing, agile practices etc.
 
Also a developer (well I was, now doing infrastructure) and I think we will probably have to agree to disagree.
 
generally 2 yrs is the equivalent of a junior programmer, its not really a hard and fast rule that you have to have 2 years exp, companies don't really want to take on a novice and train them in the basics of development, you won't be expected to know everything.

There is usually always a technical test,to check that you at least know something about a particular language.

You got nothing really to lose thanby sending in your cv with a good cover letter.
 
Usually, in my experience, code with lots of comments NEEDS the comments because the code is so goddamn awful.

The unit tests for a piece of code will tell you its expected behaviour. And if it hasn't got a unit test then I tend to throw a hissy fit.
 
For the OP; what code are you comparing yours against to judge how good it is? Paste some examples here and I'm sure you'll find some people to pass critical comment on it.

:)
 
For the OP; what code are you comparing yours against to judge how good it is? Paste some examples here and I'm sure you'll find some people to pass critical comment on it.

:)

Well you tell me how advanced you should be, OO programming fine, the ideas of Inheritance and Encapsulation are supposed to be advanced programming but are more of a philosphy or a structuring never-the-less i think i understand them fine....

Writing classes / dll's, activex, database apps, desktop apps is in VB.NET / C# is about as advanced i would get in these languages.

What exactly would you be programming, would you be bug testing, sifting through 100's of lines of code looking for errors or would you be writing desktop app's from scratch?

Would you be expected to do any low level programming, although you can't exactly go low level in .NET.....

I mean i could clone Mircosoft word in VB.NET, might take a while but... i could write a virus scanner in VB.NET. I could write a MSN messenger clone network type of app....

Pretty much anything desktop is that is doable in .NET i could do, i would need to refer to documention a bit though ...
 
Interfaces?
Design patterns?
Test-driven design?
Domain driven design?

OO concepts such as inheritance, encapsulation, polymorphism, etc are not advanced concepts, they are the basic building blocks upon which everything else depends.

Writing software isn't about your ability to get things working, it's doing it so that it is 'able' - flexable, maintainable, etcable

Get some code you've written and run some code metrics on it and you'll soon see what could be improved.
 
I was in exactly the same boat, no commericial experience, only self taught and open source. I applied, had a telephone interview with questions like "Describe what an interface is" "What is encapsulation?" "Can you tell me what benefits using a class hierarchy has?" then an interview with 10 minutes of discussing my previous employment and why I want to move to development, 10 minutes of questions (I had to draw object relations and class diagrams - not UML but human readable) about half hour on the application of design patterns, agile development, working in team development, and then 3 hours of my personal interests.

But in short, apply for the damn jobs already.
 
Interfaces?
Design patterns?
Test-driven design?
Domain driven design?

OO concepts such as inheritance, encapsulation, polymorphism, etc are not advanced concepts, they are the basic building blocks upon which everything else depends.

Writing software isn't about your ability to get things working, it's doing it so that it is 'able' - flexable, maintainable, etcable

Get some code you've written and run some code metrics on it and you'll soon see what could be improved.
*firm handshakes*

I hate it when people consider just writing code to be advanced. Well, hate is too strong a word. Pet-hate maybe.
 
I was in exactly the same boat, no commericial experience, only self taught and open source. I applied, had a telephone interview with questions like "Describe what an interface is" "What is encapsulation?" "Can you tell me what benefits using a class hierarchy has?" then an interview with 10 minutes of discussing my previous employment and why I want to move to development, 10 minutes of questions (I had to draw object relations and class diagrams - not UML but human readable) about half hour on the application of design patterns, agile development, working in team development, and then 3 hours of my personal interests.

But in short, apply for the damn jobs already.

3 hours on personal interests...?

How does that work, you basically tell them your life story....?
 
Should i put on my CV that i have been an amatuer prorgammer for about 3 years and i daily answer questions on a certain programming forum....or is this a bit naff?

Take this job for example, this looks ok to me, part of it is that they want their VB6 code ported to VB.NET, which would be an ideal job, just plough away at it, and you could do some at home as well...... Would they say to yuo , "ok here are 1000's lines of VB6 go and chaneg that to VB.NET" ?

Or would you have to sit down in a team for hours on end discussing what would be the best aproach to go about it etc etc, flow charts, system diagrams, OO, TTD...

It says experience with VB6, not commerical which i have...

What worries me though is that i may not fit into the team system, i tend to be quite independent and work best when i have the freedom to do what i think is best....

Our client is looking for a Degree qualified VB Programmer with a focus on PC applications running on Microsoft Windows operating systems. They offer an excellent opportunity for a person with a good qualification plus some previous experience to progress into a dynamic and exciting environment.

Tasks
Maintain and continue to grow existing software products currently written in Visual Basic 6
Migration of existing, and development of new, software products using other languages, C++, VB.NET, C# and application frameworks.
Work with the existing PC programmer to take over support for all existing code
Develop new applications on a variety of Windows platforms
Work under and in close co-operation with senior programmer whose focus is Embedded software
Assist in the design of new user interfaces, protocols and architectures across whole range of products
Work with third-party software programmers to ensure integration

Experience
Degree or HND in Software or Electronics (or related subject)
Experience programming with VB6 or VB.NET
Knowledge of Embedded systems
Experience of innovating ideas for GUIs (Graphical User Interfaces)
Experience with Programmable Logic Controller (PLC) programming
 
Other than it's a VB programmers job (:p) go for it. And yes, put down that you have had a "personal interest in programming", and "are/have been participating and contributing to open source projects for the past 3 years and counting" ;)
 
Back
Top Bottom