I was recently asked if I had any advice for someone starting their first software developer job. I immediately started to think of advice on tech stacks, programming languages, etc., but then I realized the most important things for me were not the technology. The non-technical tips are what I wanted to share.

1. Be dependable - being the best software developer in the world does not mean anything if you are not dependable. If you say you are going to do something, do it.

2. "I don't know" is a valid answer - no one will know everything. Admitting you do not know something is a perfectly acceptable answer, but do not just say "I don't know". Say "I don't know right now, but I will figure it out."

3. Be honest - honesty is very important. This goes with "I don't know" as a valid answer. If you don't know something, admit it. Honesty is the best policy.

4. Make connections - get to know the people you work with, not just the others on your team or in your discipline. You can learn something from everyone. Making connections is one of the best ways to get things done. Maybe you need a favor from someone on another team. Knowing someone on that team can help you with that favor. It is important to realize it goes both ways. If someone reaches out to you for a favor you have to be willing to help. "Not my job" and "not my problem" should not be parts of your vocabulary. If you help everyone, everyone will help you. Not only will you get shit done, but you may enjoy doing it.

5. Be yourself - I struggled with this early on. I had an idea of what a software developer should be and I was not that. I went to college at 29. I did not start my first tech job until I was 31 or 32 years old. I worked low-paying and/or manual labor jobs most of my working life. I did not feel like I fit in. I slowly let go of that feeling, but then I started getting promoted and thought I needed to be like other leaders in my company. Over the past few years, I have realized I am in my position because of who I am. I am not like the other leaders. I lead my way. ALWAYS be yourself.

6. Never stop improving - No software is ever bug-free and no software developer is perfect. I have been in the industry for almost 10 years and am still learning new things daily. I learn things from books, blogs, other people, and most importantly through experience. New hires will often ask me if I know what different error messages mean that they see in the logs. I usually do and they ask how I knew what the cryptic message meant. It is because I have broken nearly everything there is to break, but I have also fixed what was broken every single time.

7. Mistakes happen, own them - remember how I said there is no perfect software developer? Remember how I said I have broken nearly everything there is to break? Mistakes happen. Own the mistakes and learn from them.