If you haven’t read the first two parts of this series, “Introduction” and “Hiring“, I’d suggest starting there.
The first day for a new hire is a busy day of orientation. The goal is to get them set up and comfortable with all of our systems, policies, and processes.
First, they get reintroduced to the whole team and educated on everyone’s roles. They learn who to talk to for specific issues, and who will be guiding them through their training.
They start with the administrative side of things. They sit down with our office manager to sign their employment contract (which they receive in advance so we can answer any questions), fill out forms, talk about payroll, benefits, employment policies (lateness, time off, overtime, external work), and general office polices. We put a lot of emphasis on the core clauses of their employment contract surrounding NDA and IP considerations.
Next, they get set up on all of our systems, and receive training on each. This includes:
- Our network, dev PCs, and connected devices.
- Software, what’s available, how to request serial numbers, etc.
- Our email system, webmail, and signatures.
- Instant messaging.
- Basecamp, project tracking, and writeboards.
- Subversion, checking out / in, branching, creating projects, etc.
- Tracking time, and why it’s so important.
Next we walk them through all of our processes. We outline the full training program they will be going through, including informing them of the internal project they will be building (part 5 of this series). We give them a high-level introduction to our process for delivering projects and doing quality assurance. QA receives a lot of emphasis – what are the processes for testing, identifying bugs, resolving issues, and communicating status back to the project manager. We also talk a bit about our policies for using open source libraries in client projects (ie. usually only MIT licensed or equivalent and only with prior client permission).
Finally we remind them of their NDA, and introduce them to all of the current projects we’re working on. This can be a quick overview, or a more in-depth dive into each project depending on the time available.
Before the end of the day, they are asked to enter all of their time into our time tracking system, and are expected to keep this up to date going forward.
The next article in this series, “Training“, is up.
Grant, thank you for always posting great and enlightning posts! If possible, could you elaborate a bit on the bullet point “Tracking time, and why it’s so important”? What arguments do you use to underline it’s importance? We always remind our devs to track their time, but sometimes they slip so it would be good with some new arguments. Thanks!
Hi Grant, what time tracking software do you use?
Johanp – We encourage honest time tracking in order to ensure accurate billing on current projects, to let us (and the developer) refine the estimation process, and to help the developer manage their time against individual tasks more efficiently. We stress that it is not used to evaluate their performance, so there’s no real benefit to them to fudge the numbers.
It helps that we have an experienced dev & management team, so we are able to evaluate productivity without pulling out time sheets.
Having bonuses based on profit sharing also helps, because honest time tracking helps increase our efficiency and estimates, which is good for profits.
Tim – we have our own internal tool, which allows us to track time against pre-assigned tasks, and run reports based on client, project, date range, or developer. However, we’ve been looking for a good, team-oriented solution to replace ours, simply so we don’t have to do maintenance on ours.
I don’t know if this the best moment or to wait for the next article but can you put a example of a “first time project” for a fresh hire.
The performance, quality assurance and develop time is a big part of a project cost has we know, do you judge and apply the same rules to everyone even new hires?
How do you deal with not so expected first results? how much time you “give away” in this circumstances?
Wow. I’m just stunned that you actually tell your employees what’s going on. We kind of get the Mark Wahlberg “treat em like mushrooms” routine in the graphics shop I work in. You guys must get so much accomplished because everyone isn’t micromanaged to within an inch of their lives.
But really, if I ever get the opportunity, I already know what kind of boss I don’t want to be. This actually gives me an idea of the kind of boss I’d want to be. Thanks so much.
Our process is quite similar, regarding NDA – thats something we keep talking once in a while.
It’s important to make everyone realize, why those things are important. So sometimes, there are people (outsiders) who know the art of getting information out 🙂
Having worked with product companies (Macromedia, etc.) – I have faced such situation, where community and journalist would try smart ways to get information out…
Regarding FOSS licenses, education for that is must for any company. Often developers assume they can use the code (snippet or libraries), but it’s important to discuss or in worst case keep a list of all such code-usage, so things can be sorted out later on, if not sooner.
Looking forward to next posts, I am more curious about training process 🙂
We use OrangeHRM for managing all HRM related stuff. It’s open-source, so I have done some customization to include payroll stuff in it.
BTW! It has time-tracking/attendance/leave stuff. It’s good way to go paper-less, quite handy.
I must warn you, it’s buggy, but you can fix it, if you know php and have time.
@Steve: Micro-management doesn’t work, not at all in small companies.
Provide information, tools and everything to your team so they can perform their best. Building a culture takes time, as a leader our role is to make sure we follow things consistently, eventually, those things become culture.
Importantly, every team member should know how to play the game (i.e. business) and know the rules.
Check out this video/presentation by Bhavin of Directi (one of the fastest growing companies):
How would you feel if a new hire wanted to use their own system (computer) because how much better it was than the provided computer.
Example, I am hired at a new place that provided a p4 PC and 2 some what low res and seperate aspect ratio monitors, windows xp. I had my core 2 duo laptop with a sdd and windows 7 with me and in a few days brought in 2 1080p 23 inch monitors that I had extra from an older job and basically set up my workspace around that. They didn’t have a problem but I alwasy wonder what they really think.
(also I have some mac related projects where I use my own macbook as well)