Types Of Programming: Coding Styles
Complete Developer Podcast - Un pódcast de BJ Burns and Will Gant - Jueves
Categorías:
As programmers, we tend to be a rather interesting bunch. Some might even call us peculiar. Developers tend to have our own culture and even subcultures within the development community. Attending a polyglot or regional conference will show many of the various subcultures within development getting together to grow, learn, and enjoy the company of like minded individuals. Within the community of developers are several archetypes that you will see. Rarely will you find someone who is completely a particular one but you’ll notice these traits, some stronger than others, in most of the developers you meet. The other two episodes are look at the developers personality and their knowledge base. While researching the different archetypes of developers we broke them down into three groupings: Coding Styles, Knowledge Expression, and General Personality. This is the first of three episodes talking about the types of programmers you’ll meet in your career. It focuses on the various coding styles you’ll encounter. This is not an exhaustive list of coding style archetypes. Instead it’s a group of the ones you are most likely to encounter within your career. While there are others out there you can use this list to better understand your coworkers, managers, and friends in the development community. To be truly introspective think about the times you have exhibited the traits of these and try to figure out which one you resemble most. Use that information to set yourself up for success at your current place of employment and when you are looking for work. Episode Breakdown The Cowboy/girl Coder Cowboy coders are a force or nature who can code two to three times faster than anyone else. They typically have a degree in computer science and believe that clean code and best practices do not apply to them. Refactoring is a luxury for city slickers, the cowboy’s code is spaghetti at best and smells like several nights on the trail eating only beans. Cowboy coders are best on projects where deadlines are more important than anything else. The Perfectionist The polar opposite to the cowboy coder, the perfectionist aim to write the best code ever. While the cowboy treats code like cattle, the perfectionist treats code like their pet or even worse like their own child. They can get confrontational and argumentative when asked to speed up the process or when told to build a less than optimal solution for the sake of time or money. When resources are limited, the perfectionist works best when told the limitations up front and asked to find “the best” solution given the current limitations. The Caretaker The caretakers has been with the company for years, maybe even decades so they know the codebase inside and out, especially the older, more arcane areas. Likely an older generation of developer, they are more comfortable with out dated technology and languages so spend most of their time maintaining legacy applications. The caretaker may have gotten stuck in a rut or be bound by golden handcuffs preventing them from trying new technologies. Tread carefully if putting a caretaker on a newer project as they may be riding out to retirement on their knowledge of the codebase. The Specialist The specialist is a developer who rather than becoming a ‘T’ shaped developer has become a lower case ‘l’ shape, diving too deep into one area at the cost of being well rounded. The data scientist is one particular type of specialist who only codes in python, tends to be very good with math, and enjoys statistics and image manipulation. The security expert is another common specialist you’ll encounter who knows everything about security, typically hacks into systems for fun, and has a different set of ethics than most.