3 Things James Gosling Said That Will Make You a Top Software Engineer

What will make you a top software engineer? One very powerful way to achieve this level is to have a reference, someone you can follow the steps to massively improve yourself.

I strongly believe that having references, someone we can follow the steps to become a better person will massively help us to go to a new level. There are so many giants we can follow the steps and learn from them. James Gosling the creator of the Java language is for sure one of them and by watching the interview he gave I could absorb some crucial words of wisdom from James.

That’s what you will learn here, these 3 essences that James mentioned in the interview might change your way to think as an engineer.

1 – Be curious

James emphasized that a lot during the interview. One way to be curious about our profession is to get interested in new technologies since they are emerging very quickly. We need to be wise though and align our learning with what will help us in our careers or life in general.

Currently, the majority of companies have their software running in the cloud, therefore if you are an engineer who is not used to software automation, continuous integration, continuous delivery, and cloud architecture, you better get curious about that, otherwise, it might be painful when you start in a project with microservices for example and you don’t know exactly how cloud architecture works.

We can be curious about anything else, our brain is massively powerful, and the more we learn about different subjects, the more our neurons are able to recognize different patterns and absorb complexity. It’s very healthy to read about a very different topic than we are used to, by doing that we will be creating these new neuron connections which will enable us to be sharper and learn other things faster. Even if you are curious about cooking, this will help you to create new neuron connections, another simple thing you can do is to use your non-dominant hand to brush your teeth so that you will use the other part of your brain.

You can be curious about history, geography, physics, heroes from history, and how they achieved a massive level of success, Warren Buffet has the habit of reading biographies, he is curious but also focused.

Steve Wozniak is also very curious, otherwise, he would never be able to build and develop entire operating systems for computers.

One very simple thing you can do to expand your knowledge is when you are walking on the street, pay attention to what is happening around you, observe the architecture from constructions, and imagine the complexity and planning it’s necessary to apply to build them.

Be curious about how computer hardware is built, how code is executed in the machine, and how information is exchanged via the internet. You don’t need to go deep into those topics of course but you can have at least an idea of those things so that you can develop your way to think and solve problems as sharper as possible.

2 – Mix your learnings with your hobbies

When learning a new programming language or a new paradigm, it’s hard to stay consistent and follow a routine about it. A way to motivate you to go deep into technology is to mix it with a hobby you have. If you like games, for example, you can create a simple game application. You can then deploy your application in the cloud, you can automate it, can create your own architecture, and you can get prepared for new challenges.

If you like cars, you can create an application to manage cars, you can think of how an application from a car company would work, and then you would be sharpening your way to think about a solution and solve problems. In the current software development market, we are being paid for solving problems, so the more adaptive you are, the better and more valuable developer you will be.

If you like humor, this is one thing I like, that’s the reason I create the Java Challenges with humor characters, I really enjoy The Simpsons and that’s the reason I use so many classes/methods/variables names based on the series. Only using the names of the series makes the creation of the Java Challenges more fun for me and also for developers who enjoy the series.

3 – Move to another job if the management ideas are against your values

This is another thing that drew my attention from watching James talking. If there is an idea from management that you know it won’t help the project you are working on, you should speak up about your ideas to try to avoid a bad situation to happen. You should do your best to try to show another way for people to consider rethinking the situation to apply another approach to solve the problem.

Sometimes, we will try hard, and we will say the same things many times but unfortunately, there will be times when we won’t be listened to and that’s fine. When we notice that there will be no action toward what we said, also when we notice that there will be no growth in the current company, the best move for you and the company is to get another job.

Only make sure that you tried everything before making the decision of getting another job, the best approach is to always provide the best service possible no matter what company you are working for because on the way you grow, you become better, therefore more valuable to the market.

At the beginning of my career, I always thought that only technical skills were important and I was wrong, on these situations where you have to sell an idea, you have to deliver your message in a concise and impactful way so that people will hear you. Practicing your communication skills and how to deal with people will massively help you in your career and in your life in general. Remember to focus on your soft skills as well, and balance your skills to be great technically and on your soft skills side. A book I recommend to practice is the following book, Soft Skills which will help you to be a more effective software engineer.

Ready to go to the next level as a software engineer?
I encourage you then to be constantly breaking your limits!

 

Written by
Rafael del Nero
Join the discussion

3 comments
  • How about teaching other juniors to learn on the subject when you help someone to learn as well for yourself is a great benefit

    • Hi Edib, thanks for your question. Helping junior developers or sharing your knowledge is one of the most powerful ways to become a better software engineer. So definitely, whenever possible, share your knowledge!

  • Thanks for this inspiring article. Definitely, we got a lot to do to take ourselves as software engineers to the next level.
    Just, it seems like there’s something wrong with the ‘Soft Skills’ book link. It redirects to java quizzes.