DEV Community

Ayaz
Ayaz

Posted on • Edited on

Concerns Of A New Developer

Lately, I have been seeing similar sentiments from aspiring devs who are not yet in the programming fold but want to jump aboard.

They ask certain questions and express some fears and concerns that I thought to write a post on so they might find it useful.

I now present their questions and my opinions as answers.

1) What is the hottest language going forward?

This question is inherently wrong because being a programmer is often like living in the eye of the storm where things are constantly flying around, coming into view and disappearing into the void.

You have to deal with the chaos regularly. With trends rapidly shifting, nothing is too hot for too long. The question should rather be what area do I enjoy the most.

I know a few people who caught on the React wave and decided to cash in on it. They learned React and got the job. But after a few months, they were unsatisfied, felt empty and didn't like what they were doing.

They didn't like dealing with HTML, CSS, UI interaction and other front end stuff, something was amiss, it just didn't jive with their soul.

Moreover, they also felt silly and inferior taking care of the buttons, the hover effects and the like. So ultimately they switched to the back end and quickly started finding their feet, felt much more comfortable and much happier.

So one must not see programming as having one king to rule them all. It's more like small independent sovereign kingdoms spread across the programming realm where each empire (front end, data science, hacking, gaming, distributed, backend, mobile) has its own autonomy (market/jobs), its own reigning king (the goto language) and its own politico-social setup (the community, ecosystem, backing by companies, the auxiliary tools).

These kingdoms also have relationships with each other to promote the exchange of ideas (each domain sharing its expertise, techniques, and people over with the other domain).

The kings over time can be challenged by a new contender (new trend/language/stack). Some times this disrupter succeeds in overthrowing the king (new tech is the way to go) while at other times the old king digs his heels and quells the rebel (trend dies without making any significant impact).

Some times, all the infighting fractures the kingdom and breaks it into smaller fiefdoms (multiple rulers). So you can see the programming world is as dramatic and as over the top as Game of Thrones. It is more soap opera than you had thought.

As there is no one winner, you must explore the programming world a little bit to see where you naturally fit. Going with the hottest doesn't necessarily mean you will enjoy it. Ask people around, research on the internet, watch videos and sample a few areas.

Whatever you resonate with build your home there. But later if you don't like it then don't be afraid to move on. Discovering what you like is a process and not an epiphany.

2) Is programming going to be gone tomorrow?

I hope it does, at least we all can relax for a day and finish all the side hustle that is piling on (kidding).

Are human calculations and calculators obsolete with the arrival of powerful computers? Is bicycle obsolete due to the advent of cars? You got the point.

Likewise, the programming won't be obsolete but its nature might change. But change simply reflects evolution which is natural.

Just as communication evolved from Morse Code to landlines to pager to feature phones to smartphones to foldable phones etc. We might see rapid advancement in how we do programming but it in itself will still be there.

Paradigm shifts are inescapable they are not exclusive to programming. They occur in pretty much every industry now.

So instead of discussing whether it will be over in the next few years, you should rather be asking how best I can make myself adaptable to growing changes around me and in doing so make myself more marketable.

In my opinion, soon success won't be determined by whether you have picked the winning horse from the get-go but by how quickly and masterfully you can change horses if the one you are sitting on is slowing down or is giving you a loss. That is where the winners and losers will be decided.

As the pace of technology quickens and we see more revolutions in an ever shorter time span, I feel there will be a big trend moving towards learning the adaptable mindset and how to use it effectively in your profession and your daily life.

But contrary to popular belief we can see how the evolution of technology has given rise to new fields (ML/AI, IOT, Quantum Computing, Blockchain) which were unheard of before.

And as technology continue to grow and expand even more tech-driven streams will be unlocked that we don't know yet. So, despite the doom and gloom, I see rather more opportunities than decline.

3) There are so many things to learn all the time!

Quite many coders fret over learning this or that. But you should stop looking at coding in terms of frameworks.

Coders are business people in the sense that they are laying the technological foundation on which the edifice of digital business is erected.

They are solving business problems via coding. The company that hired you or will hire you has a business problem to crack or a vision where they want to go and frameworks and languages are the tech tickets to get there.

Languages and frameworks are a means, not the end. These are simply tools even though powerful, sophisticated and at times complicated nevertheless they are but tools to address a problem and reach a goal.

Coder depression is a real thing and we are all in it together. Most of it stems from the need to learn constantly (in addition to loneliness). But if you see learning a framework as the be-all and end-all then when the new one comes out your mind flips and you get mad.

Because now there is a new moving target that you got to shoot. A mad rush to chase yet another tool. Back to square one. The frustration builds up, implodes your motivation and slumps you into your chair listlessly.

You cannot change the market trends and the direction the programming world is headed in. But you can certainly change how you frame your mind and perceive those changes. There is a nuanced psychological perception at play.

Languages and frameworks are steps to reach a goal. If you focus on the steps then when it falls out (framework/language becomes obsolete) you feel someone just pulled the rug from underneath your feet and it may rattle you emotionally.

You have to see them as tools, disposable and replaceable. And with that mindset when you keep your eyes on the goal rather than the steps, it no longer matters if the step you are standing on is completely different tomorrow.

It no longer bothers you when the new toy hits the market as getting and playing with the toy is never the goal but to use and do something with it is.

This small change in perception helps you keep your priorities straight. And you begin to think at a higher level.

You break free from the narrow thinking of framework wars and think at the level of business, creation, innovation and ponder what you can do to improve, and how you can provide greater value with the help of tech.

4) I saw this or that person, he is a genius and I feel so incompetent ergo I can't do this!

The people that you run into and get swept by can be loosely divided into two groups, fake or real.

Fake People

The inundation of media is a double-edged sword. With Facebook posts to Instagram pictures to Youtube gurus to blowhard LinkedIn profiles. Everyone wants a big title and image associated with them.

I see co-founder, entrepreneur, serial entrepreneur titles used liberally. I know some people personally who use the title entrepreneur and founder even though they haven't build a darn thing.

A lot of people just want to look and sound cool. They put on fake degrees, fake experiences, fake titles just to look competent when all they are doing is being disingenuous.

I guess having padded digital presence is a new way of saying I got a bigger car. There is a lot of wannabe influencers/experts/showman out there with some real people sprinkled here and there.

If they are pushing their image too hard chances are they are not genuine in claiming what they are. In my experience, most genuinely successful people keep it low key.

With perennial connectivity and everyone in your face every second you lose focus and start to compare yourself with every other person, you see on the internet. The result is that you feel insecure, feel defeated and give up doing even before you begin.

In my view, if anything on the internet makes u feel incompetent don't go there, turn your face away. The last thing you want to lose in today's competitive world is your self-belief and confidence.

Better alone and be stable than be with someone and have doubts about yourself. But on the other hand, if anyone inspires you, motivates you and fires you up, by all means, tag along.

Real people

In this case, you probably are comparing yourself to a person who has been around for a long time and has been in trenches. They probably have years of experience and a lot of hard work and sacrifice behind them which creates the persona you feel awed by.

The mountain you are overwhelmed with didn't come about in a day. So, this rather comes down to grind and perseverance. If you put in the same amount of work, dedication, and effort, one day you too will be feared like Mr. White (Breaking Bad).

When you are starting out don't look at how high the mountain is. Just focus on your steps one at a time.

4) I am not made for it!

When you get the gemstone from ground its never in a form to be used in jewelry. Once it's taken out it's cleansed, cut and shaped before it becomes the sparkling splendor that it does. It takes time to build your place in any field.

When you are pondering whether it's for you or not, don't treat it as a product you buy in the market, like shoes that you decide on in a few seconds. So, don't make decisions with very little understanding and with no effort put in.

Rather take some time to research and find about it as much as possible. Definitely try your hand at it, for 2 to 3 months or more if you can.

Even if you don't enjoy it initially force yourself to do it. Because often your dislike stems from your lack of understanding, your fear, and being overwhelmed by new concepts, new terms and a new way of thinking. But when you get past that phase, you begin to enjoy the field.

And if even after 3 to 4 months of trying and having given its due, you don't like it at all, by all means, you are free to move on and try something else.

Some Bonus Opinion (Double Layered Cheese)

1) Another thing to keep in mind is to not start with messy questions like Which is the best language? What are the bad sides of this or that framework? What is good, what is bad? Should I do this or that?

I call these philosophical questions. When you are starting, they are your biggest enemies and you should keep the judgemental YOU out of the picture. Just learn the trade in a systematic fashion without getting drawn into philosophical debates.

And once you are good enough then you can explore the good, the bad, the ugly and fight over it all day long.

2) Don't run after the newest shiny toy unless you really have to. If you all of a sudden see the internet coming live with talks, tutorials, forum chats, videos, blogposts, of particular language or framework, that doesn't mean you should drop everything and run after that.

My rule of thumb always is to give tech some time to mature, see how it goes and how the market reacts to it much like how you trade in stocks. And I said how the market reacts to it not the internet, there is a big difference and you should draw the line between the two.

Regardless of the internet buzz if it is not practically used by companies on a wider scale and the adoption rate is slow I would leave it for a while. Don't get caught up in the frenzy of newest and the trendiest.

On the other hand, if your company must use it or its proven to solve a problem more effectively then, by all means, jump on board. Just, don't be driven by internet hype, rather focus on things that give you immediate value.

Conclusion

Those are some of the concerns I see crop up quite a bit, so I thought to share my thoughts on it. There is no right or wrong, this is all personal opinion but you can take it as a guideline, fork these ideas into your own mind and modify them to make them work for your situation.

Top comments (0)