Next JS Blog
How To Think Like a Senior Developer
Lao Jianyu

Lao Jianyu

Oct 31, 2022

How To Think Like a Senior Developer

How to Think Like a Senior Developer

1*Oe3G2my5ePa-iY6yIsOJmQ.jpg

- You Can’t Learn Everything

There are numerous technologies out there, and learning them all is impossible.

Find your perfect stack; find what works for you, and embrace it. A good combination of modern web development, for example, would be the MERN stack: MongoDB, Express, React, and Node.js, which is perfect if you love JavaScript.

There’s also this thing called the MEAN stack. Instead of React for the front end, MEAN stack developers prefer Angular. You can also choose to use stacks like PHP, MySQL, and basic HTML and CSS for the front end. Ruby and Ruby on Rails are also good technologies for the back end.

Whatever stack you choose, it’s better to stick with it and master it. Don’t end up being a jack of all trades and a master of none because that’s not a good place to be in as a developer. You’ll end up running in circles — such a bad place.

- You Can Still Be a Developer, Even Without a Degree

As a self-taught developer myself, I succeeded in this area by the combination of hard work, a lot of patience, persistence, and extreme focus.

Not going to university doesn’t mean everything here is easy. The truth is it’s not, but the rewards are far more than the small defeat that you will first think of as a dead end. It’s just a matter of desire.

You won’t achieve anything if you quit. The secret is to give it one more time, one more push, all the time, every day, every moment. Some tweaks you can use is that, when everything feels like it’s the deepest bottom, the hardest fall, that’s usually the sign that you’re almost there, that you’re just a few steps away. You gotta tell yourself to give it one more time and turn your obstacles into opportunity.

“ When defeat overtakes a man, the easiest and most logical thing to do is quit. That is exactly what the majority of men do.”

— Three Feet From Gold by Napoleon Hill

- Master the Art of Googling

Now that you have started programming, you need to know that it will feel like everything doesn’t make sense. It’s okay not to know all the answers, especially when you are just starting. What’s important is for you to know how to find the answers.

Programming is about solving problems. If you can’t figure out how to solve it, then find a way. Google it or find someone who knows how to solve it, and then learn from that — that’s the best route for you to learn.

Here’s a good piece of advice: all the coding problems you encountered today probably have been the problems of developers before you. Don’t reinvent the wheel; you have to use the wheel.

- The Deadline Will Always Be Screwed Up

It’s not easy to estimate things, no matter how good the plan is. There are several ways or strategies companies use when it comes to project management. The most popular, in my opinion, is Agile.

No matter how detailed the process development, there will always be obstacles on the way. No matter how great every team member is, from business analyst to QA, the deadline will always be inaccurate and there will be an extension. Deadlines will always be just estimation, and in most cases, in big companies, building corporate applications usually ends up extending a couple of more months, and it’s okay.

But for small projects, small business owners are strict. If you’re planning to do side projects, one of the common questions or demands will be “what’s the estimated date for the output?” Some business people don’t care about the procedure. What’s important to them is the deadline for the end result.

So be careful when giving them deadlines or dates. They usually take it as it is given, so it’s better to add an allowance for you to have more space, and enough time for some troubleshooting and debugging. It’s better to surprise them than disappoint them. Make sure to set standards because that’s how they will treat you.

60% Debugging, 40% Coding

This is the most accurate advice I’ve ever had.

I spent most of my coding time in debugging. The latest project we built was an Android mobile app for a healthcare client. We used React Native. I was the front-end developer.

Let’s say that in a month, building the front end took an estimated ten days. The rest of the days I spent debugging all the errors that were caused by dependencies, versioning, and packages that didn’t fit the current version of other packages.

It was my first project for Android. I spent weeks just debugging some of its properties, making sure that they all fit in the correct versions, including the other third-party programs I was using.

The build part is the fun part while debugging is where all the stress comes. It’s part of the job, but it’s time-consuming.

One of my senior developer’s pieces of advice is that whenever you’re facing the same issue or error for an hour, try to take a break. Do something else, and free up your mind because sometimes we are our own problems.

You Will Pretend That You Understand a Lot of Things, but You Don’t

I’ve been doing this several times, even up till today. I’ve got several colleagues who will talk about other technologies they’ve been using or newfound technology they’re interested in, and there were times where I just agreed and acted as if I’ve understood. I’m telling you it’s okay; you are not alone in this.

There are so many technologies out there, and you really can’t learn them all.

- Don’t Memorize Things, Understand How They Work

I’ve been emphasizing the importance of learning and mastering the fundamentals of development and programming.

At first, you will start with copy-pasting code from tutorials, from repositories, etc. That’s fine, as long as you understand the code you are copying, because if not, then you will not learn anything.

After several months, you should be able to understand some of them. You should be able to familiarize yourself with some of the syntax and understand some of the programming principles. Afterward, you should start solving problems on your own. Try to solve the problems without copy-pasting but instead by building your own block of code. Use your own approach, your style, and your own idea of how to solve things.

Again, the idea is not to spend so much time in the copy-pasting stage. Don’t be scared to solve or to code your solution. You will learn more by trial and error, so try and try until all the difficult parts will start to make sense and start to become easy. There is no better approach than this. The learning curve will take time, but that’s the idea of programming.

- The Documentation Is Your Salvation

Your future self will thank you for this.

When you start, you will slowly be working on a couple of projects. Then, along the way, you will be handling a couple more, until you lose count.

And then here’s the scenario. You are currently working on your project #11, and suddenly your boss asks you about your project #2. He wants you to continue working on that project, and now it is the top priority. That project #2 that you built a year ago had become less priority before and was put aside.

However, since no one told you that this would happen, you didn’t think about creating documentation for that project. So when you go back to your code, there’s a high probability that you’ve forgotten some of the tasks. You’ve forgotten the packages you used, the versions, the requirements, the reasons why you choose what you chose, and so on. And the worse part? Since project #2 was 60% done, as you’d told your boss before, your boss then gives you two weeks to finish it.

Lesson learned. Next time, make time to create documentation for every project that you’re building. Documentation saves lives.

- At the End of the Day, There Will Still Be So Many Things to Learn

This is very important.

Just because you have mastered a couple of languages or the technology stack that you’re using, don’t forget to continue learning. There are so many things to learn. As technology progress, so do you: don’t fall into a trap that your current knowledge will help you ten years from now, because it won’t.

Continue learning and stay hungry for more, for better, because web development is continuous learning. I think that’s what makes it more exciting, never missing a chance of learning something great.

Opportunities come and go. One will come in a second, and you’ll lose it in a blink. You gotta be ready. Keep as many tools as you can, so when an opportunity comes to your doorstep, you’ll know you are ready.

Thank you for reading! Please Comment

Source: www.betterprogramming.pub

Lao Jianyu

Lao Jianyu

Senior React front-end developer. LaoJianyu@luckydames.com

Leave a reply

Related Posts

Categories