Patience... and lots of it!
In the world of technology and development, it’s normal for this side of the world to introduce new technologies in software almost daily. As a developer, you’re expected to keep up just as fast as it's being created in order to keep up with trends in the market. But not only are you expected to be aware of the new technology that comes out, but you’re also expected to widen your breadth of knowledge in the technology you’re currently niched in.
It can be a lot and quite frankly, it is a lot.
With the sheer amount of knowledge so readily available for your consumption, it’s critical to be patient with yourself when it comes down to learning new information. It’s easy to get wrapped up in the idea of you should be understanding something quicker than what you are. Especially when it seems your peers are outpacing you on that same topics. Trust me, don’t fall for the mirage in the desert.
You’re not alone in the feeling.
+ Actionable steps you can take: I encourage you to make a flexible game plan every few months, simply checking in with yourself on the technologies and tools you desired learning and exploring. And while you’re learning new technologies, build, build, build, and build some more. Break code, debug code, and contribute to open-source code in that technology stack - just get your hands dirty!
Flexible Communication & Negotiation
Maybe it was just me, but as an introvert I thought the world of development would be an “every man for himself” type of environment. That couldn’t be further from the truth from my experience, I have seen this can be a highly connected, community oriented environment and if you’re not prepared to tweak your tune for the crowd you're communicating to, you will unfortunately suffer in the social aspect that makes up the work-force of thriving companies.
+ Actionable steps you can take: You could create the greatest presentation on a project assigned to you to solve, but with the way human nature plays out, what good is it if you didn’t attune the message to a frequency that aligned with the crowd. Be prepared to work with many people from all walks of life, so knowing how to be flexible enough to adjust your approach in a given situation is bound to give you an upper-hand in social settings.
Child-like Curiosity & Imagination
With the wide range of options to explore in the tech world, it’s essential to carry within you a childlike curiosity about all that you encounter, as it makes the journey that much more rewarding.
Getting lost for hours in a code base, just trying out different logic paths and cropping curiosities is bound to lead you to new discoveries across the web as you dive deeper.
This is what we want! To not have an end goal in mind and just letting your coding fingers auto-pilot the rest of the experience.
As you let a natural flow of discovering exist in this process, new information is easily absorbed as the excitement of learning something that inspires you, lead you down a rabbit hole of positive challenges that keeps you hooked and evolving.
Ability to Accept Multiple Truths
One of my favorite aspects of coding, is that there is so many ways to reach the same destination! Granted there is a convergent nature that looms over developers, as there really isn't too many variations from the script of code that is the most efficient in production-level programming, sought out by established tech companies.
Despite that, on smaller projects, it’s incredibly freeing and exciting as you could recode the same project over and over just to test different syntax out, and still arrive to the same conclusion.
Since being in a coding boot camp, I’ve soon realized that not all people inherently enjoy that amount of laxity, as it makes learning concepts a bit more difficult if you’re learning material from one source and it is taught a certain way and then switch to a different resource and they go about the same concept in a varying way.
+ Actionable steps you can take: I agree, that part of the learning process can be frustrating to what feels like gravel through new concepts from different sources and utilizing it in your code, but that’s where point 3 comes in! It’s going to take some Frankenstein level of stitching of elements to get things to work right for what you need them for, but hey- that’s what coding is about... getting your brain churning and your fingers gliding!
Knowing When to Move On
Sometimes, the code is just broken to a point where it’s okay to call it quits.
Yes, tenacity is golden, but keeping your sanity is priceless.
After you’ve given a task at hand plenty of effort and time, it’s okay to bury it and move on. And whose to say after moving on and learning new concepts, the solution comes to you at a later time-period. The good thing about code, for the most part if you’re keeping up with your storage - it’ll always be there for you! So no need to feel like you need to solve every issue the moment it arises.
And maybe before calling it quits, it never hurts to bring in some outside eyes to help guide you along if possible, but again if that method renders futile, it's a-okay to save it for a later date.
+ Shifting perspective a little bit: Theoretically speaking, as time goes on and you continue coding properly and progressively, you can only get better. Think of the code that’s broken today as a problem you are gifting future you to solve once you have the understanding and knowledge to tackle such a task.
It’s like you’re your own Yoda :p
Resources
- Photos from Unsplash
Top comments (1)
Thank-you Hannu! Coming from the arts, I can't help but bring in a humanistic element!