Interested in software engineering? Maybe you’re already a software engineer? It doesn’t matter where you are in your path, everyone can use advice on how to improve.
If you’re just started out you may just be trying to figure out how to code well enough to land your first job. On the other hand, experienced programmers may be trying to get advice on how to improve or avoid getting too comfortable. Becoming proficient at software engineering means working on improving your technical skills every day, and ultimately not be afraid to take risks or make mistakes.
Below are some software engineering career tips for anyone looking to improve:
Avoid Staying At A Dead-End Software Engineering Job
If you’re not gaining anything from your current job, you need to just leave. Move on. Have you hit a glass ceiling? Maybe you aren’t learning anything new? Sometimes a good reason to leave is if you weren’t given a promotion you had been hoping for. Whatever the case, if you have a feeling you would be better off elsewhere trust your gut.
A lot of people are afraid to move on. They might be comfortable. Or, they might be afraid to take the risk. However, the best way to make more money and advance your career in the software engineering industry is by moving on and working for different companies. The more you move around the more you learn from different software engineering companies.
Become A Mentor
In the past, I’ve had people reach out to me because they’re curious about getting into software engineering and don’t know where to start. They see if live in the area and have experience and decide to shoot me a message on LinkedIn. Guess what? I always answer.
Helping others get into the software industry is important. Think about how you would feel if someone reached out to you when you were first starting out? Plus, becoming a mentor for someone can lead to other opportunities. You never know who their connections might be. Who knows, they might even become a CIO or the next Steve Jobs one day and remember who you are.
Code As Much As Possible
There’s a reason people say that self-taught programmers are “the best”. They’re coding regularly and practicing with real life situations. Even if you’re just coding by working on a personal project, it’s still good practice and going to make you a better developer.
Communication Is Key
Communicating with your team is crucial for software engineering roles. If you want to be a good team mate, then communicate with your co-workers outside of meetings. Ask what their working on and check in to see if you can help. You never know when you might need their help.
Codingame has a great article with tips on how to improve your communication skills as a software engineer. For example, learning how to listen. Train yourself not to interrupt your co-workers and to hear out what they’re trying to say. Try to be positive around your team and and encourage them. When disagreements arise, try to put yourself in others shoes. Approach them the way that you would want to be treated.
If you’re a consultant, figure out how to communicate with your customers. This can be a challenge for many programmers. I recommend being aware of how technical you get during conversations. Not all of your customers will understand what you’re trying to communicate. Not all customers will even know code. Being able to communicate and find common ground for projects, billing or vendors will make your life a lot easier. Overall, communication can go a long way in the software engineering field.
Don’t Stop Learning
It doesn’t matter if you’re at your first software engineering jobs, have been a developer for 5 years or have been working 25 years as a software developer. You should always continue learning. Technology and software is constantly changing. This is one of the reasons why the IT industry is doing so well and developers are in such high demand. I recommend that developers stay in the know and try to keep you with trends and changes.
Overall, you want to be a strong software engineer, keep striving to learn new things and develop.
Follow The Money
Have self-worth. Sure, money’s not everything. Don’t get railroaded when you deserve more. If there’s an opportunity to make more and it’s for something you would enjoy doing, take it. In the end, the more money you make the more you can invest back in to yourself. I’ve personally left jobs that I love to go somewhere that was offering 10% to 20% more. It’s better to take a job that is offering you a higher salary than to stay somewhere where you are undervalued.
Don’t be afraid of looking “jumpy”. Companies don’t care as much as you think. Trust me. Of course you don’t want to change jobs every two months, but getting another job with a higher salary every two years or so is perfectly fine. In fact, many of the highest paid software engineering employees are making the salary they are because they jumped around. You should always do what’s best for you. If another company is willing to pay more, why not take the offer?
Ask for feedback from co-workers, peers, mentors, etc. whenever you can. This is extremely important when it comes to quality control. In addition, it can benefit you to hear feedback on how you can improve your code. In addition, it will help you to build a better relationship with those around you. At some point in their career, your co-workers have probably asked for feedback themselves. Everyone gets insecure at some point.
Have A Strong Resume
Having a good resume is important in software engineering, even when you’re not looking for a job. Make sure to spend time creating a strong resume, updating your resume, and formatting it. List your skills at the top. Also, make sure to tailor your resume and cover letter based on the position you’re applying to.
Identify Bad Code
In order to be successful in the software engineering industry, you should be able to recognize the difference between good code and bad code. Don’t just focus on spending time writing good code. Work on figuring out how to make improvement on not so great code as well. Being able to identify bad code will help you out in the long run as a software developer.
Keep Code Simple
When you’re writing code, try and keep it as simple as possible. If you try and include more, you may not even realize that you’re making things more confusing. Try to write code that you feel like everyone will be able to understand now and, in the future, if you aren’t around. According to Tuts+, below are 15 best practices for writing code:
- Commenting & Documentation
- Consistent Indentation
- Avoid Obnoxious Comments
- Code Grouping
- Consistent Naming Scheme
- DRY Principle
- Avoid Deep Nesting
- Limit Line Length
- File and Folder Organization
- Consistent Temporary Names
- Capitalize SQL Special Words
- Separation of Code and Data
- Alternate Syntax Inside Templates
- Object Oriented vs. Procedural
- Read Open Source Code
Learn From Your Mistakes
Let’s face it, software engineering isn’t always easy. You’re going to make mistakes from time to time. What matters is what you learn from your mistakes and how you avoid making them again in the future. Ask question when you need to, and don’t get hung up on the little things. Don’t assume when it comes to making decisions. Learn and move on.
Checking your work is important. If you have a code review coming up, take a second look at what you actually did before going to the meeting. Software engineering isn’t just about writing code, it’s about making sure what you created works. If you’ve completed projects in the past that had errors, take the extra time to check it in the future. Try to come up with different plans in case something fails or goes wrong. Learn from your mistakes.
Network With Other Software Engineers
Network working is important for those in software engineering. By meeting people and making connections, you open the door to potential opportunities you wouldn’t have otherwise. Try to go to meet-ups in your area. Reach out to other developers on LinkedIn.
Set Career Goals
It’s important for developers in the software engineering industry to set goals for themselves. Technology is changing around us pretty quickly, and with it are job opportunities. Don’t get too comfortable. Be aware of what the market value is for your skills, and what skills are in demand. In order to be successful, you’re going to have to be ambitious and have goals for yourself.
Specialize – But Not Too Much
Typically, you’re either a front-end developer or a back-end developer. Less often do you come across developers who can do a little bit of everything. I recommend specializing in something and finding your niche. Figure out what you enjoy and go from there. You can always change your mind and move into a different specialty, but I would focus on a specific area.
Try to become familiar with different popular languages. Once you know one language, others are easier to pick up. By staying on top of new trends and being versatile, you will have more software engineering job opportunities.
When it comes to projects at work, try to work on new things on your own. If you don’t have anything to do, don’t just wait around for your manager to assign you something. Take initiative and start things on your own. This will help you both professionally and in your software engineering career in years to come.
Try to Get A Big Name on Your Resume
Have a big-name company on your resume can go a long way. I started working at a big company in the Philadelphia area and within a matter of a month was getting flooded with calls. Prior to that I had worked for small to mid-size companies. It would be fair to say that not all hiring managers may have heard of them. Working for a big company shows you can keep up and displays that you’re competent.
Working for a big company will lead to more calls, more interviews, and more jobs. It’s one of the best ways to grab the attention of hiring managers and recruiters. Don’t be intimated from applying to jobs like Google, Comcast or Microsoft. It will really help your career for the future.
Understand How Your Code Impacts Business
Understanding how the business works is huge in software engineering. Even more importantly, understanding how your code impacts the business is crucial to being successful. According to NewRelic great developers will understand why a company is building a new app in the first place. Make sure you understand how what you’re building or working on is impacting the business as a whole.
Utilize StackOverFlow When You Get Stuck
There’s nothing wrong with going to StackOverFlow when you need help. Heck, I’ve even admitted in interviews that when I can’t figure out a problem I’ll go straight to their site. There’s a lot of useful information there and plenty of people who are willing to help.
Want A Raise? Don’t Be Afraid to Ask
There have been too many times I’ve seen friends or co-workers making less than their worth because they’re afraid to ask. If you want more, sometimes companies are willing to give it to you. You just need to ask. Don’t wait for your annual review. The time to ask for a raise is when you feel you deserve one.
Work-Life Balance Is Important
This is something that isn’t overrated, trust me. Work-life balance is extremely important to avoid getting burnt out. Make time for things you enjoy and know when it’s time to “turn off” from work. Make sure that you fit in time to do things that you enjoy.