The Dangers of Over-Extending your-self

March 2016 · 7 minute read

Having worked in a completely different career for the last 10 years and now slowly ageing in my late twenties with skills and experience somewhat irrelevant to entry level programming, I keep finding myself with a strong desire to be better, faster. To learn more, faster. I’m late to the party and I don’t quite have any completed projects to show for it. I keep starting new things, I want to have a wide base knowledge of many technologies. There’s so many good frameworks, platforms and languages that will be extremely beneficial for me to learn. I kind of need to know them all. Like, 2 years ago.

When I started learning from my first mentor 3 years ago, I never thought things would go as far as they have. I’ve had many mentors since then and dabbled in a number of technologies but I haven’t actually completed a full, working application. I got close once. But when I look at that, with what I know now, I know it’s not quite right.

I have a never ending list of things I want to learn how to use and do, but it’s hard because I still can’t quite seem to see the whole picture yet. All the little bits, like necessary dependencies for web applications and figuring out how to use different package managers work and how they work with different frameworks and how to configure your new dependencies. When I look at examples now they make marginally more sense than they did and I’m slowly getting there. The main problem is that there are so many options! So many choices, and which is going to benefit my career most in the long run? There’s no way to know.

I kind of want to keep up with modern technologies, so I’ve gone down the path of learning Rails, Symfony2, AWS and now I’m trying to get my head around Hugo for generating static sites. Next on the hit list will be React, in theory that should be a good ground to get going and once I master those I can build better apps and smash out quick sites for individuals as a side-project to whatever I’m doing during the day at the time when I have enough confidence to go and do that.

The downside of sticking with modern technologies only, is that so many companies out there are still using older technologies as well. More modern languages are higher level and modern frameworks do a lot of the thinking for you as opposed to slightly lower level languages which essentially allow you to have more freedom.

I would love to give mobile app development a go, it seems awfully tricky and that’s a whole new area of programming for me to learn. That could actually take a few years. Learning Java so I can build android apps and knowing the differences between android, windows and iOS development.

That’s another point too, I’ve stuck with linux based systems and I have no idea how to use or even get started with .Net or ASP, not that I think I would want to after hearing what most people I know have to say about it… But still, being closed to that could close doors to opportunities and it is always good to learn about what people dislike so passionately so you can form your own opinion instead of just being told what to think. To be honest, anything Microsoft is probably the last thing I want to get involved right now.

You see all the things I keep thinking of? And that’s only the tip of the iceberg. That doesn’t go into the detail of all the journals and folders filled with ideas and plans I’ve constructed over the years. Ideas form significantly quicker than I can learn the requirements and actually execute them. Some of them end up completely over looked. I guess somewhere along the line, I’ll go back to them. But at the moment, the key thing is trying to stick to my 2016 plan of attack. So far, there have been a few minor hiccups which have set me back further than I expected I would be at this point. And every time something happens to set me back, I can’t help but hit the drawing board again to re-organise my schedule, re-think what it is that I need to accomplish and reconsider what my choices are. It’s hard. It’s like a never ending battle of not quite getting to where you want to be just yet. And the stuff that I’m trying to do is not exactly stuff you just walk in and learn overnight. Maybe if you had years of experience. But as I said earlier, I’m already late to the party. I’m competing directly with younger, more than likely brighter graduates who’ve spent their lives in front of computers.

The overwhelming need to complete a decent amount of working applications and quality websites across a number of frameworks is what drives me right now, and if I don’t work out a good formula soon it’s probably going to drive me insane. Everyone keeps telling me I’m trying to take on too much at once and maybe they’re right. But I just don’t see any way to get ahead by learning only one thing. And so many technologies tie together to get one app or site working in the first place – I guess when you look at it like that, building one really good application and getting it from dev to prod does actually teach you a lot of technologies at the same time. Hmmm… Maybe time for yet another reconsideration…

Another thing to think about more is realistic time frames. The timeframes I would like to be able to set aside to learn something new is not necessarily a realistic timeframe for doing so. I guess it’s hard to know how long it will take to learn something, and a lot of the things I want to be able to do don’t necessarily have any explicit online tutorials which you quite often don’t find out til the time. After starting something and getting it to nearly do what you want it to do 10 times and still not having it quite right forces you to spend more time than you wanted to on that particular aspect of your project. You quite often don’t realise it at the time because you’re so caught up in getting it to work but repeatedly getting caught like this quickly becomes irritating when you realise that a weeks gone by and you’re no closer to finished and all you keep going back to in your mind is that you’re running out of time, you left it too long to find your passion and if you don’t make enough progress soon you’re going to be 30 and still not doing what you want to be doing and by then you’re pretty much going to be dead already. Life is almost over.

You can see how I’m kind of stuck between a rock and hard place. On one hand I need to slow down and learn one thing at a time but on the other hand, time is running out and I need to learn everything at once, or preferably 10 years ago. This constant battle with myself is probably not going to let up any time soon and I haven’t quite worked out what to do about it yet. But I’m pretty sure that thinking about it all so much actually makes me less productive and slows me down even more. Hard not to think about though. I’m going to look for some groups where I can meet other people who are learning the technologies I’m interested in too. And, of course I’ll just keep wading through a mountain of ideas, technologies and try to narrow things down a bit.