Lately a quote from my old math teachers keeps popping into my head, and of course then immediately out of my mouth. Whenever we would be given word problems back in school our teachers would reiterate the question, “What problem are you solving for?”. What they were trying to pound into our heads was the concept that sometimes the problem you are solving is not in fact the problem that needs to be solved. Word problems force you to not just do basic math, but also teach you how decide what information is important and relevant.
At one of my meetings for “Silicon Trailer” I had a college student asking me what programming language they should focus on. This person has been a non computer technical professional for over a decade and is now in school to become a professional in IT. They know the money is in coding and so were asking what seems like a relatively simple question. The thing is that it is a simple question to answer, if you can figure out a dozen variables before you ask it.
Simple variables such as what types of technology make you excited are massively important. If you think Apple products are over priced pieces of crap you should probably not worry about Swift. If you believe that Microsoft’s Continuum is the wave of the future then you would be wise to think about studying the Microsoft Stack. Motivation is the number one factor for your success. If you wake up in the morning and start hammering away at code you will be far more successful than if you only code when you absolutely have to.
Beyond motivation there are questions of what skills are valuable in your geographic area. Having spoken with CEO’s of Development Companies they have stated that specific languages are more or less in demand depending on the area. Apparently PHP is in demand on the East Coast, whereas Ruby is sought after on the West. There may be startups in your area super focused on Dart, where in another area there is literally zero call for it. It would be a wise move to do some informational interviews with recruiters and tech companies in your area for no other reason than to learn what skills they actually hire for.
The final point is that most of the time what you think you want to do has no resemblance to what you end up loving. We all have some very stupid ideas about what will make us happy when we start and generally the first few years in the IT profession involves these dumb ideas being beat out of our heads in a profoundly unkind manner. The best way to find what satisfies our needs is to actually do job tasks. Whether you get an internship, a job, or simply volunteer your skills by performing job tasks you will figure out what you want to spend 40 hours a week doing. Personally I thought managing tech employees would be awesome, up until I spent 2 years managing tech employees and ended up losing a ton of money and most of my brain cells.
When you are trying to figure out what you should learn focus on what makes you excited, what people are actually willing to pay for, and then just jump in and see what happens. 10 years ago YouTube didn’t even exist, and yet through a very weird and winding road I have become internationally famous. Success is not so much about picking the perfect answer in the beginning, but rather being able to find progressive better answers as you go.