From Software to Solution Engineering

Original article can be found here (source): Artificial Intelligence on Medium

From Software to Solution Engineering

Personal career development revolves around having a really clear idea of what an individual wants. There are many things that could be listed as things that a person could enjoy, yet the following two things are by far the most important for developing oneself:

  • Always be learning
  • Have passion for what you are doing

If you are not ticking these two boxes, then you need to find a way to change that. You need to “own” that change in situation, and this could be done in several ways. The way to approach might be the use of the following scientific method; make small, iterative changes, measure the effect, and only move on to a larger or more drastic change if those smaller changes haven’t had the desired effect. A typical process would be to progressively alter:

  • Scope/responsibility/day to day work
  • Organisational team
  • Role
  • Profession

Take some time to figure out what aspects of your job are important to you. A good way to start to approach this is to think about which things do you enjoy the most, and really dig into why you enjoy those things.

Once you have a shortlist of these important aspects, evaluate where you are today.

  • Are those important criteria for you being fulfilled? Partially fulfilled? Not at all fulfilled?
  • How many of all of your important career aspects are being fulfilled? 100%, 50%? Less?

Everyone has a personal “tolerance level”. This represents the minimum amount of those important career criteria that you must fulfill to be personally satisfied. For instance, for a software engineer, learning can be the most important, and must be being fulfilled at all times. Passion for the work one is doing is ideally fulfilled, yet is something you can cope without (at least for a little while!) as long as you are still learning.

Get a feel for where you are — and if you are not satisfying the needs that are important to you, change something! Enlist your manager to help you build a plan . Once you’ve got that plan, re-evaluate regularly to check you are heading the right direction, and periodically check again that you’re still ticking all of the boxes for you.

Habits to build

Actively solicit feedback — Ask for their feedback regularly, actively listen to what they tell you, and try to understand the root of what they are saying. If you disagree with the feedback, dig deeper. Find out what it means, and then find a way to react and incorporate that feedback in to what you do and how you behave.

Communicate at the right time, in the right way — Communication is a hard skill to master. It is very easy to make an online post, yet ensuring that post reaches the right audience, in the right way, and at the right time is much more difficult. To raise visibility of what you are doing, think carefully about the audience you need to communicate with, the message you need to communicate, how often you need to communicate, and how detailed your message needs to be. All of this information will inform you as to the right medium and tone to use for that communication. Spending some time to think about this upfront will land your message much better with your intended audience.

Your career growth is your responsibility, not others’.

This is not to say that this as a way to absolve others of all responsibility for your professional growth, but rather to highlight that the responsibility for planning what I work on and how I grow is mine alone. Your manager can absolutely help you grow, yet to do this effectively, they need to know what your ambitions are; what’s important to you, what work do you enjoy, how do you make sure you maximize the work you enjoy? These questions and more are things you can collaborate with your manager on to build out a plan that combines your ambitions and aspirations with opportunities in your day-day work.

Play to your strengths — How aware are you of what you’re good at? Note that this is not necessarily the same as being aware of things that you enjoy! You can have a look at the following chart to better understand your own strengths. Once you have a good feel for this, you can find opportunities to apply them.

Once you have a good feel for your strengths, try to figure out a way to apply them within your current role. If you are a good “stimulator”, how do you bring that strength to bear as a software engineer? How can you stimulate conversations around you and help your team and colleagues be more effective?

A caveat: Trying to only play to your strengths is likely to not be a good strategy. “Influencer“ might be the lowest ranked strength in this exercise, yet it doesn’t mean you try to avoid influencing (in fact, in some engineering roles, it is a very necessary skill!). These kinds of exercises help you become more aware of skills that you could work on personally. Incorporate this thinking in to your personal growth plans.

Trust your colleagues — Engineers work on hard problems at companies. This means that an engineer is not likely to crack any one problem on his own; he needs to rely on his colleagues to help. This might be hard for some engineers as it it requires finely honed delegation and consultancy skills. If you cannot trust your colleagues you might get a lot less done!

Be your harshest critic — Find a means to critically assess your own thoughts and actions. One way is to solicit feedback from peers, which can be useful to understand the impact of something you have already done. How do you figure out if something is a good idea before you do it though? One approach might be to imagine a “brain trust” in your head, where you imagine how various people you know will react and push back. Using that “brain trust”, you can bounce around ideas and iterate on them, until those imaginary people seem (reasonably!) satisfied with the idea.

Don’t be afraid to try something new — If you’re interested in a new area of work, skill, or technology, but are concerned whether you are going to be any good at it, try to find a way to break into the area slowly. Find a small project you can contribute to, find a subject matter expert and chat to them, any way to gain enough knowledge to understand the topic more thoroughly is good! If you do enjoy what you learned or tried so far after doing that, then take a bigger step into the area of interest!

Don’t be afraid to ask for a meeting — There is a general reluctance to reach out to people to arrange a meeting, especially if those people are highly visible or senior in the company. One advice for this would be “Be Bold”. Easier said than done, yet think about it; what’s the worst that can happen? The absolute worst case is that they will say no, or they will just ignore you. More likely than not though, these people will be interested if you have something interesting to say, and you just may get that meeting that helps you understand more about how to solve a problem.

Don’t be afraid to ask a “dumb question” — The third of “don’t be afraid” habits, and potentially the most important from a personal growth perspective. If you’re in a meeting and people are talking about something that you don’t understand, ask the question — you’re likely not the only person in the room who is confused! This will help you, and anyone else who didn’t fully understand the topic learn more and level up, all thanks to that “dumb” question.

Intentionally and deliberately plan engagements when you meet people — This goes hand-in-hand with a personal motto of “don’t waste people’s time”. If you’re going to put that meeting in with someone important make sure it is going to be a productive one. Plan out what you’d like to talk about, and include a summary in that initial reach out meeting invite. During your meet, make sure to save five minutes at the end to agree actions and next steps. Afterwards, send out an email summary. This approach of deliberately planned engagements should apply to every single interaction with anyone to make people’s lives easier in your interactions with them.

Moving Forward

Take this list of habits to practice regularly while you are continually building to try to be successful as a software engineer. After all, engineering means providing solutions and by doing your best you can offer best solutions to make other peoples’ lives easier!

Would love to hear feedback and comments from others — what are your top habits to succeed as an software engineer?