## DEV Community ๐ฉโ๐ป๐จโ๐ป is a community of 966,904 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

rubalk

Posted on

# Are you an awesome developer???

According to Evans Data Corporation Data's Global Developer Population and Demographic Study, there are 26.9 million software developers worldwide, each working on different platforms and programming languages. Every other developer has a different way of writing their code, but one thing that connects us all is our Witty and Sagacious Brains.

In this article, we will go through the some of the daily interactive areas of a developer and situations that a developer must have encountered at least once in their entire professional journey.
So, go through each of the questions below and try evaluating yourself against them. The answer to each of the questions are binary, either yes or no, true or false, 0 or 1 or whatever you say :)

At the end of the article, you will have an answer to how awesome of a developer you are.

Be honest to yourself and don't rush for the results....

Here you go!!!

1. Can you solve each of the following basic logical problems without searching online and taking help?
a. Evaluate if the given number is a Palindrome Number or not.
b. Evaluate if a number is Prime numbers or not.
c. List numbers in Fibonacci series in a given range.
d. Print a pattern with * in the form of a triangle.

2. There is Project A that you worked on previously and now you are working on a new one Project B. A feature is supposed to be developed in Project B which is exactly similar to a feature in Project A. You know the exact solution for the feature but the solution you derived was not an ideal solution. It had few drawbacks and loopholes, and you are aware of them, but it works like charm and chances of getting user getting into those issues is very rare. Will you change the design and derive a better solution?

3. Have you tried deriving your own logic for the following generic problems?
a. Palindrome String
b. Counting occurrence of a particular character in a given string
c. Removing duplicates from array
d. Sorting an array

4. Every developer must have solved some of the problem statements several times for different purposes in their entire journey. This may be for different project or while learning a new language or just for the sake of practice. For example, calculating the largest number in an array. So, do you derive a different logic every time, a more optimized and newer solution?

5. You don't get agitated when you get a bug in production ready feature?

6. While reading any problem statement do you tend to derive the solution in your mind? As you are moving ahead and reading the problem statement the solution is being constructed in your mind and at the end when you are finish reading you have a ready solution in your mind on which you can start working immediately. Did this ever happen to you?

7. Do you try to minimize the iterations in your loops by breaking them conditionally? Does saving a single iteration in the loop makes you satisfied and happy?

That's all folks!!!

I know, the questions were not very complicated, but they must have opened abundant windows of questions for you.

So, here are the results...

If your answer to each of the question is a truthy(yes, true, 1) -
Congratulations!!! You are an Awesome Developer!!! Keep up the good work!!! Inspire and guide others to be as awesome as you are.

If all your answers don't result in truthy then don't get disheartened. There is still a long way to go. Try identifying the opportunities to grow and whenever you find yourself in any of the situations mentioned above, always go for a truthy :)

Honestly, there is no scale to measure an awesome developer, it totally depends on how wisely you take decisions while developing. The situations mentioned above are some of the common situations we face on daily basis. There is just a thin line of choosing a healthy and optimized solution over a workaround solution. You already know the answers to each of the question, but still, we don't abide by that. Choosing an ideal solution will always move you one step closer to be an awesome developer and in no time, you will be an
AWESOME DEVELOPER
or the better I say
LEGEND wait for it DARY DEVELOPER

Do share in the comment section below if you are an Awesome Developer.

๐ฉWii ๐๐๐๐๐๐๐

1111 1 1110 0 0 1 1

Can't fully agree with 7; saving a single iteration at the cost of an added `if` statement might not be worth it, depending on your problem domain and whether the language is smart enough to optimise this.

As for question 6, this happens to me a lot: I can't watch someone program something without a voice in the back of my head nagging me that "I would do this differently" (and of course, ones own way of doing it is always "better" :D)

A bit of criticism towards the first question: Those are very typical interview questions, and I don't think knowing the solutions from interview preparations is really worth anything. Some of those problems we've simply memorised the solutions to, and that won't help us in real-life programming. Those examples that we don't have memorised and would have to come up with a solution for say the most: any good programmer should be able to quickly figure out these problems even if they had never heard them before.

rubalk

Hey thanks for your input, really appreciate it!!!
However, I personally code it differently every time I am made to solve it, doesn't probably take away the thrill for me. Also, for us guys who have been taught a lot given our educational background it might seem to be repetitive, but for self taught developer developers it's not the case I believe. And yeah they sure seem to be cliched interview questions but cliche exists for a reason.

Thanks again.

๐ฉWii ๐๐๐๐๐๐๐

Also, for us guys who have been taught a lot given our educational background

I don't remember ever learning any of those algorithms in formal education, but most of themย I've seen on lists of "topย X interview questions" and such.

But regardless of education level, finding any of these problems and being able to solve them because you know how they work doesn't say much.

But they're still excellent interview questions, because you can use these relatively simple snippets of code to start a conversation and figure out how well someone understands the code and how it works. Starting with Fibonacci, for example, there's a lot to be said about recursion.

rubalk

I guess, there is a difference in our educational background. But anyways, when beginning the journey as a programmer we tend to solve small and easy questions and the problem statements that I mentioned are some of them. We do so because it helps to build our logic and get the essence of how programming languages work. Of course, these questions are asked during interviews, but again the purpose is same - to check the logical ability of the candidate.
I am just talking about my observations that I noticed on different types of people working in the same background. My purpose of writing that point was just to highlight the logical and reasoning ability of a developer. And we never know there might me some around us who never tried these questions or some who are very quick to solve them.
I believe, there is no obvious question in the programming world.

Thank You for sharing. It was nice to know your views.

Siddharth
1. Yes, but I'm too lazy so I copy anyways ๐คฃ
2. I'll improve. I won't even leave the broken implementation in project A
3. Yes, but I mostly stick to tried and true methods
4. Yes
5. Never happened, so idk
6. Yes
7. Yes

rubalk

It was nice to know your views :)
Thanks for sharing.

Suraj Kamdi

Awesome... Keep up good work... ๐๐ฝ