aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • DevOps
  • People
  • Practices
  • Programming

How Not To Be A Mediocre Developer!

  • root
  • January 29, 2021
  • 5 minute read

Write more code

If you want to get better at something then you have to spend time doing that thing, there is no other way sadly. No matter how many articles you read, how many times you read the docs, you will not improve unless you put your hands and mind in action. That design pattern which seemed hard to implement at the start will seem like a cake walk after you have practiced it’s use in multiple contexts.

Incorporate tests

When I first started writing tests for my own code, I was amazed to see the mindset I was lacking for writing good tests. Writing tests will enable you to look at your code the way you did not imagine at first because when coming up with tests you have to think about how can this thing break and you realise you were doing too many things in that function you wrote and it might be better to split into multiple functions because it’s hard to come up with a test for a function which does multiple things.


Partner with aster.cloud
for your next big idea.
Let us know here.



From our partners:

CITI.IO :: Business. Institutions. Society. Global Political Economy.
CYBERPOGO.COM :: For the Arts, Sciences, and Technology.
DADAHACKS.COM :: Parenting For The Rest Of Us.
ZEDISTA.COM :: Entertainment. Sports. Culture. Escape.
TAKUMAKU.COM :: For The Hearth And Home.
ASTER.CLOUD :: From The Cloud And Beyond.
LIWAIWAI.COM :: Intelligence, Inside and Outside.
GLOBALCLOUDPLATFORMS.COM :: For The World's Computing Needs.
FIREGULAMAN.COM :: For The Fire In The Belly Of The Coder.
ASTERCASTER.COM :: Supra Astra. Beyond The Stars.
BARTDAY.COM :: Prosperity For Everyone.

Let see an example below

function postData(data) {
 boolean valid = true;
 // check if data is defined
 if (data === undefined) {
   valid = false;
 }
// check if email is well formed
 if (!regex(data['email']) {
   valid = false;
 }
// check if password is atleast 8 chars.
 if (data['password'].length < 8) {
   valid = false;
 }
if (valid) {
  http
   .post(`example.com/user/create`, data)
   .then((response) => {
    //append to the list
    this.users.append(response.userid);
   })
   .catch((error) => {
    // show errors.
   });
 } else {
   showValidationError();
 }
}

So the method postData is doing multiple things such as validating the data, appending to the users list when the promise is resolved and handling errors. Writing unit test for postData will be difficult and messy. You can break it into multiple methods and test each method separately for e.g.

function postData(data) {
 return http
   .post(`example.com/user/create`, data);
}
function validate(data) {
 // check if data is defined
 if (data === undefined) {
   return false;
 }
// check if email is well formed
 if (!regex(data['email']) {
   return false;
 }
// check if password is atleast 8 chars.
 if (data['password'].length >= 8) {
   return false;
 }
  return true;
}
function appendUsers(userId) {
  this.users.append(response.userid);
}
function main() {
 if (validate(data)) {
  postData(data)
   .then(data => appendToList(data.userId))
   .catch(error => handleError(error))
 } else {
  showValidationError();
 }
}

You can already see why writing tests leads to a better quality code, you had to split your long method into multiple smaller units and each single unit can be tested atomically.

Read More  Android Dev Summit 2019 | Why Does Google Think My App Is Harmful?

Be honest

Be honest about what you know thoroughly and what you don’t. Pretending that you know the in’s and out’s of an API will never help you improve and infact you might lose face in a discussion if you happen to say something stupid because of your lack of knowledge about an API or a topic.

 

Contribute to open source

Contributing to open source can expose you to scenarios which might never occur at work and thus limiting your horizons. You can learn what it takes to run a project in a distributed scenario, introducing non breaking changes and other new open source tools etc, the benefits are endless and we all know how open source has changed everyone’s lives directly and indirectly.

by rawpixel on Unsplash

 

Be open to help

Helping others for something you know makes you a “goto” person for that concept/feature/API and thus stemming your value and importance in the team. Be open to help for stuff you might not be the best at, you might end up learning something valuable from the experience.

 

Pick a personal project

Personal project’s are a great way to learn new frameworks and technologies which you might not experience at work. With your personal project you are the product manager, you are the developer and the architect, so you can imagine the amount of decision making you will have to do. You can use the experience from your project and suggest new frameworks and tools at work or in your community and shine like a ⭐️

 

Lower your ego

Don’t let your ego and your job title come in between the way of your learning/improvement. Care less about who you are and more about what you are becoming every day. An architect in a xyz organisation might be a software developer in some other organisation. Always be open to new and different ways of doing the thing you think you are great at. You might loose on a more efficient algorithm or a better design for a feature.

Read More  Oracle Chosen As TikTok’s Secure Cloud Provider
don’t be the kanye in your team

 

Understand the “why”

Before accepting and stemming your belief in a new framework or a pattern or an API try understanding that “why” does it exists at first place. Try getting to the intuition of the very existence of a concept.

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

Above is the first code example you come across on the vue.js docs site. Even when I am looking at this very basic example I am trying to reason out the below things in my head:

  • Why a new keyword for creating the component ? Why don’t they have a factory pattern for creating objects ?
  • Seems like el property takes the id of the element and why does it uses # ? Does that mean I can add other element selectors as well such as attribute and class ?
  • data seems like a very generic property name of the vue object, what is it trying to represent exactly?

Not saying that you should be critical to this extent for everything but developing this habit helps understand the philosophy of things better and thus improving your understanding.

 

Don’t be lazy

Laziness can come in your way to showcase your skills or the things you care about for e.g. if you believe a refactor will improve the performance then go ahead and do it, add comments to save other developers’ time, document the new API you have built. Time added by you in your code is equal to time saved for the other developer who is trying to make sense of what you have written.

Solve coding challenges

Solving coding challenges forces you to think about stuff which we take for granted in our routine. I am talking about space and time complexity of our code. Some people argue that it’s not practical to solve challenges since most of the things are abstracted and you are just gonna use the API.

Read More  Jetpack Compose Stability Explained

But I disagree! Not only does it help you look at the code critically but also it enables you with the confidence of coming up with the best possible code in terms of performance and another benefit is that you will always be prepared for that interview ?

Some of the sites for solving challenges are hackerrank, leetcode, topcoder and spoj.

 

Encourage the good stuff

If you have liked your colleague’s commit then don’t hesitate to drop a message and appreciate or upvote that answer that helped you on stackoverflow or clap for the article on medium which gave you free wisdom or star that interesting project you checked out on github. Encouraging others helps bring the best out of them and eventually you also.

 

Do not hide behind the layer

You found an issue with the API which you are consuming in your view but you cannot fix it because you are a “front-end developer”. It is a bad attitude to have in my opinion. The basic principles of programming such as keeping the code DRY, using abstractions if you see multiple use-cases for your classes, catching exceptions for all flow control paths, etc. apply to almost every layer of the stack. Keeping the basic principles in mind, it might help you solve issues which you thought you cannot touch because you don’t work on that part of the codebase.

Conclusion: As I said above, reading this guide will help you realise the things which you haven’t been doing yet but to make the cut above you will have to put in effort and discipline ?

This feature is originally appeared in hackernoon.


For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!

Our humans need coffee too! Your support is highly appreciated, thank you!

root

Related Topics
  • Code
  • Developer
  • Mediocare
  • Programmers
  • Programming
You May Also Like
View Post
  • Featured
  • People

Conclave: How A New Pope Is Chosen

  • April 25, 2025
View Post
  • People
  • Technology

AI is automating our jobs – but values need to change if we are to be liberated by it

  • April 17, 2025
Cloud
View Post
  • Engineering
  • People
  • Public Cloud

Why We Need Both Cloud Engineers And Cloud Architects

  • March 11, 2024
View Post
  • DevOps
  • Engineering
  • Platforms

How To Fail At Platform Engineering

  • March 11, 2024
View Post
  • People
  • Technology
  • Work & Jobs

Usher’s New Look Embarks on AI-Focused Collaboration with IBM to Set Students up for Career Success

  • March 7, 2024
goswifties-taylor-swift-travis-kelce-fathers-daughters-super-bowl-bonding
View Post
  • Featured
  • People

How Taylor Swift Unexpectedly Brought Fathers and Daughters Together Through Football

  • February 11, 2024
Cloud
View Post
  • People
  • Technology

Clean Air Is A Valuable Economic Asset. Here Are 4 Steps To Achieve It

  • January 31, 2024
Earth
View Post
  • People

Why Standards And Controls Are Essential To The Future Of Digital Financial Markets

  • January 31, 2024

Stay Connected!
LATEST
  • college-of-cardinals-2025 1
    The Definitive Who’s Who of the 2025 Papal Conclave
    • May 7, 2025
  • conclave-poster-black-smoke 2
    The World Is Revalidating Itself
    • May 6, 2025
  • 3
    Conclave: How A New Pope Is Chosen
    • April 25, 2025
  • Getting things done makes her feel amazing 4
    Nurturing Minds in the Digital Revolution
    • April 25, 2025
  • 5
    AI is automating our jobs – but values need to change if we are to be liberated by it
    • April 17, 2025
  • 6
    Canonical Releases Ubuntu 25.04 Plucky Puffin
    • April 17, 2025
  • 7
    United States Army Enterprise Cloud Management Agency Expands its Oracle Defense Cloud Services
    • April 15, 2025
  • 8
    Tokyo Electron and IBM Renew Collaboration for Advanced Semiconductor Technology
    • April 2, 2025
  • 9
    IBM Accelerates Momentum in the as a Service Space with Growing Portfolio of Tools Simplifying Infrastructure Management
    • March 27, 2025
  • 10
    Tariffs, Trump, and Other Things That Start With T – They’re Not The Problem, It’s How We Use Them
    • March 25, 2025
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • 1
    IBM contributes key open-source projects to Linux Foundation to advance AI community participation
    • March 22, 2025
  • 2
    Co-op mode: New partners driving the future of gaming with AI
    • March 22, 2025
  • 3
    Mitsubishi Motors Canada Launches AI-Powered “Intelligent Companion” to Transform the 2025 Outlander Buying Experience
    • March 10, 2025
  • PiPiPi 4
    The Unexpected Pi-Fect Deals This March 14
    • March 13, 2025
  • Nintendo Switch Deals on Amazon 5
    10 Physical Nintendo Switch Game Deals on MAR10 Day!
    • March 9, 2025
  • /
  • Technology
  • Tools
  • About
  • Contact Us

Input your search keywords and press Enter.