Education logo

Software Development As a Job: Pros, Cons, and Why The Future Looks Bright

Summing up everything that makes software development special for devs.

By Jorche OliveiraPublished about a year ago 10 min read
Like
Software Development As a Job: Pros, Cons, and Why The Future Looks Bright
Photo by ThisisEngineering RAEng on Unsplash

Software development is a special job. If you think otherwise, you must surely be new to us! This article follows a frenzied discussion with developers and I will try to make a clear summary.

We will first talk about the most important point: learning. Then we will talk about the advantages and disadvantages. I’m not sure that I remember everything, but I will present to you the most important parts.

Back to the future

You will agree with me that if you are not constantly learning you are heading for disaster. Here I’ll teach you nothing. Our profession as a developer, more than others, is very demanding regarding this point. But in recent years, this demand has intensified even more! The advent of this profession is crazy. The hyper is real. When I was making my first site in college the link to which I won’t put here — because I’m ashamed — JavaScript was used to make prompts. And it was amazing! Today we do improbable things with it and there’s a new revolutionary framework coming out every hour!

Let’s take a site or app you made a few years ago and look at the code inside. Yes, it sucks, I know. But you wrote that. On top of that, you were super proud of that thing! Now imagine yourself a few years from now and compare it with what you are doing now. Yes, in all professions we evolve, but in the field of developing the ecosystem and technologies, you end up in a mad race. We run after it with training courses, and meet-up conferences, we do non-stop monitoring with Feedly-style tools, because there is more and more to learn and — above all — more and more elaborate concepts and technologies. There is only the profession of developer where absolutely everything moves at this point and so quickly. You have an obligation to sprint! Sit back, learn nothing, you’ll see.

Curiosity is a nice quality

How many languages ​​do you know? How many apps do you use daily? How many concepts do you know? A good big package, huh? And if in addition, you are like, “I’m a full-stack developer, I do everything,” it must be ridiculous.

Yes, that’s the little particularity of our job. You will have to master an impressive array of tools and knowledge. No, we don’t stay on the surface, because on the surface, nothing happens. It’s when you start to take an interest in technology that it reveals its secrets. The little secret is to never, ever let a word or concept that you don’t understand slip through in training, a blog, or anywhere else. Google it! It takes little time and it can save your life. Our profession has an endless mine of information and we have to go and find it.

Titans in your mouth

What’s the best way to learn? A Udemy course? Reading blogs? Making tutorials? Reading developer books? It sure helps a lot and everyone should do ALL of that. But the truth is that there is only one thing that will make you learn like a madman: arrive in a position where you are below the general level and be trained by a mentor/s.

You take great pressure on yourself at the start because you are lagging behind. But anyway, you have no choice, you have to pull your fingers out and will have to store as much information as possible very quickly. I am not saying you should burn out and find yourself in constant stress. No, no, but just be attentive enough to absorb information like a sponge. You have to get out of your comfort zone. Always do what seems complicated. It’s easy to say we agree. But it’s the only way to move really fast. And the situation of a position in a demanding company will push you even further. There’s nothing more painful, there’s nothing better.

By the way, if you go around in circles at your job and it starts to look like a hideout: you put yourself in danger, get out.

The Disadvantages: “Being a developer is bad”

It does not work

We’ve all heard those three words way too many times. Not without messing around, really, I think it’s the thing we hear the most during our entire career. Despite your tests, the design pattern going well, the top architecture, etc., your app crashes miserably all of a sudden. So you start looking at the logs, and you finally find the error. Shit. You have never seen this. What is this thing and where does it come from? During this time, a project manager (or others) comes to see you to find out if everything is fine with the app because the client has just called. A disgusting ever-accumulating stream of stress is slowly running down your back.

Okay, don’t panic. Well, you’ve never seen that, you start by seeing what the internet thinks. And in those moments, the universe is against you. You come across 2, 3 poor results wherein a forum or person has EXACTLY the same problem, and no one has ever replied to them, 6 months ago. Much later you find the solution: it was either a space or a semicolon or some other stupid thing. You then solve the problem with a weird feeling between total relief and divine anger.

Legacy horror code of death

So I’d like to take a moment here to discuss what legacy code is. The normal definition says that it is old obsolete code (sometimes several versions of a language) that continues to be maintained for X (invalid) reasons. Okay, now let’s add to it that very often, this code is very rotten. When I hear good rotten, I think non-scalable, done just for now. With lots of “temporary solutions” inside, no comments, and even less testing. In short, the spaghetti code from hell.

If one day you have to make an evolution on it, because the client asks for it, it’s the worst thing that can happen to you. Because you’re not going to learn anything and above all, it’s going to drive you completely crazy. Some people may find it funny. No. It’s not funny. At all. And obviously, the person(s) responsible for the horror jumped ship a long time ago.

Besides, it’s very easy to blame everything on the developer who made the project. Obviously, he is part of the problem, but most of the time he is also one of the victims in this dark story. The classic scheme is a customer and a box that makes a specification that looks like the bible from hell. Nothing is out of place, nothing makes sense in the specs. In truth, no one understood anything. Once they’re done doing that, they throw it in the developer’s face, yelling that it’s for yesterday. A few years later, one fine morning, someone sends you the hot potato.

The impostor syndrome

It’s a known syndrome in the developer community. Our profession is very affected by this infamous thing. The idea that you just don’t deserve to be where you are today. The idea is that people around you are unaware of how tricky you are. More serious: the hallucinating inability not to recognize any of your successes. A sick fix on your failures. You are constantly late. Everywhere, all the time.

If you think it’s “only for the big noob,” you’re wrong. To tell the truth, someone who doubts their abilities, who does not rely on their knowledge, is someone who will only move forward. But suddenly, it is also a person who will constantly question himself, going so far as to generate this feeling. This syndrome is only the extreme part of this kind of perfectly normal doubt! People who are completely full of themselves are often so for the wrong reasons. Understand: It is only idiots do not doubt anything.

An example? Last March, the famous web developer (for Mozilla) and speaker David Walsh dedicated an article where he talks about his own issue with this. In short, if this situation speaks to you, relax. You are a dev, not a rocket. You can’t know everything, and if you’re not comfortable with certain business concepts: learn! It’s free and it’s not the resources that are missing.

The Advantages: “Being a developer is good”

The Fun!

Nothing more fun exists than embarking on a new project! Everyone has their own vision of fun when it comes to development, we’re all a little different on that, but I think we all have that in common. Personally, I see each of the projects as a pyramid and the fun part is the construction! You have to think about the foundations so that it doesn’t break your face and all the details count! And that’s when my colleagues hear me rubbing my hands to the other end of the open space.

There is really this challenging side too! We start from a blank sheet with a goal. And like in the big movies/video games or whatever, it’s not the most fun ending, but the adventure! Yeah, it’s beautiful what I say huh?

By the way, the thing to take into account, do what you love. Don’t do JavaScript because it’s the new hype is that it’s better paid and there’s a serious shortage. No, if you don’t like JavaScript and you prefer I don’t know, doing Python or something else, do that. Otherwise, you’re not going to get out of it well, and your life will be ruined doing something you don’t like. Let JavaScript lovers do it, they do it very well.

The future is us

The hype around the profession of the developer is growing and has not finished growing. All services are digitizing or are already digitized, everything is being rubberized. And it’s only a matter of time for sectors where technology hasn’t yet made it thanks to the explosion of start-up creation. And to create and maintain all these changes who will we always need?

And it’s not over! The possibilities for developers are expanding exponentially. For example a web developer today can code the behavior of a submarine in JavaScript. No problem, it’s normal. And I don’t know how far the developers will be involved in the future but my little finger tells me that I will come back to the passage of this article much later to add two or three things.

Make the dev not war

Another advantage inherent in our profession: the culture of teamwork. I have often seen other departments of a people put in direct competition. But in unhealthy mode, it’s war and there’s blood on all the walls. I have very rarely seen that in a team of developers.

Quite simply because, in a box managed by intelligent people, we make sure that the developers work together and share knowledge. Why? Because it is in the interest of the box that the developers enrich each other, at the exit it will only reinforce the quality and the performance of the projects released. It’s a win-win system because you also learn a lot from your colleagues and that’s also — and above all — what makes you stay at your job. Well, that seems obvious to me, but if you’re in a box where there’s a war between developers, get out of here quickly.

The strength of a team of developers is to get along well, to help each other to do things well together! There is real pride in watching a project come to fruition, please, and evolve. Especially when we all created it together.

Epilogue

The more we learn about this profession, the more we go into detail in techno, software, or other, and the more we say to ourselves that we have not finished learning. And it’s good! It’s exciting when every day is a way to get a little richer. To not go to work thinking that in the end, it will be exactly the same as yesterday and the day before. And all that while having fun! What is the demand of the people?

If you like to experience Medium yourself, consider supporting me and thousands of other writers by signing up for a membership. It only costs $5 per month, it supports us, writers, greatly, and you have the chance to make money with your writing as well. By signing up with this link, you’ll support me directly with a portion of your fee, it won’t cost you more. If you do so, thank you a million times!

student
Like

About the Creator

Jorche Oliveira

A millennial who is creating useful and inspiring content. 30,000+ followers, 10,000+ subscribers

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.