My boss asked me to give an interactive training to our developers
Requierement / ideas:
Total time about 1 hrs / 1h30
The team is about 12 developers (all level)
The goal is to help improve something and make the team better
The topic is not clearly fixed but my Idea might be something about "clean code" as we have lots of maintenance code that most of the time didn't tell the intent so just helping that might give a huge gain.
I could imagine:
- Asking to write a small program (or faster to complete missing part of a project) with cases that often lead to bad code. (like unreadable bool expression, use/reuse of temp variable ...)
This might be in team of 2 person if they wish
The goal of this exercises might not be disclosed so they will more focus on the result than the maintenance side
- Then in the meeting room we could review the samples and discuss about it
- I would have a sample ready (if stress goes to high) but i might try doing some refactoring live just to make things better.
Have you ever experimented this kind of exercise?
Any better Idea or some resource to get more idea?
Have you an idea of a sample to ask? I feel that something like FizzBuzz will be to much complicated for most of the audience (they aren't algorithm kind but mostly client/server and data entry form. I prefer not going to deep in OO either)
1) If you feel, you can tell them before the training to think of an idea.
- Realize that idea into an algorithm. In the training you can discuss the algorithm.
In fact you can hold one more session to discuss the coding part of it(Filter out the people whose idea is innovative).
- This way, may be some of them can even come up with a patent of their own.
- Development includes innovation as well.
2) Or, an interactive session could be some thing like giving them a complex piece of code in the training and telling them to give their thoughts on it.
- Thoughts could be code optimization
- Impending/Current bugs in the code
3) A reverse of the point 2 could be fruitful as well, i.e. telling them to find out a code full of bugs.
- You can have a "lessons learned" session to not write such a code (Which we very frequently have ).
I would also suggest to not give this task in pairs in the beginning, this would help every one to speed up as soon as possible.
It could also happen that the first session might not fruitful, but consecutive sessions will work fine. Once you gain the momentum, you can keep this session once a week.
Hello all: I have a friend interested in learning coding and she found www.freecodecamp.com and www.courseforward.com. I know nothing about the sites and was wondering if they are legit, have anything to teach, and could help a complete beginner.
...was wondering if they are legit, have anything to teach, and could help a complete beginner.
How could anyone other than your friend possibly answer that? What helps one person may not necessarily help another. Training is an individual thing. If she goes through the training and is then able to solve a problem via code, then the training was likely beneficial.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
1) Pick a language that's both easy and available
2) Get someone to show you a few basic commands (Hello world type stuff)
3) Get a reference
4) Think of something fun and simple you want to make
5) Figure out how to make it using reference material
6) Goto #4.
Granted... I did this back in 1984 in Atari Basic... I'm sure there are better ways now... But hey, the above list worked for a four-year-old...
The only thing i see those sites offering in return, at the most; is a reference to say that you've been there. I'd go with the majority of people here and agree, to spend productive time in a good programming book. Which would be time better spent!
I've recently been promoted to Director of IT, and have the responsibility of creating a bonus plan for my employees. The company owner has laid out some criteria:
* Bonuses are only paid out in months when the company is profitable
* Bonuses should be based on an objective measurement and not on subjective perceptions
* The measurement should be based on the employee's individual performance
But I'm stuck because I can't quite figure out the objectives by which to measure my (so far) sole employee.
I don't want to base it on the number of bugs fixed, because that means the bonus will decline as the products (two websites) improve, and it will also decline if bugs go undiscovered (and therefore, unfixed).
I don't want to base it on the number of paying subscribers because this particular employee's work is mostly unrelated, or only peripherally related, to the subscriber count.
Basing it on the number of programming tasks completed is problematic because that can be subjective, dependent on how one defines "complete". The owner doesn't like subjective.
How do you measure programmer performance? What criteria do you use in your work to determine bonuses?
You mean "average" performance. Well, there's no agreement on that one yet, but most of us agree that measuring LOC/day isn't a very valuable metric.
I'd recommend it though if I was on your team; copy/pasting a lot of comments would surely get me that bonus
See, there's the problem with metrics - if you start taking things like the amount of bugs solved, you'll get a lot of bugs solved, just not the ones that the customer really needs. People will game the system.
I've seen lot of experienced developers bite on hard stuff with little progress. I've also seen people who were merely "faking it". It may take a while for an outsider to distinguish both.
I also do not see how a bonus makes programmers write better stuff. Training does that.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]