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[^]
Communication skills have nothing to do with programming. It is about how you give information to otheres and how you receive information from them. Training in communication skills is a fairly specific subject and you should research courses available in your local area.
Very poor communication skils also puts you in difficult situation. But it is not true always. One must be good at both communication as well s technical skills.
Yes, especially as you are into requirements gathering then you must have to understand their business perspective. Especially when you speak with foreign clients, you must able to understand their accent and also business terms.
Try to read more articles on requirement gathering or else read about requirements of specific product what you are dealing now. This is atleast give you a rough idea of what needs to be done and also helps you to get a quick idea if clients speaks any of the words that you read.
And don't worry much about it. Its just a part of work life
I'm in a very unfortunate situation, and I'm hoping to hear some concrete advice to help me choose a direction for my programming career. Here's a summary of where I am in life: I just finished a Computer Science degree at a small college in my small hometown. My parents were very unsuccessful in life, and can't offer me real-world advice besides "Get any job you can!" I managed to graduate without retaining much information, and I completely failed to prepare for my life ahead. Now that I'm out of school, I can clearly see how unprepared I am for working with people in a corporate environment. I'm also very reluctant to move somewhere else to find work because 1) I basically already own my own small dream home in a decent neighborhood, and 2) my mother is getting old and won't be able to support herself much longer. She doesn't have any retirement savings, and I'm the only one left in her life to support her.
So, now I'm trying to grow up real fast and make some responsible decisions. I feel like my only hope is to find a way to make money remotely online. I would love to do freelance work, but I can't afford to travel to meet with clients, and I'm afraid I won't understand the projects I'm lucky enough to get.
Alternatively, I'm considering developing my own software/apps and marketing them myself. I'm creative enough to design novel and useful software, and I'm not afraid to handle the marketing and business aspects, but I don't know what "running a business" really involves.
I want to make it clear that I'm not looking for an easy way out. And I don't need to make loads of money to maintain my lifestyle. We've been supporting ourselves on minimum wage income for years. I'm just looking for a feasible plan to support a modest life without risking poverty.
I would welcome any realistic ideas/perspectives about my situation, or a better website to post my questions.
after reading your story, I understood that you need a job near by your home town or else you want to do a freelancing job.
Well, let me explain you one thing here as you said, you are just a graduate passed out. Freelancing on your own is a little difficult. Freelancing is the thing that people will do who has got a good experience.
I am not going to discourage you in this point. I am telling what a freelancing is. Even if you said to some one that you want to do freelancing, the first question that comes from them is "How many years of IT experience do you have?"
So trying for a own freelancing is really a tough at this point of time. rather I suggest you can go work under some one who does freelancing.
I wanted to know - Where do you stay? Why can't you go for a job search as you are fresher - No one is going to ask you to write a program on how a nuclear reactor works?
My real suggestion is go and search a good job - once you got a good job you can bring your mom to your living place.
Yes, I would agree you have own a good home. But people who works need to travel from one place to another place.
The scenario works for an experienced freelancer as they will have a lot of projects in hand and they can work from home (in their own decent home).
But as you are a fresher and I think you opinion on living in your village and asking that you wanted to do or wanted to achieve seems to be not a right track that your are in actually.
There are many freelancing sites available in internet. Just do a simple google search - freelancing websites list. That's it you will find a hundred's of pages giving a list of freelancing web sites.
many many are there... only thing we must have enough knowledge on how to bid on projects and how to mange the projects once it is assigned. Might be delivering the projects in right time or some other key factors.
Hey i'm sorry to hear about your current situation. Have you tried http://en.yeeply.com/? It's a freelance website that allows you pick and chose what projects you want to work on (can make a free acount) so it's good if you've not got much money
I'm a recruiter for a global translation company and have some tough positions to fill. Recent applicants have been under-qualified. I'm proactively looking for people and sourcing resumes. Besides the traditional craigslist, indeed, monster, dice, etc - what other sites are popular for the tech community to look on when looking for a new job? I like strong tech community sites like stackoverflow, for example, because the people who frequent those sites are usually constant learners vs posting on craigslist and having a less passionate candidate apply.
To get an idea of our needs, example of positions are "localization engineering manager", "OneLink Website Engineer", "IT Server Engineer", ".NET Developer", "Application Developer", "Junior Software Developer"
What would your advise be on perusing a form of agile certification at this point? My main points of concern are whether the knowledge base and methodology has matured enough for the courses to provide value, whether the market has developed an appreciation for certified agile professionals (ROI)?
Naturally if you motivate for certification it would also be nice to know which body you can vouch for.
The only reason to go for certification in any subject is to help you progress in your career. The first thing you need to research is how many businesses are asking for this qualification in their job requirements.
So you have a certificate as an "Agile ..." - how much work experience do you then have with this or that technique / role in an Agile Team?
Depends on the employer: some might prefer certificates over experience, others might do it the other way round (and I'd prefer the latter style!).
Some certificates may provide a different kind of value: they make sure that people of different teams use the same "language", i.e. they certifiy that you understand a set of technical terms in a defined way. That's important when some work is sourced out to different companies.
After working 10+ years at one company, I'm considering changing jobs. Mainly due to the endless re-orgs at my present company. After working at one company for so long, I'm not totally sure what to expect from an employer.
I've been applying mostly to Fortune 500 companies. The one that's come off as the most professional so far had one downside. They don't give local admin rights to the developers. I won't mention the name, but this is a financial services company. Other than that, everything sounds good so far. Good pay, advancement potential, 40 hour work week, bright co-workers, profitable business model ( for the division I'll be working at least) etc.
What is your experience? Have you worked for a company that doesn't give admin rights to developers? I do have that now & I work for another Fortune 500 company, but like I said, the unstable environment is wearing me out. Have you encountered any other major bureaucratic hassles that you tolerated? Or left because of?
FYI, I've definitely considered that I'd be happier at a smaller company, but I'd like to try one more large company a shot before I do that.
If you really need local admin rights as a developer or not, depends on the software you have to develop. With COM controls or Windows Services, that would be a PITA, but with .Net / Java desktop applications, I do not see a problem.
How "bureaucratic" is their software development process? How many papers have to be signed off before you can check-in a bug fix - none or many? The daily bureaucracy is far more important than local admin rights. But bureaucracy can be found in companies of any size, and also big companies can have modern development processes.
By the way, I know a company which insists on encrypted hard disks, causing the start of the computer to be terribly slow, and of course all later hard disk accesses...
Have you worked for a company that doesn't give admin rights to developers?
I have worked for several financial corporations and they only gave admin rights to developers.
Have you encountered any other major bureaucratic hassles that you tolerated?
Requiring business casual every day.
Requiring that the 'group' justify themselves every 3 months in front of a review board. Failure could mean layoffs.
I can tell how I treat the first one now, I raise my salary requirements. If they want to pay me more money to show up in other clothes then I will do it.
There can be advantages to some companies. For example at one the company policy was that developers only worked 37.5 hours a week (5 x 8 hour work days with .5 allocated for lunch.) I worked more but there wasn't any discrimination for working that and no pressure to work vast number of hours and you will see that in smaller companies almost universally.
It depends on your confidence level.
Without local admin, every time you hit a blocker due to security restrictions you'll have to wait x days before you can continue that work stream. So long as the company pays you for that time, what do you care?
I am currently working for Winbooks, a Belgium company in Vietnam. The company has its own Framework base on .NET Framework. We make Web application. The idea about the Framework is that HTTP Response to client will be converted and render by Adobe Flash but not a logical ASP page.
This is the first time I work with this kind of Framework.
At the first glance, i see it's very convenience because I do not have to worry about the CSS , HTML , AJAX , JQUERY , MVC, Postback or everything like that in a traditional web application. So, I have no chance to put myself into these programming technique fields.
I am kind of a 1 year experience programmer and I always keep my head for improving my skills. Should I continue to work or back to traditional company where I have chance to work with what I used to?
so i got a job as a web developer recently, and is given a web project, this is my first job as a web developer. the client is a cosmetic company, they want me to create a web whose main objective is for data gathering? so basically, it's some kind of informative + community like web, where they gives out info like news and tips on cosmetic, the main purpose of the web is the community system, they want to implement a forum like system, where user can post tips and comment on those tips.
The problem is, originally, the company wants, that to comment or post tips user must have a facebook (facebook is REALLY popular in my country) account. but my employer, suggest them to add a member system too. So what i am confused is i've never seen a web before where user can comment eihter with facebook or with their own comment system(with member login).
so what do you guys think about this? should i tell my employer to change the system back to original? or is there a way to do the problem i have? or are there any other suggestions?
There are lots of systems that allow you to use other systems (such as facebook or twitter) to authenticate so that they can post a comment. One option is to have a users table in your database where you store all your users and then a column in the table to store what type of user it is, i.e. facebook, twitter, google, your own member, etc.
When they want to login you'll need a separate link or a dropdown for them to select how they want to authenticate (facebook, etc).
Based on what you describe here you really just need to support multiple types of users by adding a flag to your user table and then also by providing the various login options.
There are only 10 types of people in the world, those who understand binary and those who don't.
Thanks for the reply. Another question, what about the comment box? for example facebook API comment box have those like,reply, and other stuff in it. how can i make a user who logs in as a normal member can reply those who uses facebook (if i use fb comment box), does this means i must modify facebook API? or should i just not use fb comment box, but my own comment box for all user.
I guess it depends on what you want to do. If you want to actually post to facebook then you'll need to use their api. If you just want a comment box that looks like facebook you just need to write all of the code yourself.
There are only 10 types of people in the world, those who understand binary and those who don't.
Just tell them what you are doing, how you are doing it, and why you are doing it. There is no 'right' answer to such a question, your boss probably just wants to get feedback from you, so he or she can decide whether that would help other people.
Tell them as they are after finding out simply how you are approaching the problem.
They may suggest an alternative approach to use but they should also explain why this is more suited that the current approach that you are using. If they don't explain why, I personally would ask why this is better purely as a learning exercise.
Every day, thousands of innocent plants are killed by vegetarians.
I have faced several kind of such situation. When my manager gave me a task, i used to write it down on a piece of paper. I divided the task into following sections:
1> Requirement(As given by the manager)
2> Pre-Requisites( Things required to complete the task)
3> Architecture of the task(In brief, at least on paper, detailing to be done while documenting it)
When he used to walk up to me and ask me, i used to show him the paper. He used to look at it, modify it, give it to me and used to say : "Make these changes and then show me, once you finalize just document it and start coding".
Due to this there was no misleading, less talking more and precise working. Eventually we become meticulous in our work.
See, when you listen to any requirement, your brain might not understand at the first go. But when you start writing you will actually understand what your manager asks you to do. Most importantly you will have something to show.
Statements like "Sir, i was thinking that....." or "Sir, may be we could......"
Such statements are misleading and annoying, you may have a brilliant approach, but does not get reflected completely if you dont write it down, because the brain tends to forget what you thought an hour ago.
Best way, write it down and show it to your manager. Always carry a notepad. I consider myself a waiter who is just waiting for orders in a restaurant
Recent days, I have big confusion with learning another new language for recent project. I already know C# and Ruby in addition with I am learning JAVA and Data structures & Algorithms. But, now I am being assigned to learn PHP for new project in my company. Seriously, I don't know the management thought about my carrier. My question is.. is my company good to work? Is it worth to learn another language which is called as PHP? will I face any problem while attending job interview?(periodically, I am shifting from one language to another) Thanks --SJ
Is it worth to learn another language which is called as PHP?
It certainly can't hurt to learn another language, especially one that is as popular as PHP. A good IDE can really help. I tried a few until settling on Komodo. Additionally, PHP has been around for a long time, so there is an abundance of PHP documentation, examples, and open source projects to help you. Really, it's just another ugly looking scripting language. Good luck with it!
Learning a new language shouldn't be a problem. Specially it's from the same family of C...
After you will learn a few languages, you will learn that language isn't rally matter in development, as it's only a tool of implementation of ideas...
I can't see how the proven knowledge of an other programming language can hurt your chances in a job interview...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
More important that the languages are the frameworks behind them. While having a basic knowledge of the syntax of many languages is a "plus", a profound professional knowledge of one framework is a "must".