Back to resources

Building Up Your Technical Skills in a Fast-Paced Industry

Different Skillsets
Personal Growth
Prioritization

8 July, 2022

Otavio Santana
Otavio Santana

Java champion, software engineer, architect, and open-source Contributor at Independent Technical Advisor

Otavio Santana, Distinguished Software Engineer at Zup Innovation, shares his best practices for upskilling without stretching yourself too thin.

Too Many Technologies, Too Little Time

A huge number of new technologies come up in software development every month – nay, every week. Different styles, databases, cloud technologies… There’s a lot going on in the tech world at any given moment.

How can you keep up? You can’t. Not with everything.

Then, how can you decide what to learn in order to stay current?

With so much unconquered territory, what’s worth digging into?

A Steady Routine to Up Your Technical Knowledge

1. Evalute the why.

Refer to Simon Sinek’s Golden Circle of what-how-why. Before deciding on what you want to learn and how you’ll go about doing that, contemplate why you think it’s going to be beneficial to you. Will you use it at work? Will it make your or your team's life easier?

For example, if you work in microservices, studying an out-of-scope new language is probably not the best decision. You’d be better off deepening your knowledge of a language that you can apply to microservices first, and then move on to a new language.

2. Upskill the fundamental technologies first.

Prioritize perfecting your knowledge on the fundamentals of technology. Master the fundamentals first, then upskill on new frameworks.

Looking at Java, ten new versions and frameworks were released in the past decade. But the basics haven’t changed for a while, such as the SOLID or the CAP theorem. They’re still valid.

3. Accept that you can’t know everything.

Software development isn’t a one-person job. Don’t try to be an ‘everything specialist.’ It’s impossible for one person to know everything around tech, so choose one or two areas to specialize in.

There is a concept called the T-shape skills. It symbolizes the abilities of a person in the work context. Think of the T shape. The vertical bar is your deep expertise in one area. The horizontal bar represents your ability to collaborate with others on cross-discipline areas. Both are equally important.

T-shape

4. Don’t be afraid to delegate.

Be a maestro, not a solo player: It’s essential for staff plus engineers to give opportunities to others. The music will be richer if you give space to the violin, guitar, and piano. The idea of a one-person orchestra is no longer valid. The programmer genius is a myth that doesn’t exist.

5. Don’t neglect your soft skills.

As a staff plus engineer, your role impacts the whole business strategically. Widen your reach beyond just technical skills. Learn about business, and think of ways to align code with business.

I like to read books that are outside of the IT area entirely; it helps me think outside the box. Resources on history, economics, and philosophy have helped me to make analogies and connections in the context of communication, relationship building, and collaboration.

On Being a Well-Rounded Software Engineer

  • It’s impossible for one person to specialize in everything. Find yourself a focus, talk with a mentor, and head into that focused direction.
  • There’s a lot of ground to cover other than technical skills. Work on your communication skills. Storytelling isn’t just for writers; it will be of great value to you. (When talking to stakeholders, which do you think is more effective: saying, “Let’s upgrade the Java,” or “Let’s guarantee a shorter response time for our application and deliver with higher quality”?)
  • Read Software Engineering at Google: Lessons Learned from Programming Over Time by Titus Winters.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

How to measure Engineering Productivity?

30 November

When you grow fast, its normal to focus on Value delivery aka "Feature Releases". Too many releases too soon will inevitably lead to piling tech debts and before you know, inefficiencies creep in, performances goes down, and ultimately any new release takes too long. Sounds familiar? Then read on..

Productivity
Prioritization
Performance
Ramkumar Sundarakalatharan

Ramkumar Sundarakalatharan

VP - Engineering at ITILITE Technologies

How I failed at my startup

14 October

There are nine specific building blocks and functional areas every org/company need to work to launch the product and provide services to customers. How effectively founders tackle them determine the destiny of the company.

Mission / Vision / Charter
Scaling Team
Building A Team
Impact
Strategy
Prioritization
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Assessing the Performance of Your Team

20 August

Parallels between Work and Sport.

Goal Setting
Different Skillsets
Coaching / Training / Mentorship
Performance
Ron Pragides

Ron Pragides

SVP Engineering at Trustly Group AB

How to Maintain Happiness: The Underrated Aspect of Creating Team Dynamic

2 August

Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.

Personal Growth
Company Culture
Leadership
Internal Communication
Psychological Safety
Jonathan Ducharme

Jonathan Ducharme

Engineering Manager at AlleyCorp Nord

How to Enter QA With a Non-Technical Degree

2 August

Lewis Prescott, QA Lead at Cera Care, explains his journey from a degree in psychology to learning test automation and computer programming.

Handling Promotion
Personal Growth
Coaching / Training / Mentorship
Career Path
Lewis Prescott

Lewis Prescott

QA Lead at CeraCare