What makes a good engineer great?
Behind every great software there is a team of great engineers. A team of people who use their distinctive attributes to develop powerful solutions to our modern-day problems, who think progressively and take their work to a level that overdelivers.
But what makes an engineer truly great? What is it that sets them apart?
There’s a general misconception that going from good to great requires a giant leap forward in know-how, skills, and knowledge. But if you take a closer look, you’ll see that, as in most cases, “the devil” is in the details.
Exceptional engineers give a little bit of “extra” to everything they do, at any stage of the process and they know that when you add the little things together, they amount to a lot.
So, what do great engineers have in common?
1. They are curious, open-minded, and innovative
At its core, software development is a problem-solving endeavor. A great engineer is always curious and open-minded when it comes to solving problems and can change their beliefs and predetermination when they’re presented with new information. They go looking for new answers, rather than thinking they already have all the answers.
2. They are able to simplify rather than complicate
The landscape of software constantly changes and gets more and more complex over time. A great software engineer knows to factor this in from the very start and is able to weave simplicity into their work.
3. They are ambitious and self-motivated
Engineers who can see the bigger picture and can motivate themselves will always be a step ahead, because they’re not relying on their environment and surroundings to keep them going and give 100% effort to the project.
4. They are strong communicators and work well in teams
There’s an old African saying “If you want to go quickly, go alone. If you want to go far, go together.” The ability to communicate openly and work together with people is an amazing skill that helps the team to power through obstacles and tough times.
5. They know the value of everything, not just the software
Great engineers know that there’s value in everything – feedback, different opinions, innovation… and most important of all, they’re able to determine what matters most at any given time in order to maximize value and contribute to the project.
Even though there’s no magic formula to becoming a great engineer, it continuously goes to show that it’s the little things people tend to overlook that end up having a big impact.
The difference between an average and a good software engineer is simple – technical skills and experience. But the difference between a good and a great engineer lies in all the nuances of using personal skills to add even greater value to the final product – that’s how you deliver beyond what’s expected.
Chat GPT for development
Can you rely on ChatGPT for secure coding?
If you have come across any of social media "Stop harassingChatGPT" posts, or maybe tried to check its limits, you are aware that sometimes it may struggle with basic math and simple logic. This is totally understandable having in mind that it was educated on people's historical and current collective writing worldwide and unfortunately, it's still not the robot butler that you've been dreaming of. The problem is that it often presents entirely false facts with a confidence of a four-year-old in a Batman costume.
While it can be a great learning tool in some cases when you need some complex subjects simplified, you must remember its biased behavior and
never fully rely on the data it provides. This is especially important when it comes to coding, since there are a lot of security issues to be aware of.
Where ChatGPT fails to support you in coding
• It doesn't have enough data for the ever-evolving secure coding best practices. ChatGPT is not updated with the latest threats, vulnerabilities,and attacks, as it is not linked to any cybersecurity framework.
• Chat GPT cannot guarantee about misconfiguration issues, as it is also the biggest flaw in human coding.
• It cannot perform security review of the code, nor to ensure authenticity of external data sources.
• It has no advanced secure coding capabilities to make assessment of the code in terms of weakness and vulnerability.
• There is no assurance for the safety of the code it produces since it is not designed to take account of the saved data it generates. This can
impose a threat for the IT ecosystem where you plan to deploy it. Think about API keys, tokens, login pairs and log entries.
How to leverage AI in secure coding
AI-powered tools can help you address potential security flaws in the code you build. But the result is only as good as the developer’s intentions and depth of understanding. So, if you are a coding newbie without full knowledge of how coding works and how to secure it, you'll haveto improve your understanding of coding and cybersecurity to take full advantage of AI coding and AI secure coding solutions.
Technology is here to make things easier, and it would be foolish not to use it as support. However, the only smart way to gowith it at this point is to be open to learning how to useChatGPT or any other AI tool but invest in developing your other skills, too. Remember that people are still the pillars of fully working coding solutions.