How to elevate engineering culture at large corporations?
-
One thing I have realized working at a large corporation is that it doesn't matter how smart you are because if everyone else doesn't see the value in what you are doing then you are not going to get very far. It's much harder to convince 1000 people that a certain part of the software stack should be in groovy than it is to convince 10 people of the same thing. I'm curious how people go about elevating the engineering culture at large corporations because I've been running into walls left and right and I would like to be more proactive about how I go about it. I have been advocating tech talks and tech demos along with code reviews as potential solutions. Do people have other suggestions? Note that 1000 people and groovy are just representative examples. I am not married to groovy or any other language and 1000 people is meant to indicate large scale and how to go about teaching a large group of people about best practices and engineering principles in general.
-
Answer:
It is certainly possible and doable but it takes a very different kind of skill than technical prowess. Optimistic Likable Attitude An optimistic attitude is infectious. Most people are scared of change and a decent number of engineers in large organizations are lower skilled and have found a niche they can hide in. Others still have bad intentions. Optimistic attitudes can help smart yet conservative minded engineers have confidence to try something new. Further still if you are a likable optimistic person then people are more likely to look up to you as a technical leader. The technical leaders that other engineers follow and respect do not necessarily have to be because of a sanctioned title. Find the smartest guys Figure out the smartest most capable engineers in the group and try running your ideas by them. Allow them to include their own ideas and always be open minded. Brainstorming sessions should encourage everybody to come forward with any ideas they have no matter how stupid they are. Sometimes stupid ideas evolve into great ones if it catches on. Once you sell this group they can be your marketers to sell to others. When you have a huge number of engineers you are not going to have the time to "convince" all of them yourself. Get smart influential people behind your ideas and they will sell it for you, and again remember, ignore titles. Some surprisingly pessimistic or incompetent people can wind up with prestigious titles based on politics or tenure. Be Realistic It is one thing to introduce a code review policy, it is quite another to talk about introducing a new technology stack that few people in house are qualified in. Write down a number of ideas you would like to see implemented and see if you can break these bigger milestones into smaller more easily achievable goals. No matter how small the goal, you and your evangelists will feel inspired and driven by each small success you make. Change will take time. When you want to turn a large oil tanker around, then it takes a long time for the ship to swing around, but it all starts with turning the wheel. Write Documentation, a LOT of Documentation! It will take a lot of work to get the common engineers to follow you, and unless you make it easy for them to transition to a new process or technology then you will find that your strategy will fizzle out. You are building change from the bottom up which means you need to win adoption by the bottom tier. The power of the bottom tier of engineers is such that they can even derail high level directives (top-down change) if it is too hard or they don't believe in it. Writing technical documentation, no matter how basic you may think it seems, is important to win this adoption. Focus the document on how these new technologies and processes might play or look in the organization. Give examples, write prototypes and proof of concept applications. Don't expect too terribly much from your evangelists in this regard. Most of them may have no problem supporting it or understanding it, but when it comes to doing tedious hard work they may disappear. Most important of all, nobody likes a know-it-all so try to be transparent in your documentation. Make the documentation seem to be authored by the group rather than by yourself. Invite even simple small edits by others to get their names on the revision history of such documents so they seem like a collaborative effort. When the draft is complete, see if you can get your manager to form a committee of representatives from the group to discuss and approve the documents. This will give your documentation and standards that you set forward have legitimacy. It is certainly possible and something I have had much success in. These are some of my most proud accomplishments in my career.
davidk01 at Programmers Visit the source
Other answers
I don't know what problem your "Groovy" solution solves, but I would need a lot more evidence than you present here that justifies training 1000+ devs on a new language and rebuilding a large chunk of legacy code. If a company's website is just an electronic brochure, don't waste time getting the home page to load 5% faster. Understand your company's business and their culture. I recall one dev crawling out of his cube to show the owner a graph. The boss replied, "That's nice, now go make something I can sell." Obviously the boss should have been telling the dev this long ago and a smart dev would have asked. Make sure you start with your direct supervisor. A large company is too complex to change all at once. If your efforts contradict what your boss thinks is important, you're going to get a lot of grief and not get far within the company. Find the pain points and the main drivers. If it is a particular product or sales division, focus on that area. It's nice to improve the efficiency of the accounts payable department, but not as good as increasing sales. I recommend http://scottberkun.com/yearwithoutpants/. This is more about working within a company culture to make significant changes and not about how cool it is to work from home. Learn something about the ways things work around your company and stop thinking you're smarter than everyone else until you prove value to the company. They're running a business, so getting things done is more important than what "Stack" you're using.
JeffO
It's much harder to convince 1000 people that a certain part of the software stack should be in groovy than it is to convince 10 people of the same thing. Lies. It just takes more time. All you need to do is convince the right 10 people. Sometimes that's your team. Then your team uses groovy to do cool stuff and people go "Hey, I want to do cool stuff!". Sometimes those 10 people are the technical leads. They then convince their teams, and suddently everyone loves groovy. Sometimes those 10 people are the (benevolent?) dictators in your company. They don't know what groovy is, but they're convinced it is how to do the things they'd order you to do anyways. The key is actually selling those people so that they can advocate for you. Convincing 1000 people isn't harder than convincing 10 - it's just a matter of scale. By co-opting people to help you - you scale your idea. I have no idea how to convince people to advocate for you, I'm a programmer after all (but mostly because I don't know your people and your culture). But I recently discovered http://randsinrepose.com/archives/category/management/, which I cannot recommend enough as a practical, programmer centric goldmine of practical advice about managing programmers and navigating corporate culture.
Telastyn
Related Q & A:
- How do I plan/manage a large project?Best solution by stackoverflow.com
- How to store table with a large number of fields?Best solution by Stack Overflow
- How to sequence events while uploading large files to Amazon S3?Best solution by Stack Overflow
- How much money do large corporations spend for advertising?Best solution by businessinsider.com
- How has the French culture influenced Australian cuisine?Best solution by ChaCha
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.