81 karma · joined April 1, 2009
* Formerly: Product at Textio, Product Manager at Code.org, Program Director at Coding with Kids, Program Manager at Microsoft
* Georgia Tech Computer Science Grad
http://ryanjsloan.com
http://twitter.com/ryansloan
It's interesting to me that this article focuses on how they might be using data to understand who can be persuaded. I recently read a book by Eitan Hersh called Hacking the Electorate about how campaigns use data to perceive voters (and how they primarily focus on public data). Hersh suggests that persuadability isn't a focus of campaign initiatives because it's too hard to do in a way that is cost-effective. He suggests this is the main reason campaigns focus on mobilizing people who are likely to vote for their candidate. It will be interesting to see if campaigns are able to build better models for persuasion this year.
A->B->C->A
D->E->F->D
Unfortunately real-life intervened and we didn't have time to decide if this was an NP complete problem or not...
When I was a student, I had some great teachers who were tenured and some great teachers who were non-tenured. However, nearly all my awful teachers did have tenure. A lot of the people I know were in a similar situation. Some were good teachers who got complacent and lazy, and some seemed to have slipped through the cracks from the beginning. Small N, but I can see how tenure definitely creates some messed up incentives.
That said, I think there are two sides to this issue. Making it easier to get rid of bad teachers is a start, but it's also important that there's a good, transparent way of evaluating whether a teacher is good or bad. I know a lot of teachers, and they all feel as if the way their performance is measured is pretty broken. They're measured based on performance on standardized tests that don't test the right things, etc. I think if you want to attract and retain good teachers, you have to establish better metrics, too. With the wrong metrics, what you end up with is a big pool of teachers who are successful at checking off the right boxes.
(I realize this performance measurement thing is a hard problem in just about every industry!)
1) You can scope your team's features and commitments more effectively if you have some understanding of the technical complexity of each ask.
2) Understanding the technology (and the skills of your people) means you have better intuition about the right people to bring into the room when a problem arises
3) It's easier to be empathetic with your team when you have engineering experience, because you know that many times the spec is just the tip of the iceberg.
4) Credibility. A group of devs will have a lot more respect for you from the start if they know you're not just a bureaucrat and you can code (even if it's not as well as they can)
I don't know enough about your niche to say anything definitive (and I'm not really an expert, anyway) but I was working on selecting a research and export control system and there was a ton of regulatory policy we had to learn/consider. I'd say you should start by talking with faculty members who are directly involved with the process to see what you're getting into.
The one question that was pretty constant across the departments I worked with was "How long will this company be around, and what is our support commitment?" Universities usually avoid spending money on IT if they can, so they want a product that is going to be well-supported. Switching solutions is costly, so that makes them fairly risk-averse as well.
In addition, the procurement processes are usually bureaucratic nightmares, but that's the same with large companies :)
George Constanza was my inspiration haha.
We called it "Poopt" though.
Very cool.
In all seriousness, I think it probably -is- wise to eliminate the procrastination before I go from "intern extraordinaire" to "fully functional productive member of society" but it's just a tough habit to break. I've also found that it's not as bad when there's some passion behind the project. I know that's a pretty obvious observation, but it supports the "do what you love" folks.
I can relate, especially to the bit where he says "I can only seem to accomplish anything when I have far too much to do, for the simple reason that I have no shortage of projects to work on as a way of not working on the most important ones." I think a lot of college students have this mentality, which may be why people think we come across as "lazy." I've found that the sure-fire way to get me working on some relatively unimportant task is to put a more urgent one in the pipe.
Granted, it -was- overhyped (stock up on batteries, rice, haz mat suits, etc.) but there would have been fairly significant problems if the companies developing these systems didn't prepare. The possible effects were exaggerated, but I still think it's a better example of "crisis" management than mass delusion or panic.
I think the less obvious factor is related to the COBOL mentality. In COBOL's heyday, they didn't have communities like this (yeah yeah, usenet, BBS, I know, I know) so they figured out how to live without them. The old whitehaired COBOL gurus passed these traditions down, and it just became a way of life. Any COBOL-related help you need can probably be provided by the lifer in the cube down the aisle. They are a fairly self-sufficient group.
That being said, I am interested to see how the COBOL community changes when people from my generation start taking these jobs. I didn't stop reading when I was hired, and I don't think that most of the others will, either.
I worked at a (successful) company that develops banking software and processes bank data. The majority of our data processing and operations codebase was written in COBOL, running on some Unisys mainframes. There is a growing population of .NET developers on the team, but for the most part the cube farm is full of COBOL programmers. In general they don't read HN, use StackOverflow, or any other online community that I'm aware of. For the most part, when they need support they ask one of the local dinosaurs. I have noticed that most of them don't use their career to define themselves like a lot of "modern" programmers (myself included) do. I think it's more of a 9-5 for them.
And they don't seem to hate COBOL, either. In fact, a lot of them like it. I think part of the reason is that it's one of the first languages they were exposed to, and one of the first mainframe-based languages that "made sense."
It really is everywhere (although 80% seems high), but you don't usually find it in any of the glamorized jobs. It's heavily used in the banking, healthcare, insurance, and payroll industries.
I'm still working for the same company, but I'm doing .NET stuff now.
I think this is more a problem of motivation. I think if you throw enough interesting projects into the pipe (with the boring, necessary ones, of course) it helps keep them on task. Says the guy who's replying to a HN thread at work...