Create Your Developer Success Story

Prateek Kathal
The Crowdlinker Chronicle
6 min readAug 31, 2018

Some developers code for coffee ☕️, some for money 🤑 and some for zen ☮️. Problem solving is one of the skills that makes them a great developer.

Is that enough though? Definitely not!

For clients, business comes first. Most clients care more about speed of delivery, which might not produce the best results. Imagine ordering a pizza and having it delivered to you in 15 minutes. It’s possible, but do you really expect it to be as good as the one that takes 30 minutes? Cooking requires time. It’s an art.

The outcome of any rushed work generally turns out to be undesirable.

Change in requirements may render any previously written code as useless. Furthermore, when clients disapprove of extending deadlines to accommodate these changes, we start noticing a decline in code quality.

Failure is important for success, and for any developer, one of the biggest failures is writing “Bad Code”.

What is a Bad Code?

Any code which defies the laws of structuring, reusability, optimal performance and code readability is known as “Bad Code”.

Let’s not treat the word “Bad” as 😞 . You learn as you go. If you are new to coding, it’s okay to have some lines in your code that don’t make sense. However, it’s important to not sacrifice code quality, especially when you have tight deadlines. Developers should focus on the quality of code, and leave the deadlines up to the Project Managers.

What are its disadvantages?

Note: Something bad in the eyes of one, may be good in the eyes of another.

So then how do we differentiate between “good” and “bad”?

  • Keep four basic things in mind when coding — Readability, Structure, Performance & Standards of Implementation (PSR for PHP, PEP for Python).

In the first few years of a developer’s career, the main focus is on making the code/logic work rather than actually spending time structuring it. As a result, the code quality on a scale of 1 to 10 usually remains between 1 & 5.

Going back to the first paragraph of this article, if you look closely at the line numbers, you’ll see a difference of 90 lines between the two. This basically means that the person who wrote 100 lines of code didn’t put any effort into structuring it. On the other hand, the person doing the same thing in 10 lines is more or less following a certain pattern to structure the code.

My code works fine, so why should I waste time restructuring it?

  • When working in a team, it’s important to follow a particular set of standards and patterns. This is so everyone can read and understand your code without physically coming to your desk and asking you what lines 100 to 200 are supposed to do.

No one pays you to code better, but the joy of money is valid only when you are working alone.

  • It’s not just about what you’re getting paid for, it’s about personal growth as well.

Working code may be good for business, but it will never be good for a developer if it isn’t easy to read.

Clear Your Concepts!

Before you build a car, you must know how to build an engine. Similarly, before you build software or an app, you need to know how things actually work behind the scenes. Don’t just copy and paste random code from StackOverflow. Try to get deeper into it and understand line by line what the outcome of that code will be. Once you do, you can rewriting the whole thing in your own way.

The following resources should get you started:

  1. OOP (Object Oriented Programming) — Wiki
  2. DRY (Don’t Repeat Yourself) — Wiki
  3. SRP (Single Responsibility Principle) — Wiki
  4. SDP (Software Design Patterns) — Wiki
  5. Code ReuseWiki

Keep Reading!

Imagine you ordered a chair from Amazon, which you will have to assemble once it gets delivered. Before you start assembling, you’ll need to read the manual. You don’t necessarily need to, but if you do, you’ll definitely learn something that you don’t already know!

Similarly, you can’t just build something without going through the docs. You can even go on Github and read other people’s code. Read articles related to the language that drives you. The more you read about it, the better you get at it!

“It is what you read when you don’t have to that determines what you will be when you can’t help it.” ~ Oscar Wilde

Fix The Wrong, Don’t Work Around It!

You may come across lines of code written by either you or someone else, that were written according to the old requirements. Don’t be afraid to change those lines, even though the whole thing is already working and you don’t want to mess it up. Honestly, just change them! Rewrite the whole thing according to the new requirements.

Life becomes better when you FIX your problems, not work around them!

Go Through Your Code!

Once your finish writing your code, go through it. You may even find a better way to do the whole thing. Then you’ll realize how stupid you were earlier to have coded that way.

Trust me, you’ll achieve a sense of personal pride after rewriting the old logic, making it cleaner and more readable.

Learn To Comment/Document

Comments allow anyone else going through your code understand it better. If you have something like this in your code a = 2b + c, no one will know why you used this particular formula or what you are trying to achieve with it.

Get Help From Your Team!

You don’t necessarily have to poke your team for every small thing you don’t understand, but you do need to ask when in doubt. For example, you should ask questions such as:

“What do you think is a better way of solving this?”

“Do you think this is the right approach?”

“Can we do this instead of that?”

But let’s say you asked…

“This was working before and for some weird reason, it isn’t now. I don’t understand. Can you help?”

No! You should only ask if you are stuck on the problem for way too long, but it is your job to find out why it isn’t working.

Give Back To Your Team!

It’s not a “take what you can, give nothing back!” situation. You must learn to share and contribute to your team. Help them out, because they are probably trying to figure out the answers to questions that you yourself used to struggle with a few weeks ago. And if you don’t know, you’ll probably learn something new!

Define Your Own Patterns!

Don’t be afraid to create your own design patterns. As you create your own patterns, you might figure out better ways of structuring your code. Who knows, you could be writing your own articles on Medium! That said, don’t forget to follow the defined standards. They are called “standards” for a reason.

Improvise & Learn From Criticism

It’s a long and hard process, but you should always strive to improve yourself. Remember that you improve for yourself, not just for the company you work for. Just because you don’t get paid to throw out your own garbage, doesn't mean you don’t do it!

Code To Inspire

Write your code in ways that inspire. You don’t need to build an entire framework to inspire someone. Just code better and eventually, you’ll become an inspiration or a person to look up to.

Coding is a term specific to Computer Science, but that shouldn’t stop you from being creative while coding.

Be Responsible, Be Accountable

You are solely responsible for the lines you write. If something ever goes wrong, RELAX, no one is going to kill you. Just take your time and fix it. Your project/product manager should understand that humans are bound to make mistakes, because they have probably made several of their own mistakes in their lifetime.

That’s it! If you keep these simple things in mind, you are bound to do something great in your life.

It is important to understand that the purpose of this article is not to criticize anyone’s methods. The main point of writing this article is to help developers understand what is necessary for them (not financially, but personally) and what things to keep in mind to have an aspiring as well as an inspiring career. As developers, we must understand that we learn as we go and we are bound to make mistakes, even if we have error-friendly documentation.

Not everyone can be Superman, but anyone can be a Hero!

Crowdlinker wants every developer to have a success story to share. If you believe you already have one, tell us about your journey so far in the comments.

--

--

Prateek Kathal
The Crowdlinker Chronicle

Laravel 📦, NestJS 🦁, Docker 🐳 | Sr. Full Stack Developer @Crowdlinker