31 ms·
Things I was unprepared for as a lead developer
- codingdave 11y agoThat really sounds less like a lead dev role, and more of an actual management role.
- vellum 11y ago> They looked up to me for leadership and that also meant defining what was and what was not allowed. Of course, this is easy when somebody makes a remark that couldn’t pass or does wildly inappropriate acts such as coming in late and/or leaving very early. The hard part was when this coming late and going early was done for a good reason, such as a sick spouse or child. How is this the hard part? They have a valid excuse. If they work remotely or get their work done, it's not a problem.
- julian_t 11y agoQuite so. My youngest is now 24, but I remember those days. I remember thinking that "I thought the idea was that we work together to get this stuff done," and that if the company decided that its interests were more important that the health of my family, then we were going to part company before long. Now we have "work-life balance", which is a red flag to me, just like hotels putting "quality" in their name, in case you don't notice...
- sintaxi 11y agoAgreed. I don't even consider coming in late and leaving early inappropriate at all. The office is there to help you get your work done and communicate with others on the team. If you are able to accomplish that without being in the office 9-5 then that shouldn't be a problem to anyone.
- dangero 11y agoThis is a tangent but, as a father I've always felt the sick child/spouse excuses were dumb in the same way that smokers were allowed to take extra 15 minute breaks at one of my jobs. Shouldn't the presence or absence of a family be irrelevant to your employment rules?
- user_0001 11y agoCan depend on where you live. If you have moved to a new area for a job and have no friends or relatives within 6 hours. Your wife is struck down with a nasty illness and is barely able to get out of bed in order to get to the toilet and you have a chlid who needs taken care of / taken to nursery / school etc
- shanemhansen 11y agoLife doesn't actually stop when you clock in. I think it's reasonable from a business perspective to realize your resources don't work 100% for you 100% of the time. However, if the company really want to disallow people missing time here and there to deal with family, I really hope they'd never ever ever consider asking them to work before 9, after 5, or on the weekends no matter how high priority the business tasks are. I hope they're the kind of employer that turns off email at 5. For me, the time I take to deal with my personal responsibilities at work is more than balanced by the time I take to help my employers out outside the hours of 9 to 5.
- sokoloff 11y ago> I think it's reasonable from a business perspective to realize your resources don't work 100% for you 100% of the time. I also recommend barring the use of the word "resource" when you specifically mean "person". Capex, opex, machines, buildings, presses, are all resources. Allowing your leaders to talk about people as being "resources" biases them to think in a certain way (or at least risks that). It is unfortunate that in the phrase "human resources", "human" is an adjective... ;)
- perfTerm 11y ago
- dkokelley 11y agoUnfortunately there exists a messy side of company culture in which perception (by peers and management) impacts morale and performance. In a utopian company, all employees are judged purely on their productivity and have unilateral say in their working conditions. Unfortunately our world is filled with people and their pesky emotions. People get upset when they perceive unfair treatment, and things like "good reason" and "productivity" can be so subjective. This is a matter of nurturing a good team culture. Culture is hard.
- deleted 11y ago[deleted]
- dmitrygr 11y ago> does wildly inappropriate acts such as coming in late and/or leaving very early Man, am I glad I do not work on your team. If you judge coming in late or going early as inappropriate, as opposed to measuring actual results, then you have failed as a leader already. Sorry.
- grrowl 11y agoThere's appropriate and inappropriate types of this: worked till midnight, absolutely flag it and come in late; left early yesterday, rocked in after WIP today without notification, probably not okay.
- dmitrygr 11y agowhy? If i am still delivering what I must, and not missing any actual meetings, why do you care? Just the desire for the thrill of forcing your idea of what a workday is unto me?
- saryant 11y agoThe key difference seems to be communication.
- nitrogen 11y agoRight, strict punctuality for punctuality's sake alone is counterproductive. If you want results, measure results. If you want butts in chairs, measure that. But don't confuse the two. There are some highly talented developers with great interpersonal skills who just happen to have e.g. delayed sleep phase. They might leave "early" to have a normal evening with family or run errands, but then work more at night while they're awake with time to burn.
- geoelectric 11y agoThe compromise I've seen at many places is a set of core meeting hours, say from 10am to 4pm, where you're expected to be available for scheduled appts and expected to usually try to be around for unscheduled ones. Of course, that doesn't accommodate people with severe delayed phase or whatnot, but often that stuff can either be worked out either on a team-by-team basis or arranged as part of the hire. Or maybe you only enforce the "scheduled" part, and put a "24 hours in advance minimum" on it to keep things humane. The important thing is to get team expectations in place. What doesn't really work is "around whenever they feel like it," assuming there's any inter-team dependency at all. Even with an email SLA, that gets obstructive pretty quickly.
- unoti 11y agoProbably the biggest surprise I've seen in my career as a team lead is how often people ostensibly work with the team, but actually want to see the team fail. It sounds ridiculous, I know, but it actually happens quite often. Here are two quick examples where I see this happen often. Let's say you're a vendor deploying software at an organization, and one or more people that work at your client organization originally wanted to write their own solution for this software, and their bosses overrode their wishes, and now they're forced to help implement your software. You need to use those disenfranchised IT people as part of your team to do the implementation, but they'd like to see the project fail, because they told their manager they could do it better themselves. Other variations of this occur whenever someone doesn't get their way, and is forced to go implement things a different way -- now any delays that happen may demonstrate their sage wisdom in not wanting to do it this way. I've also seen variations on this same theme where a company is working on a product that does what we're implementing, but it's not ready yet. Then a year down the road, when we're doing the final rollout, their product is almost ready, so now they'd like to see us fail. And suddenly the alliance falls apart. Over the last 30 years working in IT, I've seen something like 20-30 variations on this theme. Lots of times you need to work with people who really want to see your project fail. This came as a huge surprise to me, but I think any senior person should be careful and on the lookout. It's often a significant project risk, and almost always overlooked.
- lfowles 11y agoOne way to look at the first case is as a morale issue. They were excite d to plan and roll out their solution and have been "demoted" to gluing pieces together. Even if not actively wanting the project to fail, they won't be top contributors.
- unoti 11y agoYou're right. I've also often seen it where the disenfranchised people are the ones who wrote the original system we're replacing. And we need their help doing extracts for data conversion, and possibly interfacing to special systems only they know about. Same situation-- it can feel like a demotion. It's important to take special care to get those people on board.
- draw_down 11y agoI have been told by people that I'm a "natural leader", perhaps not to the extent of the author. But I am just uninterested in all this stuff, I'd have to be paid double or something.
- bobbles 11y agoThe article is definitely describing an actual management role rather than a team lead role so that's not surprising.
- developer1 11y agoI'm in the same boat. I've had management at a handful of companies discuss me taking on more than my Senior Developer role, for an extra $10-20k. That much stress does not warrant only a few years' worth of raises. Double my salary well above $150k+ (I'm not in the US) and I'd consider it. They'll have to pry my precious code from my cold, dead hands. I'm in my early 30s now; perhaps my preference will change as I approach my 40s, but for now I'd rather be a rock star in my field than be just another manager whose team hates him because he has no real control to change the company's politics.
- handojin 11y agoManaging down is easy. Managing up is hard. How you go depends on the problems you want to tackle.
- bkor 11y agoIMO manager = make more money but put in way more time. Meaning, deal with the questions from higher management, prepare all the various performance meetings, etc. Especially sudden highly important tasks are fun. Or announcements that happen on e.g. Monday and you get your information Friday late. This leading to having to review everything during the weekend. It seems some people care more about the total salary than what they earn vs time invested. PS: Regarding your team hating you: Decide for yourself how you manage. I prefer the honest types who just say "company decided and we just have to deal with it". If you start pretending you totally agree with things you'll not be able to give good answers to the various questions and people will think that you have no clue.
- abalone 11y agoThis sounds like an engineering manager role, especially since it involves hiring/firing and setting salaries. Why is it called "lead developer"? The cynic in me thinks it's to make it more palatable to promote engineers who still want to code. But as this post details, that's the wrong expectation.
- developer1 11y agoOP sounds like he works for a startup, where he's given the title of a Lead Developer, but is expected to perform the role of an Engineering Manager and even some CTO duties. In addition to hiring/salaries, also worrying about software licenses? This is not the description of a lead developer.
- MrGando 11y agoI totally agree. Lead developers write code, also remove real, tangible and hard roadblocks in the code for the team... this sounds like a bureaucratic nightmare. I think he was turned into a manager without him realizing it.
- unwind 11y agoI got the impression it was not a startup: I did have to hire people and in the current market that was a very hard task. Especially so when the company in question is not a sexy startup, nor is the stuff they’re working on amazeballs, nor is the market that they’re in one that attracts a lot of people. It took me a lot of time interviewing people and even offering them a job (with a pretty good offer, mind you) only for them to choose another company. I totally agree that the role seems like way more of a manager than a developer, so "lead developer" is a strange title. Of course titles are pretty strange and generally not very "portable" to begin with.
- pluma 11y agoIn my experience in small companies "Lead Developer" usually means "the person who wrote all of our initial software and still does some programming while keeping track of our code base in general". I.e. something between a retired programmer, a software architect and a CTO.
- openfuture 11y agoDo you know of more initiatives like PHPmentoring? (which he mentions in the article). I like knowing about all the options :) Thanks P.S. While it is helpful to see suggestions on how his perspective could still be improved its also good to know which of the things he said you consider good advice. I feel like people have a tendency to only speak out when they see flaws.
- meesterdude 11y agoVery insightful! all things I'm eager to tackle when I land a lead position. I don't mind writing less code if it means I can facilitate larger movements. Although as others have noted this has a lot of management roles mixed in as well, which is more than what a lead dev might typically do.
- chad_strategic 11y agoThis article is funny... Object Oriented leadership? OOL Human Emotion Design Patterns. Functional Emotions... There is no leadership in Tech / Dev. (Don't worry there is much in other parts of the business world and certainly not in the banking / finance realm.) That's why they invented Agile. The business side needed to make sure the tech side was "doing" what they could quantify. Sure you can read from a book, but leadership is one of the few characteristics that has to be experienced in combination with self evaluation, in what this author is doing. Real leaders don't shy away from a challenge...
- trustfundbaby 11y ago> Way less developing I've worked in an organization where leads were expected to do all that a lead is generally supposed to do AND also have sprint velocity (work throughput) equal to or higher than senior engineers on the team. I always thought this was absolutely bonkers, but at least now I know I'm not crazy
- MrGando 11y agoI think he's more manager than team/tech lead. Team/Tech leads code quite a bit as far as I know
- vblord 11y agoSome of the things listed in this article are more of a manager's role instead of a lead developer's role. With that being said, every company defines the lead developer role a bit differently. For anyone that is interested in a lead developer role, you need to understand that there will be less coding. The amount of less coding is dependent on the company. Some companies expect 60% coding out of you and some companies expect a maximum of 10% coding out of you. If part of your tasks include delegating work to your coworkers… be prepared to give up the fun stuff. I often find myself doing the boring stuff so that the people that work for me can enjoy what they do. I personally enjoy the team lead role, but if you are interested in moving in to a team lead role, you should really understand what the company’s expectations are… because every company has different expectations for that role.
- bliti 11y agoLead here: My own experience with various companies has been that they expect 100% with the additional management work on top (like a cherry). You end up delegating a lot of things and get tired quickly. I'm currently working on re adjusting this issue and it's going much better. Still is a lot of work with little benefit. Except for the ability to help others grow into better devs. I love that part.
- daxfohl 11y agoErm, what were you prepared for?
- mbostleman 11y agoFinancial management, hiring/firing, KPIs, 360 reviews - none of these things are lead developer responsibilities imo. That's management work. I prefer the two be separated. In my experience, the last person you want leading development is a manager or, worse yet, a good lead developer that is shoe-horned (probably unwillingly) in to management. Maybe that will be something else he learns soon :)