Reinventing yourself is all about constantly embracing change. It also means being selfish and looking after yourself. Most people dislike or even fear change, but want things to “get better” in terms of promotions, salary, job satisfaction, not feeling stagnated, being recognized, and having a job security.
Reinventing yourself does not just mean changing jobs, but also includes putting your hand up for internal movements, taking on more responsibilities, changing your career focus from being a web developer to a BigData developer, etc to stay relevant in your field. More and more employers are finding their next hire via the online presence of a candidate. So, this requires you to reinvent yourself by giving more towards an online presence to show off your skills, capabilities, and accomplishments to open more doors.
More and more people are getting their daily technical doses and expanding their network with an online presence. People are finding different ways to supplement their primary income with secondary active and passive income. Even though some of those tangible incomes are as little as $100.0/month, the potential to create your own brand as a programmer is limited only by your imagination and drive.
“If you want something you’ve never had, you must be willing to do something you’ve
never done” – by Thomas Jefferson
The biggest challenge is – How to get out of your comfort zone?
The 2 biggest challenges for reinventing yourself are getting started and persevering to keep the momentum going. What motivates you as a software engineer to get out of the comfort zone?
Getting out of the comfort zone is hard, but if you don’t change, don’t expect things to “get better”. The real difference in your career will be made by action and momentum to get the cycle going. Blogging and self-publishing books via POD have definitely helped me fast track my career by proactively learning, applying, and blogging on the core concepts and the 16 key technical areas. Blogging helped me further clarify the fundamentals through additional research. The “Dreyfus Model” defines 5 stages that you need to go through on the journey from novice to an expert
- Advanced Beginner
If you just rely on your experience alone, it can take a long time to become an expert. The best way to fast track through these stages is by pro-actively learning and applying what you learn. Carefully analyzing the quality code written by your peers, superiors and open source contributors to transform that learning to your own experience by applying what you learn. Have good role models and try to emulate them.
Here is an example, and similar approach can be applied to anything from getting a foot in the door to creating your own product/brand.
Step 1: Plan – Build a simple on-line product catalogue application to learn Spring & Hibernate to get from “Advanced Beginner” to “Proficient” level.
1. Pick a typical use case of “Add, modify and view products”, and build the full vertical slice through web, service, and DAO layers.
2. Decide on the resources to use YouTube/online tutorials, blogs, books, mentor, etc.
3. Decide on the tools, technologies, frameworks, database (E.g. MySQL), and application server (e.g. Tomcat) to use.
1. to gain much needed hands-on experience to fast-track my career
2. to reach “proficient” level in 8 months. (Always good to quantify)
3. to increase my current income by 40% in 12 months.
Step 2: Action Getting the hands dirty
1 Go through on-line tutorials and good blogs to grasp “how to do…” and the basics.
2 Install relevant tools, database server, Git Hub account, Tomcat server, etc.
3 Get into the rhythm of code, build, deploy, test, and check them into Git hub.
Precondition: FAITH (Confidence)
1. With the myriad of free and paid on-line resources it will be a better sail after the initial 2-4 weeks of frustration.
2. Each “Wow moment” like “now I have the basic build & deployment happening”, “DAO layer can save new products to the database table”, etc. will boost my confidence & enthusiasm to keep going.
3) During my journey, I will not only improve my researching and grasping skills, but also will increase my industry awareness and uncover great resources to learn from.
Step 3: Momentum Wow moments & sense of accomplishments are changing me (i.e. reinventing myself).
1. Start learning and applying the design & coding best practices to my project as my code in Git hub will be viewed by my current or prospective employers.
2. Start learning and applying the key areas like security and transaction management.
3. Start testing for exceptional scenarios.
Precondition: Give before you take
1. I can now give my prospective employers my ability to build an end to end solution to solve their business problems.
2. I can now give my blog readers more insights into Spring, Hibernate & technical key areas along with how to set up, pitfalls to avoid, and how to go about debugging.
3. I can now contribute in technical forums to help others and increase my understanding.
4. Can I apply any design pattern here to loosely couple my layers?
The cycle continues …….and your “proficiency” & “confidence” increases to go places.