|Timestamp||Are you a senior developer at your current job?||How many years have you been paid to develop software?||How many programming languages are you comfortable with?||How many have you written an app or tool in?||Do you have a degree?||If you have a degree... what is it in?||Last question: If you were transported back to the 1800s what would you be instead of a developer?||What is the difference between a Senior Dev and a Junior Dev in your mind?||Summary||What is the difference between a Senior Dev and a Mid-level Dev in your mind?||What is something you like about your least favorite language?||What is something you hate about your favorite language?||If you have a degree how has it helped you in your job?||Without using the googles... what is a linked list?||Also without the googles... what is a set?|
|5/26/2016 12:17:33||Nope... not yet||1||1||1||Yep. Got my undergrad.||bachelor of web dev||some kind of crafts men... or dead||The knowledge that comes with time/experince||Experience||Same as above||the this keword||I set the groundwork for my career||Like an array but each item is unique|
|5/25/2016 11:24:34||Nope... not yet||3||3||2||Yep. Got my undergrad.||Computer Information Technology||Carpenter||Your ability to aid the company and other developers to also succeed at their job||Mentoring||Mid can get their job done and do it well. Senior can get their job done and help others to do so as well.||leaky abstractions||hard to keep up with the change and it takes a while to start a new project in because of tooling and setup||Taught me how working in a team isn't always a good experience||a tree in which nodes point to one another||a collection like an array but ensures uniqueness|
|5/27/2016 15:58:59||Nope... not yet||2||2||2||Yep. Got my undergrad.||Sociology, pursuring Computer Science||Mathematician maybe||A junior dev needs more hands on guidance when given a problem, such as walking through the program and find out where to put the fix in and such. A senior dev knows how to get around programs and find out where the weaknesses are, and possibly finding fixes for them. They can also predict and diagnose potential weaknesses before and while making new features.||knowledge||A mid-level dev should be able to get around the code base without much help, as well as fixing bugs and adding new features. However, a mid-level dev may not be able to foresee potential problems in the code, like how a senior dev can.||My least favorite language would be Java, but it is popular and learning it will be useful to find jobs.||I like Haskell, but I don't like how the docs don't have examples to rely on.||Learning theories and mathematics helped me read programming papers better, and taught me debugging skills for programming classes, as well as team work.||A linked list has head and next pointers, that you can get to the next or previous elements by calling them. However, search will have more complexity than an array because you have to go through the entire list (worst case) to get to the element you want.||No duplicate values in a set, no indexes.|
|5/25/2016 14:08:26||Nope... not yet||5||3||3||Nope. Degrees are for Suckers™||mad scientist||Senior can tie, untie,design complicated knots and calculate consequences vs junior less complicated knots and less ability to calculate consequences||knowledge||mid-level devs need more directions and oversight of big technical decisions||java clunky verbosity||ruby so expressive and fast to work with||a list of nodes with a sequence||a chunk of data in a context|
|5/25/2016 13:53:10||Nope... not yet||1||5||4||Yep. Got my undergrad.||Computer Science||Mathematician||Years of experience, knowledge of patterns, deeper knowledge of familiar languages, frameworks, and reasons to choose one over the other. Ability to lead, and to mentor.||Experience, knowledge||More experience, more knowledge, and the mentoring/teaching/leadership skills.||Types||The difficulty of finding reliable libraries for some common tasks||It got me the interview. It also prepared me to think about theory and problem solving, and taught me how to quickly pick up new information and languages.||A data structure made up of nodes where each node holds both data and a link to the next node.||A set is an unordered collection of unique things.|
|6/3/2016 15:10:41||Nope... not yet||1||5||4||Yep. Got my undergrad.||Software and Game Development||I would try to enter astronomy.||Strong problem-solving skills and a strong understanding of the project's goals and the general structure of the project.||A senior developer would generally have more "soft" skills compared to a mid-level dev. They are better at explaining problems with the code, and walking through programming problems with their co-workers, using their larger knowledge base and experience to guide the mid-level dev.||Swift does, in the end, actually have typing, which is useful for apps that have distinct data objects.||C# has so many features, it's difficult to know what all is there.||It gave me a strong foundation in programming, and I wouldn't be able to communicate with others nearly as well if school didn't require it of me.||A series of objects that aren't necessarily next to each other in memory, but have pointers to their next element (and potentially their previous element, if that's what you're into), so that you can still iterate through the list of objects.||A set is a collection of items, where duplicates are dropped. I think? I used to know, and I remember talking about it in school, but I haven't used them in a while.|
|5/25/2016 12:45:55||Nope... not yet||2||6||6||Yep. Got my undergrad.||Computer Science||A time traveler. Riddles aside, I'm not too sure. Maybe work in textiles?||Amount of experience||experience||Amount of experience||I don't like C# as much, because I'm not as comfortable with it. I like that it is Object Oriented||Picking a favorite language is hard, but I hate that whitespace can screw up an entire Python script. Especially when a text editor is simply displaying it differently.||Uhh, my program helped hook me up with my internship that got me my job.||Collection of objects that each contain a reference to the next object, and the collection has a reference to the start.||Collection of objects with no particular order and no duplicates.|
|5/25/2016 16:33:04||Nope... not yet||4||4||7||Nope. Degrees are for Suckers™||Carpenter||Senior devs will have a more in depth and complete knowledge of any language they claim to know. An example would be an awareness of the edge cases for empty() in php. I would not expect a junior level dev to know, or even be aware of those. As a result a junior dev's max maintainable code library will be smaller than the senior dev.||knowledge||Senior and mid level devs are similar in coding capabilities. The differentiator between these two is that a Senior level developer can speak to a managerial team and never mention a specific technology but still confer the knowledge they need to understand the problem and/or decisions facing the development team.||Java - It is used for mobile development and everywhere really.||JS async. While amazing, it create headaches.||A bullshit array. Serious - an array with dynamic size in strongly typed languages||A mathematical construct|
|5/25/2016 20:54:40||Nope... not yet||6||7||7||Nope. Degrees are for Suckers™||a doctor or someone who could discover condom or maybe birthcontroll pills||senior dev is able to give his experience to other junior dev team and make them learn how to code better, also junior mostly doing the easy jobs but routine that normally are time consuming and are less technical.||mentoring||has more experience and know how to compile the code in mine and able to review the code and find the bugs without testing on system- also a bridge between developer, lead developers and product team but mid level dev is just a implementor of the ideas of the senior and team leader||still remember vb6 and it helped me alot at that time to develop every tools that i needed||you need to be really careful to work with node js, it has pretty face but if you don't review your code and doesn't have enough test, it may be your worst nightmare on finding bug and memory leaking in enterprise apps. specially when you are working with sockets and RDBMSes||never heard of it, never needed it||set of what, set of data? you mean the result set of the data in RDBMSes?|
|5/27/2016 13:58:52||Nope... not yet||10||3||10||Yep. Got my undergrad.||Computer Science||Lawyer||Experience, level of work (seniors tend to work on more architectural or design problems)||experience||Amount of leadership expected of them||It's very good for learning object-oriented programming||It doesn't support automatic tuple demarshalling (or, alternatively, returning more than one thing from a function) like Python does.||The theoretical aspects have been the most valuable thing (data structures, complexity theory, computer security fundamentals)||A list composed of nodes. Each node has a pointer to the node that follows it in the list, or possibly also a pointer to the node that precedes it in the list||A collection of objects in which there are no duplicates. It is not necessarily sorted.|
|5/31/2016 17:11:57||Nope... not yet||6||6||10||Yep. Got my undergrad.||Computer Science||Chemist||A senior dev takes on a technical leadership role as well as a mentorship role. They should be able to help junior devs by reviewing their code and infusing their wisdom with the language/application/best practices into the junior devs code. They should help a junior dev find and fix issues. Senior devs should know the tradeoffs of multiple approaches to solving a given problem.|
Junior devs are generally people just starting out. They are less familiar with best practices than senior devs. They spend time learning and figuring out more ways to fix problems. They have limited knowledge of different approaches to solving a problem. They have little technical influence in a company.
|mentoring, knowledge||A senior dev leads more than a mid-level. Senior devs might be involved in training other devs or developing policies/guidelines around development practices in the organization||I like the way CSS selectors can be so declarative to get exactly the element you want. Sibling selectors, etc.||I hate some of the wacky comparisions in JS: (NaN === NaN) === false||I know basic concepts that build together to help me accomplish a lot. I also know how to handle the proper software engineering process to work to develop products.||A list of nodes with pointers to the next node. Nodes can be iterated through by going through the pointers, until you reach the end (or circle around with a doubly-linked list||A structure containing nodes where there can only be one entry of each kind. For example [1, 2, 2, 2, 3] is not a set (but is an array) and [1, 2, 3] would be a set (and also an array in this example :) )|
|5/25/2016 12:59:23||Yes!||5||5||1||Yep. Got my undergrad.||Graphic Design||A consultant that would find creative ways to help businesses make more business||Senior Devs research what's out there, test their own ideas, experiment with new ideas, reflect on their learning, and come up with unique solutions that fit their problem. Junior devs only research what's out there.||knowledge||Not sure, I've never worked in that kind of arrangement.||(PHP) How ubiquitous it is, once the server is running, you can use it right away in any folder without configuring application servers for each project, or configuring ports - all .php files will execute when loaded. And it's turned on nearly by default on every web server, which makes it a safe bet.||(CSS) Some properties are misnomers, or have confusingly similar names - but since they have been specified at once point, even if we all changed to a new tag we would still have to support pre-existing CSS so we would just have two properties to support.||The principles of good design apply across all media, and it feels like tech is changing every day. My design background keeps me grounded in 'what do I want to accomplish to get the job done' instead of getting carried away by the technology that lets me most easily achieve that today.||Hah not my area of expertise, sounds like the 'LL' of .DLL to me. Or was that dynamically linked library?||It sounds like a bunch of arrays to me. Also not something I deal with at the moment :)|
|5/31/2016 9:54:08||Yes!||10||2||2||Nope. Degrees are for Suckers™||Probably try be a doctor||The focus of a Senior Dev is to make others better, the focus of a junior dev is to make themselves better.||mentoring||I don't really think there is a Mid-Level||Lack of support for web programming||Lack of Types||A Java Thing :)||A list of items with arbitrary keys matching to arbitrary values, with no duplicates|
|5/25/2016 14:54:20||Yes!||5||3||3||Heck yes! I have a graduate degree!||Master of Science in Information Techology||Rancher||A junior dev has limited programming abilities and is concentrating on basic software development concepts like OOP and problem solving skills. A junior dev is focused on learning programming languages. A senior dev has a solid grasp of the programming languages being used as is able to teach and lead others.||knowledge||A mid-level dev has become proficient at several programming languages but is still mastering the shared principles between programming languages, high level concepts such as software development methodologies, how a successful team works together, etc. A mid-level dev is also still learning to be an effective leader. A senior dev is not only proficient but has mastered these abilities.||It is widely used and supported.||My favorite langues lacks solid documentation.||My degree has helped more in finding the right position and less in helping at a specific position.||?||?|
|5/25/2016 13:47:36||Yes!||5||3||3||Yep. Got my undergrad.||Music||A distiller or brewer of alcoholic beverages.||Mainly semantics, but at the end of the day maybe a Senior Dev is someone who can implement features or applications without guidance. Which is, anyone who is willing to take the risk of taking on those tasks and can get someone to trust that they are capable of it.||independence||Probably all semantics. Mostly I would say Senior Devs have the confidence to claim to be a Senior Dev and Mid-Level Devs do not.||first class functions||how hard it is to set up a project, especially without an IDE to manage the process.||Music taught me how to keep my head down and practice until I could master something, and how to deliver a finished task.||A list that can be sorted.||A list of unique items.|
|5/25/2016 22:45:08||Yes!||10||3||3||Yep. Got my undergrad.||Computer Science||Artist or building architect.||A Junior Dev is generally working on learning a language deeply, establishing good habits, and mimicking what more experienced devs do. They are in the Shu stage of their development (see http://martinfowler.com/bliki/ShuHaRi.html).|
A Senior Dev should already know a few/several languages, have some established good habits and skills, and is concerned more with providing value to the customer more than anything. They should be working on the Ri stage of their development (see http://martinfowler.com/bliki/ShuHaRi.html).
|knowledge||A Mid-level Dev should have learned at least one language deeply, is working on furthering their skills, is figuring out why experienced devs do what they do, and establishing their own good habits. They should be working on the Ha stage of their development (see http://martinfowler.com/bliki/ShuHaRi.html)|
A Senior Dev should know why they do what they do, is still learning, but isn't concerned as much with skill acquisition as they are providing value to the customer and mentoring others. They should be a value multiplier. They should be working on the Ri stage of their development (see http://martinfowler.com/bliki/ShuHaRi.html)
|I'm always an apologist for VB.Net but I would never want to develop in it again. Things that I liked about it include:|
1) The switch select (switch) statement could do ranges which was kind of rad.
2) VB.Net supported XML literals which was great back when XML was relevant.
|5/25/2016 12:35:07||Yes!||10||4||4||Nope. Degrees are for Suckers™||Not a clue, but definitely not who I am.||Being able to find solutions yourself.||independence||Being able to visualize how the whole project will come together.||I dunno; I avoid it :)||I have a few favorites, each with warts (one slow, one unnecessarily complex, one with limited adoption)||This isn't a whiteboard. Fine--- you have a pointer to the first element, and you find each successive element by following pointers embedded in each element||It can depend on implementation, but typically a set is a collection of unique items. Typically with O(1) access times|
|6/1/2016 10:30:47||Yes!||4||4||4||Yep. Got my undergrad.||Computer Science||Knocker-up||After very little coding, a senior dev can tell which architecture or algorithms are going to work out and which ones will cause problems later on. They can understand and solve problems with the big picture in mind.||knowledge||A senior dev can own a problem. You can trust them to architect a great solution. They don't require handholding to solve a problem, but they still know when to come back to the team for advice on how to implement/architect something. They often look for teaching opportunities, as they know that's an extremely powerful way to understand something better themselves.||It's pattern matching is neat.||Doesn't have a good type system.||It's been super useful to know how to calculate Big O for various algorithms we're evaluating using. The work in obtaining the degree taught me how to be a team player as well as how to stick to and finish hard things.||A data structure wherein each item contains a value and a pointer to the next item, if it exists.||A data structure containing a list of unique values.|
|5/25/2016 11:35:50||Yes!||10||8||5||Nope. Degrees are for Suckers™||I went for 4 years, then left for a job. Jumped around a lot so am 2 quarters away from a couple degrees. :shrug:||Some type of craftsman. Woodworker, blacksmith, etc.||SR has the experience to recognize problems before they are implemented. This isn't always because they are super-smart-CS types, but more importantly because they've seen it before and know the pitfalls. Edge cases - they see them everywhere. They are also a bit more leery about jumping on the latest Framework-of-the-day bandwagon perhaps.||experience||I guess I'd say scope of knowledge. Like being able to look at a problem and see how the network, servers, databases, redis, rails, and all the other pieces will interact. Also knowing when to introduce something new into that stack. Recognizing when one part of the stack is going to be a problem.||PHP. At least it's easy to get started. Write a foo.php file and throw it on almost any webhost and it will run.||Ruby. I don't like some of the magic Rails introduces -- more specifically the fact that many people don't realize the difference b/n Rails and Ruby.||A data structure where each element contains a value and pointers to the element that comes before and after it. I suppose that's a doubly linked list.||A collection of unique values.|
|5/25/2016 12:43:56||Yes!||9||3||5||Nope. Degrees are for Suckers™||I got an associates in general studies||Electrical engineer (or whatever they called those guys who played with electricity)||Autonomy, a junior dev will need more guidance to contribute effectively.||independence||A mid-level can own a portion of a project, but a senior can own the whole thing and be responsible for its delivery.||The ubiquity of the JVM||Having to transpile to use the latest features.||The fundamentals of computing and algorithms have always helped. And they were taken in year one.||A collection where each node has a reference to the next node in the list.||A set is a collection where each item is placed in a location based on some algorithm on that item, like a hash|
|5/25/2016 17:56:49||Yes!||10||7||5||Nope. Degrees are for Suckers™||Does an associates degree count?||A cowboy, duh||Experience, vision, mentoring ability, ability to deliver, design solutions||experience, mentoring||ability to teach and mentor, produce simple / robust solutions, and more experience.||flexibility||mutability||My associate degree is just paper||a data structure where objects are linked together in sequence||A unique collection of items|
|5/25/2016 12:01:35||Yes!||10||7||5||Yep. Got my undergrad.||Economics||dead||able to work independently||independence||able to make strategic recommendations||PHP: docs and community||Ruby: weird core method names||More sympathy for managers||A list based on nodes with sibling references||A unique collection|
|5/25/2016 12:56:35||Yes!||8||5||5||Yep. Got my undergrad.||Computer Science||Mechanical engineer||A senior developer is empowered to make architectural and high-level technical decisions with limited oversight. A senior developer is also responsible for ensuring the quality of more-junior developers' code.||independence, mentoring||Built-in immutable data structures||The distinction between lists and vectors is usually unimportant, until it is and your program fails to work.||I can identify classes of problems quickly and easily, and I know where to look to find a solution. If no readily-available solution exists, I can be confident that for most problems I can implement my own solution.||A liked list is a data structure that organizes data in a series of nodes that are linked by references. Reading and appending to the end of a linked list is extremely fast, random access is slow.||A set is a data structure that may maintain one and only one instance of a particular identity.|
|5/25/2016 11:27:30||Yes!||8||4||6||Yep. Got my undergrad.||Advertising :)||Farmer/Innovator.||A junior developer always works under the guidance of a senior developer. They do not make architectural, technological or practical (as in best practice/standards) choices without the express consent of their senior/lead.|
A senior developer may work independently or without supervision and may be empowered to make unilateral decisions on behalf of a team.
|independence||1. Experience. Having run into enough edge cases and implementation details to help you identify and avoid the most common mistakes as a matter of habit.|
2. Leadership. The ability to work within and lead a team of more than 1 person over several iterations of a product. They take ownership of decisions that affect the product, both positive and negative.
|5/25/2016 12:51:04||Yes!||5||4||6||Yep. Got my undergrad.||CS||Hrm... a scientist? maybe a blacksmith if I were tougher||A senior dev can look at a codebase and within a few minutes have a good bearing of where everything is. They can, where appropriate, gloss over details and instead focus on things at a higher level problems whereas a junior dev will need more time to understand what is happening, even if they have good familiarity with the language they are using||experience||The ability to reason about a problem in such a way that you expect what will be the problems before you hit them. It is a familiarity with the problem space that goes beyond the basics and being able to use prior experience to describe a solution quickly and in terms of other problems.||types||no types||Tons, taught me fundamentals that still inform the way I think about computers||a container object that has a pointer to next (or previous) objects which creates a list. Depending on the implementation, inserting and deleting at the beginning and end of the list are O(1) and seeking through the list is O(n)||In math terms, a unique group of objects. In CS terms, a unique group of objects but set membership can usually be determined in O(1)|
|5/25/2016 18:14:06||Yes!||10||4||6||Yep. Got my undergrad.||BSCS||Pirate, Gunsmith, Blacksmith||Senior Devs understand the business need to get work done. They get the job done the best way they knows how. They always looking for ways to improve, but will not let that get in the way of the business needs. When they come across codez that can be improved (but might require a lot of work), they bring it up to the lead to add it to the backlog to be prioritized.||priorities||Mid-levels are competent and get work done, but they fail to keep it simple. They over-complicate instead of finding simple solutions to difficult problems. Senior devs recognize they don't know everything||Consistency across machines/environments||Inconsistencies across environments/engines||Getting the job, that's it||items that reference a next item (nodes)||Lord Set (Mistborn novels), jk. Unique collection of objects/values|
|5/25/2016 11:31:16||Yes!||5||8||7||Yep. Got my undergrad.||BS in Computer Science||Mathematician and/or physicist.||A junior dev has no experience. That is their defining quality. Anyone with experience is at least mid-level.||experience||Senior devs are distinguished from junior/mid because they can be trusted to get the job done, whether solo or via delegation. A senior dev has enough experience to make reasonable estimates, and can raise flags when they aren't going to be hit. They can be trusted to let management know when a project is too big, or when more specialists are needed. They are also familiar with enough technology to make reasonable tech and architecture decisions when necessary. You can quantify what "trust" means in a dozen different ways, but that concept of trust is the core differentiator.||C#: it's fast||Haskell: the stigma around learning to use it (not that people think it's bad to learn it, more that its reputation for being difficult to learn makes it more difficult to learn or teach)||My degree helped me get my _first_ job. After that it just matters that you know your stuff.||A data structure consisting of an element and a pointer to the next node, or the Nil or ending node which signifies the end of the list. "Linked" refers to the way the data is structured inside the computer. "List" is the general concept.||A data structure with no duplicate elements. "Set" is more general, like "List", so you could implement it in a number of ways.|
|5/25/2016 11:54:15||Yes!||10||5||10||Nope. Degrees are for Suckers™||probably starving to death||senior devs understand it's all just code, there's no magic||experience||a senior dev makes everyone on the team better||great documentation||no first class functions||a data structure representing a list where each element has a pointer to the next element in the list||a collection of elements containing exactly one of each element (i.e you can't add it twice), ideally w/ good performance around lookups/insertions/deletions|
|5/25/2016 12:20:22||Yes!||6||5||10||Nope. Degrees are for Suckers™||two classes short of a CS degree||Dead of cholera||Junior devs need hand-holding or oversight to accomplish their own tasks. They love the new shiny. Senior devs are interested in new things but are aware that there is no silver bullet, and that the benefit of a shiny new platform/tool/tech comes with a cost which is sometimes not worth paying.||experience, independence||Mid-level devs are competent in their own domain. They can own their own tasks. Senior devs can own a whole architecture, make reasonable and pragmatic decisions about tech choice, and take the long view. They help their whole team, while also accomplishing their own assigned tasks.||I don't really have a least favorite language. You can build great and horrible stuff with any language. One I don't love working in is Java. Its type system is pretty terrible because it forces you to jump through hoops to make your program compile (like any type system) but doesn't guarantee that it will actually run (good old NullPointerException). You *can* use the Java type system to help you model the problem, but often it is abused to create towering hierarchies of inheritance, not modeling the problem well, and still having the dynamic language problem of "this line of code can sometimes crash your program."||There is a cult of personality around the designers/leaders of Elm. They don't really embrace the egalitarian ideals of other open source projects, which makes contributing hard, and also scares me b/c of worry the dictators will suddenly take it in a direction I find untenable.||Going to school helped my expand my brain. I was a scrub before that. Not finishing has not impacted me negatively in any way so far.||A data structure for storing items in nodes, with each node linking to the next node (and sometimes the previous). Adding to or removing from the beginning of the O(1), anywhere else involves traversing the list which is O(n).||A data structure that allows you to store multiple items without duplicates. Often implemented with some kind of hash table.|
|5/25/2016 11:29:05||Yes!||7||10||10||Yep. Got my undergrad.||Math||Dead, probably||A junior dev just modifies code until it works. A senior dev understands WHY it works the way it does.||knowledge||Mid-level devs just do what is asked of them. Senior devs know what needs to be asked. They understand the big picture: program architecture, failure modes, and how to work around them.||PHP: T_PAAMAYIM_NEKUDOTAYIM||Python has a horrible schism between 2.x and 3 that the community has NEVER recovered from.||It largely hasn't, although the things I learned while getting it have contributed to the way I think about problems.||An ordered set of memory addresses wherein element each contains a pointer referencing the next in the list||Mathematically, a collection of elements. In programming, these are generally indexed and have the restriction that the elements must be unique.|
|5/25/2016 11:37:32||Yes!||10||7||10||Yep. Got my undergrad.||Computer Engineering||I've gotta go with carpenter. Or farmer.||I think the distinction comes down to having a sufficient set of concrete experiences to draw upon to make reasonable decisions in the face of uncertainty and risk.||experience||That's a great question! I might be a mid-level developer because I'm not sure.||Visual Basic allowed a legion of self-described non-programmers to solve useful problems using programming. That's really important.||In Elixir/Erlang, the package ecosystem is either stable and obtuse (Erlang) or immature and incomplete (Elixir).||For 99% of web frontend and backend work, not much. The biggest value it ever provided was in meeting the requirements for my first post-college job. Occasionally, I've been able to use skills learned in school to analyze or research solutions to really hard problems, but those cases have been few and far between.||A data structure linking a string of elements together, each providing a link to the next (and possibly previous) element in the sequence. It provides a way of adding, removing, and looking up elements. It may also provide a method of combining with another linked list.||A data structure primarily concerned with membership, rather than ordering. It may be implemented in terms of many other data structures, including a linked list. It provides a way of adding, removing, and looking up elements. It may also provide methods of performing algebraic set operations against it and another set to produce a new set.|
|5/25/2016 14:09:40||Corrected to Yes||8||2||4||Yep. Got my undergrad.||Economics||Polygamist||Senior developers say "no" to new ideas, Junior developers explore them.||Mid-level devs attribute code quality to the formatting of the characters.||keyframes||I don't feel that strongly about any of it.||Taught me to think outside of my intuition||Somebody tried to tell me once but I really don't care, and wandered off.||A great way to store data and look it up quickly.|