Career in Programming? Timebox your efforts to make choices
Did you start as a programmer ? After a few years, you went ahead and got an MBA degree — slowly moved away into Sales roles. Now you are looking to complete a full circle and go back to programming roles…
If you relate with this career journey, read on….
Just rewind to the time when you started contemplating this change. Probably a week or two after you start you throw your hands up in the air — “Everything has changed dramatically and has become more complex and intertwined than when you left it !!”
You silently complain to yourself that things should have become easier as time goes ahead how did it turn the other way around.
See if this thought helps you make peace with the change…
While it is much easier to now write programs that can solve the problems of 10–15 years go, (y)our ambitions and expectations have grown exponentially during the same period. This is fueling new frameworks, tools and approaches to evolve at a frantic page to try to keep up with expectations.
So it is a tough world out there for bravehearts like yourself aiming to get back to programming. Thankfully there are many people like us and a support structure is evolving to cope with this. Based on my experience I am calling out 4 aspects to keep in mind and would be keen to hear more from your experience.
Choices to make are simply too many in any area you pick — Timebox efforts spent on deciding the path to learn
What are you starting with? Web development, Front end development, UI/UX design, Bots, Conversational Interfaces, Cloud deployment.
Honestly, it does not matter !! You just have too many choices at your disposal and is simply too hard to zero in on a specific choice.
In most cases the top 2–3 choices in each area are simple too close to discern the differences. Each choice might fit some requirements better than others, as a person starting off it makes little difference what you choose to start learning.
“Timebox your efforts to do some level of research in what to start with and move ahead.”
Just as a perspective — I started with React and the Google Cloud Ecosystem (Google Cloud, Firebase/Firestore — database, hosting, authentication, DialogFlow and so on). It was good enough for me to build a decently complex use case and move ahead with things.
If I look back at the time spent, I might choose different technologies, but I don’t see it making a big difference.
Tutorials everywhere — do you feel swamped with too much help everywhere — problem of choice once again?
Fueled by demand and encouraged by the rate of technology change the number of people and teams developing content / tutorials in last 2–3 years has been frankly overwhelming.
There is a community for learning anything and clearly each area has a bunch of super enthusiastic people who appear to be ever ready to help you learn.
People’s intention in doing this is twofold — (a) genuinely help people learn and do that more effortlessly and (b) believe that explaining things cements your own learning.
The sheer amount of choice is certainly frightening to begin with. When I started off I was a bit worried if there were too many people qualified enough to write and coach people like myself.
Keep that aside for a minute and spend some time on researching your list of favorites. Each person’s learning style and expectations are different and you need to build you list of “favorites”.
Couple of areas that I spent time on which might help you in your decision making process,
- What is your choice of format ? Do you read to learn (my personal choice) or do you like to explore videos?
- Look for teachers who appeal to your style of learning and not necessarily experts in the domain. Have patience, you will have a few misses before you finalize.
- Remember that people have gone through your path of learning before you. There is a high chance that the hurdle you have hit today has been hit before and also answered. Put in the effort to look for solutions before you ask another question into the community. Effort spent in digging for an answer is invaluable.
Building a career in programming is hard. Don’t walk alone and make it harder on yourself.
As is probably true in a number of areas taking a journey as a team is bound to have its benefits. Do you research, speak to others, look within communities, local meetups and make sure you have a small team of 2–3 people with whom you are working with as you learn. Please don’t make your start contingent on finding a team — learning and getting the team together can and should proceed in parallel.
Just remember, “Alone we can do so little; together we can do so much.” — Helen Keller
Let me take a shot at the “so much” we can do together based on my own journey. Remember it is easier said than done and like everyone else I did some of my points below which I could not achieve some.
- The range of things needed to build anything of substance needs a front end, UI/UX design, backend, database, cloud hosting and so on. A team working together makes everybody’s work go faster and smoother.
- There are days when you will get up and feel like you want to give up. Just get together with your team and most certainly you will have somebody on the team who is feeling confident that day. This encounter will most probably lift you up as well.
- Remember, everything happens as a team in the real world. It is that much more effective that you learning journey is the same as well. Being part of a team also enables you to rotate your area of focus in the team as you learn.
- Things will change as you are learning, new software / package versions will come and you most definitely need to refactor the code to adapt. Sometimes refactoring feels like static running and I did not find this easy. Honestly if I were doing it alone would have probably skipped over this. Is something that you absolutely can’t skip, so make sure you rely on the team to build the patience to refactor.
Everybody suggests it is important to have a portfolio — start thinking about it as early as possible
If there is one thing that can put you apart from others when you start looking for a job it is your portfolio of completed initiatives and projects. If you have learnt as a team you can also evaluate a “team page”, but make sure each person’s contribution is called out clearly.
Don’t wait till you have spent weeks and months on your learning path before you think of a portfolio page. It is probably a thing to build and perfect at a later stage, but you should start planning for much earlier.
As I see it a portfolio page has two objectives — (a) showcase the great shiny things you have built (b) but equally provide a good view of how your learning curve has progressed.
Start thinking towards your portfolio page right from when you complete your first exercise gives you at least three advantages,
- Structures your own learning in a way that makes you want to package it for external consumption.
- Encourage you to start thinking creatively on expanding and scaling up the feature sets on each exercise you start working on.
- Enable you to have something to show where you are in your learning curve. After all you never know when an opportunity might come knocking on your door.