- 29 Behaviors That Will Make You an Unstoppable Programmer
The 3 behaviors that resonated with me are Say "I don't know.", Take responsibility for your mistakes, and Always code review your own work first. These likely resonated with me because I have some experience with these behaviors.
I've had a little experience writing code in college and at my previous job, but I am a beginner. The few things I do know are far outweighed by the vast amount of things that I don't know. Whether in school or in a job after school, I'm going to get used to saying "I don't know" when that is the case. While this can be a very vulnerable phrase to utter, it's honest and will usually lead to finding out what you didn't know. That's a happy ending. Getting in over your head because you pretend to know something you don't will usually just lead to stress and anxiety.
I've made plenty of mistakes in my time on this Earth. Some of the mistakes I've owned up to, and others I've tried to hide or ignore. I've learned that hiding or ignoring mistakes just stresses me out. I worry about being found out. I worry about the consequences. While there may be consequences to owning up to a mistake, I've found that being honest and upfront leads to less anxiety and often resolves the situation faster than other options. When working in a group, I think honest, clear communication is one of the biggest parts of a successful endeavor. Being able to own up to mistakes, which will happen, will help keep everyone on the same page and the group moving in the right direction.
At my previous job, I had to write scripts in a VB-like language to test features of our software. These scripts were turned in to the testing developer, who applied them to our products after review. As a novice coder, passing your work off to a more experienced developer for review is scary. I always wanted to produce the best scripts I could, so I would give my code a couple reviews before I passed it off to the developer. My first review would consist of reading the code to make sure I used consistent naming conventions and being sure I took the best approach as possible for the problem at hand. My second review would be to make sure I had accurate, clear comments where appropriate. I always anxiously awaited feedback from the developer. I can handle criticism, but like most people, I'd rather produce a product that isn't worthy of a lot of criticism. My goal was to hear that my code could be added to the test suite as-is. This happened only a few times. Often, I received valuable feedback that I could apply to my code review on my next script.
- Interview with Atul Gawande
Checklists bring organization and simplicity to even the most complex tasks. I really enjoyed reading this example of how checklists have been implemented in the medical field. I certainly think using checklists can and will help me during school, as well as in my future career as a developer.
Creating a list of requirements to check off for an assignment can be an effective way to be sure all criteria are met. Additionally, when working in a group, checklists can be used to be sure each part of a project is assigned and will be completed. Checklists will also be a great way to break down a large problem into manageable chunks to tackle.
In my future career as a developer, checklists can help me complete the task I'm assigned. They give me a place to be sure proper protocol is followed and to be sure all pieces of a project are completed. Checklists are sure to help a new employee learn new company policies and procedures and help make a good first impression by staying organized and not missing anything.
I am not an organized person by nature, but I understand the importance or organization. I must use tools and work at organization, but it makes life so much easier. I use Google Keep and Trello to help me manage my lists, as well as Google Calendar and a phsical calendar to help keep my life in order. I'm always on the lookout for new tools to help me keep up with my priorities and tasks.
- Strengths-based development
Strengths-based development sounds very interesting and beneficial. I can't think of a situation where this approach would be inappropriate. Why not play to people's strengths? Happy employees will be productive employees. My biggest question about this approach would be, "What happens when you have much overlap in the strengths of employees/team members?". "How would you fill in the gaps left in talent in this situation"?
My top strengths include self-awareness, writing style, and empathy. I've been praised by employers for these traits in the past, giving me an idea that I'm strong in these areas. I've taken many personality-based tests, such as the Meyers-Brigg, but I don't recall the results of the tests.
I look forward to taking the StrengthsFinder assessment to see what strengths are turned up. I'm curious to see if my feelings line up with the assessment. I look forward to much self-reflection during my time at Turing and beyond. I think it's important to not only take inventory of yourself, but to do so regularly to re-evaluate areas of strength and areas where growth is needed. It's also important to note how you've changed and grown in order to continue bettering yourself. I look forward to discovering new strengths and growing existing ones in order to continue to become a better developer and human being.