5 Things You Should Be Doing As A Programmer
How we develop applications is constantly changing and advancing
After graduating from the university, and now having a few years of industry experience, I’ve come to learn and practice a few things that has brought me to where I am and to continue my growth as a Software Engineer.
Note: The main context is web / mobile, but I feel these can also be applied to other areas.
Learn new programming concepts. Depending on the industry, this can vary. To stay relevant as a programmer, you should be understanding the new concepts and best practices. It’s no longer enough to understand JS, HTML, CSS, PHP, etc. You need to learn more advanced topics and concepts to build better, and more efficiently. From dev tools like, Sublime, WebStorm, Webpack, and the Dev Console to concepts like Shadow DOM, MVC, Data-Binding, and REST.
Figure out your forte. Determine where you really want to excel(what you really want to make), from embedded or low-level programming to front-end or full stack. There are a lot of technologies out there to choose from and it can get really difficult to decide which piece to learn if you’ve spread yourself across a few areas. If you’re within related areas such as Backend and Databases, that works; it can be difficult to maintain skills in different areas, like Front-end and Embedded. Once you really determine the area you want to focus on, you can determine which tech you want to learn more in depth. For Front-end for example, it’s between learning Flux vs MVC, AngularJS vs React + *, and the list and combinations go on.
Refresh your core concepts. It’s always a good idea to refresh yourself on the core concepts and fundamentals. From algorithm concepts, like binary search, graph theory, and OO to MVC, DOM, and DB.
Attend dev meetups || conferences. Being around other engineers, developers, and programmers not only lets you bounce new and old ideas off each other, but it can help you in the progression of your career. Getting exposed to a range of industries can help you really define your interests and gain an understanding of what they would entail. Attending and watching dev talks (on youtube too!) is helpful in learning about the problems, solutions, and practices teams have on a particular technology. For example, learning about the various ways to integrate ReactJS into your project, or how to build out a new one. (The documentation is good, but also seeing examples in practice is better.)
Understand context. It’s not only neccessary to understand your role as a programmer but also what you’re building and who you’re building it with. Being able to understand the other parts and pieces being built will help your team’s synergy. If you’re working with designers, backend and database engineers, it’s really good to at least understand what their parts would be and vice versa so you can situate and line up where you will be connecting. For example, how the designers would lay out a particular part of the app so you can properly mark it up, or how your backend rest services will look so you can talk to them properly. This way, everyone knows what the needs of the others are to get their job / piece working.
This quick list is obviously opinionated, based on my experiences. I would like to know what you think and which parts you have thoughts on. I also plan to expand on some of these topics in the near future.