Don’t give up on the first complex problem


  • Share on Pinterest

Season 1 Episode 23

I have seen this many times, and I understand why it happens. It is usually a sign of someone new to software development. They start with all the enthusiasm and excitement needed to learn something new.

Everything is going fine, and then at some point, they hit a problem, struggle to solve or understand it for a little while and start to lose motivation. Then, before they know it, they wonder if they should continue or just give up.

There is nothing wrong with that. We all go through it. But what makes those successful folks stand out from the crowd is those who continue to work on the problem and not give up. They become motivated to solve it and believe they can understand and find the answers.

There is no magic formula for this. You have to either draw from experience where you have hit these roadblocks before and found a way through or simply believe you can solve it.

Either way, you eventually get through to the other side and are even more motivated because you faced the challenge and beat it. Helping to strengthen that determination to solve the next problem.

This can take time. I have had problems that can take a few hours to a few weeks to figure out. An example is pagination creation using JAMStack site creators. But I kept going and eventually figured out the solution to my problem with help from knowledgeable folks on the Internet and my determination and belief that I would eventually spot the problem and correct it.

If you want to see that pagination problem solved and working, visit my CompileSwift.com Web site and see it there. I’m delighted with how it worked out.

I advise anyone who thinks they want to be a software developer. Be prepared and accept that you will have days of frustration and despair where you feel like giving up or feel like you are incapable of doing what needs to be done. Stop, and recognize that you have either been here before or will most likely find the answer given enough time, patience, and research.

This is part of our job. At the core of software development is solving problems. This means a problem has to exist, to begin with. We just do not think of creating an application as a problem that needs solving. Hint, those requirements are telling you what the problem is.

So you know how to do this. You just need to reframe it into something positive and see it as a challenge, not a roadblock.

A great way to help reframe this challenge is to sit and talk through the problem with someone. I often do this and am always willing to sit and listen to folks asking me to act as a sounding board. Many times we find that as we discuss the issue, a solution starts to appear or a different viewpoint starts to form that can be solved.

Now the tough love. If you feel you will give up on the first complex problem, software development is probably not for you. Stop now.

Yes, that’s harsh, but better you face it now than spend time, money, and maybe a career or job because you want to be a software developer believing that you can face anything and won’t have these problems. This is another of those dark zones we don’t talk about enough as engineers, and we should.

I would love to hear your thoughts and have a conversation about this.