#Career Development Pre-Work
##29 Behaviors That Will Make You An Unstoppable Programmer
Pick out 3 behaviors that resonate with you in the list and describe why they resonate with you in a reflection:
-
Maintain an obnoxious amount of stick-to-itiveness
-
Making a life-altering decision to change careers requires an "obnoxious" amount of determination. And continuing a career as a developer will require this mindset not just in the beginning, but well into the future.
-
Understand that “code is cheap.” / Be capable of writing bad code
-
As somewhat of a perfectionist, its important to remember that perfection is not as important at first as getting it working. Coming to terms with the fact that you may end up writing pages and pages of code that will eventually end up getting deleted is crucial in being a successful developer. Its also important to be able to know when to cut your losses and ditch bad code in favor of pursuing a new direction.
-
Say “I Don’t Know.”
-
This can take on two very different meanings in the different stages of a developers education. At first it will be vital to be able to say you don't know and ask for help, instead of toiling away at a problem that someone could potentially explain and simplify for you much quicker. Later on it will be important to keep asking questions and asking for help, rather than being a 'know it all' and refusing to admit that you don't know something.
##interview with Atul Gawande
Write a reflection (4-6 sentences) on the benefits of a checklist and how an organizational system such as a checklist might help you first as a student and later as a full-time developer.
None of us are perfect. We study hard, and repetition helps, but there is always a chance that something is forgotten. Its usually the little things, but in programing even just a single character can throw everything out of whack. Using a checklist can act almost like a linter to make sure that all bases are covered and that nothing was missed. Atul spoke about this in the context of preparing for surgery to prevent mistakes. The same principal can apply to setting up your development environment correctly, to ensure smooth development. In terms of an organizational system, the checklist is great when used sequentially. Large projects are broken down into smaller sub-tasks, which can then be broken down even further. Having this all organized in a list is a great way to visualize the path ahead and complete items on the list in a logical and timely manor.
##Strength Assessment
What is your impression of strengths-based development? What questions do you have about this kind of development? What do you feel are your top strengths? How do you know? How do you hope to develop your strengths for your new career in software development?
The idea of 'playing to your strengths' makes a lot of sense to me. From an employer's perspective, it's a no brainer that you'd want to utilize your employees the best that you can, and ensure that they're putting their talents to use in the most productive way possible. From an internal perspective, learning your own strengths is extraordinarily important so that you can focus on building upon those strengths. I'd identify my top strengths as problem solving and designing. I've always been fascinated by design and how great designs can be used to solve difficult problems. I hope to develop these skills further and apply them to a career in front-end development, where we use smart designs to solve the usability and experience problems.