All Articles

5 Things To Do For Career Development As a Software Engineer (a book notes)

For software engineers and developers, it’s pretty fortunate to land in an ideal job and enjoying a career life in the current company, with comfortable paychecks received when doing interesting work we like. However, it’s also quite common that during our spare time, we may ask ourselves a question: what should we do to help our career development? More or less, this question would appear in every software engineering professional’s mind.

Today, let’s talk about what we should do when we do not intend to look for a job and change my current career life immediately. Most of the ideas come from the book Land the Tech Job You Love.

1. Teaching your knowledge to other people

Teaching and sharing are always an excellent way to improve your learning and make your knowledge base more solid. When trying to teach a concept to others, you need to gain the audiences’ interest in what you’re talking about. It would be best if you had a clear understanding of where the concept is in the big picture, and you have to figure out how to let a newbie getting hands dirty without being too confused and lost interest.

An audience may come up with questions that you never think of, you should be prepared to answer that with as much scope as you’re familiar with, or could have a friendly discussion and learn something new by yourselves.

Sharing your knowledge to the community could also help you expanding your social network and amplifying your influence, which can show its worth in the future.

2. Starting a blog

It sounds cool and is cool when you have a place to go to when people are looking for you on the Internet. As a resume can only have 1-page length filling up with your education and job experiences, what you can show to potential future employees is quite limited. But imagine that when people are easily linked to your blog (after you’ve done some SEO) and can go through your thinkings by reading the recent 3-5 posts, they can gain much more insight about you.

Of course, here we’re talking about a tech-related blog that deals with what value you can have to an employer. We can blog about anything that we might tell a techie buddy about at lunch or over beers after work. There are plenty of discussions online about how to build an excellent tech blog. Another book Technical Blogging, Second Edition can be a step-by-step guide to plan, create, maintain, and promote a successful blog as a developer.

3. Learning new things, and write it down

Any software engineer or technical professional is in an industry that is continuously innovating and frequently adding new features and capabilities to the world around us. If you’re not learning something new, you’re falling behind the competition, or at least feeling fallen behind.

However, there are numerous things to learn in the IT industry whose resources can be very easily accessed. It’s just a matter of whether you have the willingness to learn or not (sounds like another cliche). But here I’d like to mention that another step is quite essential: share what you’ve learned. By writing down or doing some tech sharing, what you’ve learned can become what you know. By the new knowledge I mention here, it can be:

  • A new programming language
  • A new framework in the language you’re familiar with
  • A new OS
  • A new hardware made for programming
  • Other companies’ best practice
  • Even another industry radically different from what we know, but share similarities to our industry and can teach us some lessons

Whatever you’ve absorbed can be transformed into a new knowledge that may be beneficial to yourself and innovative to other colleagues. Continually investing in learning and sharing what you’ve learned can let you receive much more dividends.

4. Constantly updating your resume every three months

Add ‘update my resume’ into your calendar and set the interval as every three months. Almost whenever we open the resume after some time, we can find things to add in or to improve on. It could be a job promotion (congrats!), or it could be a new job responsibility or a new project that your team is now working on. It can also be something not done in your office, but an open-source project you are actively contributing to. Whatever adds value to your company and yourself should be added to your resume.

If you have difficulties finding anything worthy to add to your resume in like six months, we have a warning. You’re likely paused in your career progress and may get rusty about your skills. It should be an appropriate time to consider looking for more challenges, maybe by switching jobs, or by proactively seeking new challenges and taking more responsibilities. As the book Land the Tech Job You Love says, “Lather, rinse, repeat.”.

5. Growing your network and jump out of our comfort zone

It is too familiar that software engineers are spending at least 70% of their time with IDE and don’t mind spending effort talking to people. Some developers are not keen to communicate with people and feel more comfortable to ‘let code talk.’ With this being said, spending effort to maintain a reliable professional network can be as significant as any other area of self-improvement (like section 1-4 I mentioned above). You might have the best skills, but they’re not much good if your ideal employees can’t easily find that out.

Here are some handy tips that we can gradually do, when next Monday we walk into our office.

  1. Have lunch with people outside your team, and get to know them
  2. Join the office’s interest group, and break the invisible wall between engineers and non-engineers
  3. Join a local tech community in your area of expertise, like GraphQL Singapore
  4. Join user groups in areas you’re not familiar with but would like to learn about
  5. keep track of your connections’ update, and stay updated about their vital information

5 questions for self-checking

As technical professionals, we are blessed to have the skills to be well paid for jobs that we love. Not just like, but love. Please don’t settle for anything less.

Here are five questions that a software engineer or IT professionals can ask himself/herself about, regularly.

  1. Is my resume up-to-date?
  2. Am I competitive in the current job market?
  3. Am I able to be found online with an insightful presence?
  4. Do I have at least five people to approach when I’m seeking for help to find my next job?
  5. Do I have at least three references who can speak for my work experience and ability?
Recommending books for software engineer career development:
  1. Land the Tech Job You Love
  2. Technical Blogging, Second Edition
  3. The Pragmatic Programmer, 20th Anniversary Edition