3 Years being a Software Engineer, Here are some things I have learned
Photo by Oren Kwintner from FreeImages

3 Years being a Software Engineer, Here are some things I have learned

Life is a journey, so as your carrier and like every other journey, your carrier teaches you a lot of things. Here are some things I learned and found worth sharing as a software engineer.

1. Deadline is ALWAYS near

It is just how it is. You are always late, the deadline is always near, banging constantly on the door. Even if you start a new project from scratch, the business just needs it RIGHT NOW or else they will lose the market. The client always wants something WORKING as soon as possible. The patch should be fixed as soon as possible. That specific feature must be deployed right away. Everyone just needs it right now. We are always in a hurry and we are always late too!

2. Clean code is better than clever code

When it comes it to production grade software development, a well written, clean, understandable code is far far better than a smart clever hack. Nobody really cares how smart you are if your peers or some other software engineer couldn't grasp your cleverness. Write dumb, simple, clean code. Write code as a story for your fellow developers, keep human in mind, not CPU. Always keep in mind CPU can understand binary, languages are invented for humans.

3. Estimations are never perfect

Estimations are one of the hardest parts of software development. They are not perfect, so stop pretending too. Always ready for any unforeseen consequences, a little change can cause a lot of deviation. Always ready for that. You can never commit anything in absolute terms. Don't relax thinking you have plenty of time left for development, you never know what comes next.

4. Never stop learning

This thing is out of the question. You just can't afford to be lazy. It only took months for a rising shining technology to vanish into oblivion. Always keep your self updated for new trends, new technologies, invest your time in learning and keep your head above the water. Never get rigid on a particular set of technology, never religiously follow any specific language, always keep an open, learning mind. Enjoy the ride!

5. Don't forget to Live

In pursuit of success, don't lose your self. Regularly give time to your self, your family, your relatives. Go to places, explorer things, meet new people, attend parties, participate in social work, help others. It gives you energy and more focus on your goals. Never compromise on your sleep. Eat timely, manage your self. Life is simple, keep it that way. It makes a good human in general and a good software engineer too.


Have you Enjoyed the Article?

Let me tell you one more thing, Here is my official blog: TheBackendGuy.com

Muhammad Usama Jamil

SSE - iOS | Flutter | Mobile Apps Enthusiast

5 年

Very well written, thumbs up!

回复

Nicely written.

回复

要查看或添加评论,请登录

Muhammad Asher Toqeer的更多文章

  • Modern Java as Data-Oriented Language

    Modern Java as Data-Oriented Language

    Java, at its core, is an Object Oriented Language. But, Object Oriented Programming alone can't solve all of the…

  • Spring Framework Brief Overview

    Spring Framework Brief Overview

    History Spring is a framework for Java Enterprise Application Development. It started in 2003, at that time Java offers…

  • Java Modules Introduction

    Java Modules Introduction

    Classes are the basic unit of a program in Java. Packages are used to manage classes and modulesare used to manage…

  • Handling Mistakes as a Developer

    Handling Mistakes as a Developer

    This article is based on "A Pragmatic Philosophy" from the book: "The Pragmatic Programmer". Mistakes are Inevitable.

  • Java 8 Functional Programming Simplified

    Java 8 Functional Programming Simplified

    This article will explain Java 8 functional programming related concepts, i.e Lambda expressions, Functional…

  • MVC and MVCS : Software Engineering

    MVC and MVCS : Software Engineering

    In previous article Architectural vs Design Patterns: Software Engineering we discussed in detail about what…

    2 条评论
  • Architectural vs Design Patterns: Software Engineering

    Architectural vs Design Patterns: Software Engineering

    Software design patterns are some proven ways to solve a reoccurring problem faced by programmers. These are general…

    2 条评论
  • Variable Names, Some tips

    Variable Names, Some tips

    Variables can be your best friend, or your worst enemy and that depends on You. If you are not careful and just…

    2 条评论
  • Meaningful Class Names

    Meaningful Class Names

    This article is about naming classes, mainly it is about "how to meaningfully name your classes" remember in…

    3 条评论
  • Function Names, do it right

    Function Names, do it right

    In programming, naming identifiers (class, method, variable names) is one of the most crucial part of writing code. If…

    7 条评论

社区洞察

其他会员也浏览了