4 Resolutions towards Being a Better Developer
Last year was something of a transition year for me. Not being fulfilled at work, I went back to the drawing board and rediscovered the things that actually contribute to my wellbeing, regardless of their impact on my resume.
The new year brings with it an opportunity for us to better ourselves. This article will talk about doing this from a developer’s perspective. There won’t be any mention of fitness goals or a diet plan although those are both important. Approach this article from the perspective of one developer sharing the steps that continually contribute to his growth.
1. Learn a new language
I strongly believe that the best things happened in my career when I forced myself to learn new languages. It allowed me to rethink best practices and discover new ones as I took on new perspectives, especially when transitioning to different programming paradigms.
I would not be the developer I am today without the perspective I gained from this journey, so with that here’s a short list of languages that are becoming increasingly popular.
2018 ended with Flutter Live announcing its 1.0 release to the world. As if that wasn’t a good enough Christmas present, the team gave early previews of desktop and web support in the works.
Dart is a language optimized for client-side development for web and mobile.www.dartlang.org
Personally, I love the marriage between TypeScript and component-driven frameworks like React & Vue. I also consider type definitions to be a love letter from open source maintainers to their audience (especially for maintainers who do not use it regularly).
TypeScript brings you optional static type-checking along with the latest ECMAScript features.www.typescriptlang.org
Reason seems to be the most popular technology out of Facebook not named React. It is able to have multiple compile targets like Dart because it is built on OCaml.
Its main differences from TypeScript are that it is a much more of a Functional language and that it offers better type inference. It is far behind TypeScript in terms of adoption but I expect its popularity to grow due to the community behind it and the drive of projects such as ReasonReact and Reason Native.
All your ReactJS knowledge, codified.reasonml.github.io
2. Learn a new technology
2018 was a huge year for technology. It seems almost every quarter had a huge announcement regardless of whether you work primarily on the frontend or backend. Learning a new technology can be as beneficial for your career as a new language, and there’s no time like the present! Here’s a short list of technologies that will continue their emergence in the new year.
Since Flutter and Dart both make this list under different categories, consider learning Flutter a two for one special. Learning Flutter goes hand-in-hand with learning Dart since it is the best reason to do so.
Today, Flutter allows you to build native mobile for Android and iOS with native performance, an expressive UI kit, and developer-friendly features like hot reload. In a near future, Flutter will allow you to build mobile, desktop, and web apps from a single code base. Get excited!
Flutter is Google’s mobile UI framework for crafting high-quality native experiences on iOS and Android in record time…flutter.io
WebAssembly is a type of low-level assembly-like language that can be run on browsers. It enables programs to be developed in multiple languages and to run at near-native performance while enabling developers normally relegated to the backend to leverage their skills on the frontend.
WebAssembly is a binary instruction format for a stack-based virtual machinewebassembly.org
If you have an Android phone, there’s a high likelihood that you used at least one Progressive Web App this year. More a set of standards, PWAs are a new level of quality for the web meant to challenge the notion of what can and can’t be a native application.
I don’t believe that PWAs can fully rival native applications — there are just some experiences that are better native than their web counterparts. That said, I do believe that every web app should be a PWA and that a strong case should be made for any native app being built over a PWA, especially for startups.
Progressive Web Apps are now supported on the desktop!developers.google.com
Yet another Facebook driven project has made this list and that’s a testament to their work ethic. GraphQL is a query language for APIs. It is the culmination of the vision of Backend for Frontend (BFF) API design. It allows front-end developers to tell the backend what data they wish they had, and thru magic that data is returned to them exactly how they requested it.
I expect the applications of GraphQL to grow as it evolves beyond its current uses on the front-end to client-side state management and microservices.
GraphQL provides a complete description of the data in your API, gives clients the power to ask for exactly what they…graphql.org
Start here to learn how to build full-stack apps with Apollowww.apollographql.com
Again, I have to give the backend some love so I’m doing so by mentioning Kubernetes — an open source system for automating deployment, scaling, and container management. Basically, it’s your key to building your own AWS or Google Cloud.
In its current state, I find the learning curve for developers adopting Kubernetes to be immense. I expect that to change for the better as serverless frameworks built on Kubernetes and Docker continue to flourish.
This set of hands-on labs covers the foundations of Kubernetes.www.katacoda.com
Kubernetes Basics This tutorial provides a walkthrough of the basics of the Kubernetes cluster orchestration system…kubernetes.io
3. Contribute to an open source project
We have all benefited greatly from the open source community in the last decade — that much should be obvious. Regardless of whether you are contributing thru donations, issue creation, or simply writing documentation, you’re making a huge impact to the furtherment of technology by doing so.
If you are a newcomer to the open source community, there are already a couple of great tools out there to help you get your feet wet.
Good First Issue CLI
Most popular projects on GitHub have labels specifically targeted toward identifying easy issues for new contributors to tackle. With Node installed and access to a terminal finding an issue to contribute to is one simple terminal command away.
🖥 CLI for finding good first issues. Contribute to bnb/good-first-issue development by creating an account on GitHub.github.com
Good First Issue App
I officially released this app into the world today! Heavily inspired by the Good First Issue CLI, it allows devs to search thru a curated list of popular GitHub projects to find issues that have been deemed “good for newcomers.” Your access to the terminal shouldn’t be a barrier to figuring out what projects need more community support.
Your open source contribution could be as easy as identifying a popular library that you think is missing and submitting a PR! 🎉🎉🎉
📱 An app for finding good first issues. Contribute to chimon2000/good_first_issue development by creating an account…github.com
"Good first issue" displays issues from a curated list of popular GitHub projects. These issues are meant to help new…play.google.com
4. Participate in a civic hacking event
Last but certainly not least, participating in a civic tech event is a great way to use your skills to give back to the same community that you live in. It is awesome that we as developers are part of an industry where we are allowed to constantly be challenged to solve new problems. Our society could benefit immensely from those same skills that we use at work every day.
I attended several conferences this year and while they were all good, they paled in comparison to my experience at Brigade Congress. As awesome as it is to learn something new, learning how to apply those new skills towards the betterment of others is truly fulfilling. Regardless of whether you are a developer, a product owner, or a technical writer you have a skill that can be a tremendous help to organizations such as CodeForAmerica and by translation your community.
As a member of Open Charlotte, I have seen firsthand how my contributions can positively affect a community. It is a humbling and empowering feeling. If we want a better world, then it is up to us to build one!
Think volunteer fire brigade for the 21st Century. We are a volunteer citizen brigade. We use technology and advocacy…medium.com
I hope that this advice will aid you in becoming a better developer. When 2019 ends, I firmly believe that regardless of where you are you will find yourself in a better place both as a developer and a person. Happy New Year!
Sup?! I’m Ryan Edge. I am a Software Engineer at Diligent Corporation and a semi-pro open source contributor.
If you liked this article, be sure to follow and spread the love! Happy trails