The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Good managers put people in a position to succeed; bad ones throw people at projects without doing analysis of what skills the project needs.
Good managers hire smart people and trust them to make good decisions, or to raise flags if they don't have the skills/experience to make a good decision. In that latter case, good managers find the right resource to be another opinion (which may be themselves, if they are technical and experienced in that area). Bad managers don't trust their employees, or are unwilling to consider alternatives.
All that being said, I prefer an at-least-somewhat technical manager. By that I mean, someone who understands data and relationships, and can have that sort of conversation, even I they don't know the nuts-and-bolts of schemas, application development, etc. If we model the data well, we've got a good foundation on which we can build the application layers.
In my experience they are all terrible, rude, authoritarian, arrogant, and in general stupid. However, there is one rare exception; non-technical managers who know they are non-technical and as result stay out of the technical details letting me do the project properly...
However, as I said, this has been a rarity...
Sr. Software Engineer
Black Falcon Software, Inc.
I have found the best success in having
1. A non-technical manager
2. A technical lead.
The non-technical manager is an HR manager, the time off manager. They can help with sprints, and planning, but not costing, and not how to do something. Has one-on-ones. Keeps team unity. Plans activities. Helps keep communication open (especially with a bunch of introvert engineers)
Tech lead - Is the mentor technically. Has technical one-on-ones to make sure each team member is increasing their skill level.
The problems with a technical manager is that most engineers:
1. Don't have the skills to be a good manager, because it is hard, and takes a lot of training, and they are never trained. So it takes them three to five years to be any good and by then, they already have a bad rap.
2. Many will never have social skills to be a good manager.
As always there are exceptions to the norm. Great technical managers and great non-technical managers exist. But on average, I find the best harmony when a non-technical manager is combined with a tech lead.
I guess it depends on the size of the department. I am the technical manager, and I'm reasonably successful. Myself I prefer a non-technical manager, my boss is an accountant, but he is technical enough that he can back me up sometimes. I call on him when I need people help, when we have policy issues that require conformance or if I am trying to schedule something big - and of course around budgeting projects.
In a bigger company, I have seen mixed results from a non-technical CIO. The problem with that is that the honchos put the person in the area to achieve a business goal, not really aligned with operations. So she was there for a little while on the way to another position.
It's not her fault exactly, but the corporation outsourced all of IT as of 1/1/2000. It was a nightmare. My entire team and I left over 6 months. (Me: After I rehired for my position of course) Chasing "shareholder value" can be destructive. It was the non-technical managers who bought the crack the salesman was selling.
I would love to have manager that has technical abilities. Unfortunately I get some people who are looking at log files and are screaming WITCHCRAFT - BURN IT.
If you can read log file and decide that you don’t need to involve whole team and ask everyone around to participate you are gold.
If there is some configuration issue because someone forgot to change setting or add setting to a file, and don’t have to involve 5 people to fix it you are gold.
If there is small irrelevant code issue that slipped past through code review,
and QA and you can fix it on your own before demo for stakeholders instead of screaming that there is issue bringing end of the world you are gold.
For such person it is easier to maintain faith in your team because they know small issue in config is not some hidden dragon. It is a lot easier for technical person to grasp possibilities of technical team.
Maybe it is only my ego but I really get annoyed when people make fuss over stuff that I can fix in 2 minutes. Especially when they go around screaming that sky is falling and reality is that when you read log files it is perfectly understandable issue. Even more annoying when they send log statement with exception to you and it is perfectly literal exception message like “cannot connect to 3'rd party X” and 3'rd party X is down, but somehow their comprehension goes wild…
I've used Macbook Airs for years, then switched to the Macbook Pro and immediately regretted it because the keyboard is beyond awful and I get about 2 hrs battery life (That's from full charge, running only VS, but working steadily). I'd get easily 5-6 on a Macbook Air.
I desperately wanted the Surface Pro 6 or Laptop 2 to be great but they stuck with proprietary 1980-style chargers, and for me it's USB-C or nothing. Once you get used to plugging in a single cable for your charging, video, USB and sound it's hard (and regressive) to go back to multiple cables.
So given that the iPad Pro is USB-C, is faster than 92% of laptops currently on the market, is crazy thin and light and doesn't require me to remove it from my backpack at airports, I want it as my primary development machines which means I need Visual Studio on it.
I've been waiting for the "perfect" laptop for over 20 years now, and I honestly do think it won't happen. We'll move over to using tablets or even phones as our primary device and laptops will go the way of desktop PCs. Maybe Qualcomm will make a Snapdragon chip that can compete with an i7 and then things will get interesting.
We'll move over to using tablets or even phones as our primary device and laptops will go the way of desktop PCs.
I'm not sure.
I've tried writing code on a tablet - the Nexus 7 and the WookieTab - and it's been a miserable experience, all because of the keyboard. You think the Macbook Pro KB is bad? Try it on tablet! Particularly if you are a touch (or even a fast multi finger) typist it's a major exercise in frustration.
And while predictive input on Android is great for letters, posts, SMS, and email it elephants your code like nobody's business. Just the auto capitalisation after a "." is enough to drive you to the arms of a "proper keyboard" ...
I don't think we'll move to tablet / phone until we find a better input method - and the first person to suggest "voice input" should be defenestrated...
Sent from my Amstrad PC 1640 Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
Actually, the tablet concept is great: just use any Bluetooth keyboard you want. I get along great with this. I only use the onscreen keyboard in meetings, traveling in some type of vehicle, etc. If I am planted in a singular location to do work, I've got a Bluetooth keyboard I like.
Quite right, it won't happen.
Because perfect differs from person to person. So every manufacturer tries to create the best compromise for their aiming group. Which is at best, acceptable for part of your use.
That's why I've learned to love the docking station.