Soft skills are so underrated. All too often, software engineers' job themselves on their technical chops but soft skills probably affect your career more. Soft Skills software developers manual by John Sonmez is a book I highly recommend. (Hopefully, a digital copy of it will be available soon.) Jon also wrote a blog post just after his book came out with a bunch of tips about boosting your career and here are my quick thoughts on each tip. This author and I are in slightly different places and have different career goals. My family comes before my career goals by miles.
24 quick tips to boost your career as a software engineer
Tip #1: Learn How to Learn
Life long learning is huge.
Tip #2: Commit to a Reading Schedule
Life is too chaotic right now. I am not sure if I can commit to a reading schedule at this time. Maybe in the future. I learn a little better by taking courses and doing tutorials vs reading books.
Tip #3: Improve Your Health
Sleep and working out are important for optimal brain functionality. I need to stop using having young children as an excuse for not exercising as much as I should.
Tip #4: Practice Interviewing
I agree with this one in a huge way. Interviewing is a skill and it is often rusty when you need it most. I also think doing the coding challenges like the ones you often have to do in job interviews is something to be practiced regularly.
You are reading my blog. So I have one but no one visits it because I don't publicize it or publish anywhere else. I am still working up the confidence in regards to does my voice matter at all in the software engineering world. A friend of my Daniele Rossi is coaching me how to make it better.
Tip #6: Find a Mentor
I need to network more before I can even consider trying to find someone to act as a mentor. My career goals as a software engineer don't align with my peers so this can be difficult at times to even find people on a similar page as me.
Tip #7: Launch a Side Project
I never know what to create whenever this comes up. The most I tend to do is build platforms to play with new tech.
Tip #8: Wake Up An Hour Earlier Each Morning
Good advice. I am an early bird by nature and am very productive in the morning. Once my youngest is a little older, I think this may be possible.
Tip #9: Start Tracking Your Time
This seems like a lot of work. I am not ready to make managing my career a job, but maybe one day I will.
Tip #10: Watch Less (or no) TV
This is a tough one for me. My TV watching is already pretty minimal. The time I do spend doing it is often spent sitting with my wife after the kids are asleep. I suppose since she is a software engineer also we could cut down that some and have some quality time in other ways but we are often drained by the end of the day.
Tip #11: Work on Your Soft Skills
Aren't all these tips primarily about soft skills?
Tip #12: Join the Community
Easy for single people but hard for parents with young children... but this is something I should really just make time for. Maybe start with an online community.
Tip #13: Give a Talk
I used to be in Toastmasters so public speaking isn't a problem for me despite the fact that I stutter. Joining a community, being at a company where lightning talks are done, and just making the time to put myself out there is where I should start. However, the priority of this tip is a little lower for me because others are a prerequisite.
I like mentoring. The challenge for me is finding someone to mentor. Well that, and finding the time. See Tip #6.
Tip #15: Plan Your Year
Building your brand and skill set is something that can and should be planned. If you don't set goals, how will you achieve them?
Tip #16: Learn a New Technology
This is our life. This is our career. As a software engineer, if you are not learning a new skill or mastering one, you are already familiar that you are falling behind because things change daily.
Tip #17: Get to Know your IDE Better
This is a sneaky one but one that can really affect productivity. Knowing the short cuts and features of your IDE can really speed up development and decrease time spent debugging.
Tip #18: Have Your Resume Professionally Written
Wow! No thank you. I am not going to spend over $500 on having someone write my resume. I am sure they will do a better job than I can but I have had no issues with recruiters not beating down my door. This seems like a waste to me. I will stick with just running it by colleagues who see resumes for software engineer candidates and ask I stack up and how I could improve it.
Tip #19: Make Connections Now, Not Later
This is basically a repeat but a repeat for a good reason. Networking can be huge. I am not very good at it but that is no excuse for not doing it.
Tip #20: Utilize a Productivity Technique
Productivity technique? Runaway!!!!! Just the very idea of this type of thing turns me off. Maybe I am not driven enough for it or don't have inspiring goals in mind.
Tip #21: Develop a Routine
Good habits are important for sustainability. Not only that but if you do fall off track due to something unexpected that comes up or you just plain got lazy having a routine to revive and go back to will speed your recovery.
Tip #22: Upgrade Your Equipment
I don't really code too much for myself on my own gear. That is where I need to start vs getting a screaming machine.
Tip #23: Create a Personal Brand
Think of your career has a business. What is your brand? What makes you valuable to employers?
Tip #24: Specialize
I have been a full stack Java engineer my whole career. I have no specialty of particular talent other than I have always been in a position where I need to wear many hats. The desire to specialize is there but the opportunity to is what has held me back. Maybe focusing on personal learning and projects could help more here. Honestly, I think I would like to specialize in something that isn't even a recognized strength right now. Is that strange?
I would love to know your initial thoughts on some of these tips.