Your Company culture
In a nutshell, a company culture is what you feel like while you are at work.
Is your company a hip startup? A bank? A service company? A marketing firm?
Each company will have a culture and style. Often culture will be created intentionally from the top down. Other times it will be organic, and still other times your company will strive to achieve certain culture.
A company culture includes the office environment, the way employees and customers are treated, and communication styles and preferences. Hiring managers tend to hire people like themselves: your company may skew to young single people or middle aged "experienced" workers.
You will learn fairly quickly what your culture is. As a Senior Developer, you can help set the tone for your department and impact culture with your communication and behavior. We spend more time at work than anywhere else: make it a good place!
As a company grows and changes focus, the culture will also change out of necessity. There are things that can happen at a 6 person firm that can't happen at a medium or large company. Usually there are more meetings 🙄.
Outward signs of culture: what companies talk about at the interview
These are the types of things that a company may post on their blog to show you how cool they are. Many companies are actually cool, some try hard. These features are usually under the purview of a human resources department.
Formal or informal dress code/style
- Collared shirts only?
- Dress down Fridays?
- Flip Flops and shorts every day?
Where do people eat and gather on their own?
- Team lunches?
- Happy hours after work?
- Birthday recognition?
- Informal Pot Luck?
- Traditions: Christmas Parties, Halloween?
- Group Participation in 5k races, charity events, etc.
- Ping pong, pool or foosball?
- Gym membership?
- Computer choice?
Internal culture: they way a company works after you get there. This is your impact zone.
How do people share information?
- Phone calls?
- Online Team Meetings?
- Email: many companies still thrive on email
- Chat (slack/teams)
- Document workspaces: Office 365, Google Docs, Confluence
- Are there remote workers?
- Team Meetings?
- Structured work like Agile/Scrum/Sprint?
- Do developers work together with pair programming?
How can you contribute to your company culture?
Anyone can have an impact on culture and activities. Most of the time, anyone that is willing to put in the extra work to organize something can claim it. Do you like to cook? Organize a potluck! Do you like to drink? Establish a regular happy hour!
Be nice to people!
We will spend more hours sitting with people in the office than sitting at home with our families. Don't be difficult.
Meet people where they are with their skills
It can be tempting in code reviews to try to bring people all the way up to your standards all at once. As a junior developer or new hire it can be very discouraging to be told that your code is "wrong" after it is already working.
Unless your company has already set very strict guidelines for code, many code decisions like tabs vs spaces are arbitrary. If these things are important to you, establish and publish code guidelines. This way there is a written reference of what code should look like instead of having to make decisions on the fly. Once code guidelines are set, they can also be automated but that is beyond the scope of this post!
Unless the code is a disaster or will have performance problems, just fix a few things each time and let the rest go. If you are honest with yourself, things that you thought were a great idea 5 years ago might be pretty embarrassing today. If someone assigns a variable in a way that you don't care for, either make your way part of a published coding standard or let it go.
One way to avoid this problem is to make the first few coding assignments very small. That way there are fewer code changes to discuss.
Also when someone is a new hire it is good to check in early and often to make sure that they are writing code that will fit into your stack.
As a senior developer, many people, especially new hires, will look to you for guidance and direction. Be prepared to offer this advice. Don't hold back any information for "job security." Your job will be secured by the value that you bring. There is so much information that you will never run out. I recommend starting a library of documentation so when someone asks a question you can direct them to a solution that you have already written. Then they can come back to you with questions.
Leave your own comfort zone
Developing is a solitary activity. We are very comfortable typing away for hours "in the zone." A Senior developer role is more social. You will need to present in front of a group. You will represent your company in phone calls and meetings with vendors and customers. You will represent your team at internal meetings.
Make an effort to train yourself to do this. Many developers get promoted to "senior" developers because of their skill at coding. They do not realize that a Senior developer is a different job role altogether.
As an individual you may perform one or both sides of this chart throughout the day. You need to realize when you are wearing your "senior" hat and act accordingly:Developer Role Senior Developer Role Writes Code Reviews Code Reads Documentation Writes Documentation Implements Architectural documents Creates Architectural documents Attends team Meetings Leads team Meetings Executes projects Interacts with the business and customers and defines projects
Many developers have antisocial tendencies. We see happy hours and group activities as torturous wastes of time. Some people may actually experience crippling anxiety at these events. Recognize this in yourself and others and try not to force anything.
Win Friends and Influence People
Try to get to know everyone in your department. Make a point to have some casual lunches in small groups either formally or informally. Use some techniques from the classic "How to Win Friends and Influence People" and ask someone about themselves. Really listen to what they say. People might have hobbies as musicians, gamers, artists, writers, or even more unusual hobbies like LARPing (Live Action Role Play). Some people have had interesting jobs or experiences as a refugee or international traveler. Many people have worked in interesting industries and projects.
As you get to know people, and as your department begins to grow you can start to connect people that may have similar interests: Sue and Dave may both like to barbecue. While it is nearly a requirement to like Star Wars, Tim and Robert might have gone beyond the deep end. Introduce these people to each other.
Make your workplace a great place to work!