ABCDEFGHIJKLMNOPQRSTUVW
1
TimestampAre 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?SummaryWhat 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?
2
5/26/2016 12:17:33Nope... not yet111Yep. Got my undergrad.bachelor of web devsome kind of crafts men... or deadThe knowledge that comes with time/experinceExperienceSame as abovethe this kewordI set the groundwork for my careerLike an array but each item is unique
3
5/25/2016 11:24:34Nope... not yet332Yep. Got my undergrad.Computer Information TechnologyCarpenterYour ability to aid the company and other developers to also succeed at their jobMentoringMid can get their job done and do it well. Senior can get their job done and help others to do so as well.leaky abstractionshard to keep up with the change and it takes a while to start a new project in because of tooling and setupTaught me how working in a team isn't always a good experiencea tree in which nodes point to one anothera collection like an array but ensures uniqueness
4
5/25/2016 16:01:16Nope... not yet112Yep. Got my undergrad.Information TechnologyBounty hunterKnowledge, work ethic, years in the industry, and confidence.ExperienceKnowledge, work ethic, and confidence.I like that Java is well developed, and has a strong backing.JavaScript is very free form, but it allows me to be as stupid and broken as I would like to be.I got a good foundation in a lot of things that people often feel they don't need, instead of just picking one high level concept then drilling down until I understand it.A list where each item is linked to the next, basically forming a chain.A group of data points.
5
5/27/2016 15:58:59Nope... not yet222Yep. Got my undergrad.Sociology, pursuring Computer ScienceMathematician maybeA 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. knowledgeA 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.
6
5/25/2016 12:43:51Nope... not yet343Heck yes! I have a graduate degree!Computer Information TechnologyMountain man, lumberjack, or farmer.Developers always fail. Senior developers have seen many failures before, and know how to overcome them. Junior developers face things they haven't before.ExperienceI'd say senior would know more of the stack, while mid is decent at being self paced. They can debug and work things out on their own, but they might not be familiar with each component or level of the app.xQuery - Its functional, and easy for my brain to follow whats happening.JavaScript - Bittersweet: The rate of change. Its hard to keep on top of whats new, and what today's best practice is.It taught me how to learn, and enjoy learning.A pointer to a pointerCollection of things
7
5/25/2016 14:08:26Nope... not yet533Nope. Degrees are for Suckers™mad scientistSenior can tie, untie,design complicated knots and calculate consequences vs junior less complicated knots and less ability to calculate consequencesknowledgemid-level devs need more directions and oversight of big technical decisionsjava clunky verbosityruby so expressive and fast to work witha list of nodes with a sequencea chunk of data in a context
8
5/25/2016 13:53:10Nope... not yet154Yep. Got my undergrad.Computer ScienceMathematicianYears 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, knowledgeMore experience, more knowledge, and the mentoring/teaching/leadership skills.TypesThe difficulty of finding reliable libraries for some common tasksIt 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.
9
6/3/2016 15:10:41Nope... not yet154Yep. Got my undergrad.Software and Game DevelopmentI 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.
10
5/25/2016 12:45:55Nope... not yet266Yep. Got my undergrad.Computer ScienceA time traveler. Riddles aside, I'm not too sure. Maybe work in textiles?Amount of experienceexperienceAmount of experienceI don't like C# as much, because I'm not as comfortable with it. I like that it is Object OrientedPicking 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.
11
5/25/2016 16:33:04Nope... not yet447Nope. Degrees are for Suckers™CarpenterSenior 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.knowledgeSenior 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 languagesA mathematical construct
12
5/25/2016 20:54:40Nope... not yet677Nope. Degrees are for Suckers™a doctor or someone who could discover condom or maybe birthcontroll pillssenior 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. mentoringhas 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 leaderstill remember vb6 and it helped me alot at that time to develop every tools that i neededyou 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 RDBMSesnever heard of it, never needed itset of what, set of data? you mean the result set of the data in RDBMSes?
13
5/27/2016 13:58:52Nope... not yet10310Yep. Got my undergrad.Computer ScienceLawyerExperience, level of work (seniors tend to work on more architectural or design problems)experienceAmount of leadership expected of themIt's very good for learning object-oriented programmingIt 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 listA collection of objects in which there are no duplicates. It is not necessarily sorted.
14
5/31/2016 17:11:57Nope... not yet6610Yep. Got my undergrad.Computer ScienceChemistA 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, knowledgeA 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 organizationI 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) === falseI 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 listA 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 :) )
15
3.4615384623.8461538464.69230769269.23%76.92%61.54%
16
5/25/2016 12:59:23Yes!551Yep. Got my undergrad.Graphic DesignA consultant that would find creative ways to help businesses make more businessSenior 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.knowledgeNot 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 :)
17
5/31/2016 9:54:08Yes!1022Nope. Degrees are for Suckers™Probably try be a doctorThe focus of a Senior Dev is to make others better, the focus of a junior dev is to make themselves better.mentoringI don't really think there is a Mid-LevelLack of support for web programmingLack of TypesA Java Thing :)A list of items with arbitrary keys matching to arbitrary values, with no duplicates
18
5/25/2016 14:54:20Yes!533Heck yes! I have a graduate degree!Master of Science in Information Techology RancherA 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.knowledgeA 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.??
19
5/25/2016 13:47:36Yes!533Yep. Got my undergrad.MusicA 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.independenceProbably 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 functionshow 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.
20
5/25/2016 22:45:08Yes!1033Yep. Got my undergrad.Computer ScienceArtist 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).
knowledgeA 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.
My current fav is Javascript. I wish it had a better standard lib (though es6 took great strides towards that). The baggage that comes with Javascript in the browser. Wish it would have embraced its prototypal & Lisp beginnings instead of tacking on Java-isms.Helped me understand how to problem-solve.A linked-list is a list of nodes that contain a reference to their "neighboring" node. You can "walk the list" by following those references.A set is a data structure that stores unique items. Lookup for these items are fast (I forget the Big-O for it) because the set will store a lookup table for the items, usually from a hash based on their location in memory or sometimes the item itself for primitives.
21
5/25/2016 12:35:07Yes!1044Nope. Degrees are for Suckers™Not a clue, but definitely not who I am.Being able to find solutions yourself.independenceBeing 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 elementIt can depend on implementation, but typically a set is a collection of unique items. Typically with O(1) access times
22
6/1/2016 10:30:47Yes!444Yep. Got my undergrad.Computer ScienceKnocker-upAfter 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.knowledgeA 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.
23
5/31/2016 10:41:18Yes!775Heck yes! I have a graduate degree!AccountingI would probably make bicycles or furnitureFor a junior dev, the work is done as soon as "it works." For a senior dev, the work continues until it works, it is tested, and it is documented. The junior devs think about themselves and how they can make themselves more successful. Senior devs think about how to make other developers more successful through they work they do.mentoring, knowledge, thoroughnessMid-level developers are often a lot like seniors in a lot of ways. A senior has experience that the mid-level developer can only obtain through hours spent at the keyboard. Indeed, many with the title "Senior" are more appropriately classified as mid-level because they lack that experience that is so essential to the work that a senior does.Perl does regular expressions like nobody's business.It is too easy to write bad JavaScript, too easy to just get something working. The barrier to entry is low, to the point where everyone thinks they can write JavaScript.DisciplineA CS 101 data structure that is rarely used in practice, at least not by me :) I believe it is a list where items reference the previous item in the list.A list where all items must be unique.
24
5/25/2016 11:35:50Yes!1085Nope. 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.experienceI 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.
25
5/25/2016 12:43:56Yes!935Nope. Degrees are for Suckers™I got an associates in general studiesElectrical engineer (or whatever they called those guys who played with electricity)Autonomy, a junior dev will need more guidance to contribute effectively.independenceA 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 JVMHaving 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
26
5/25/2016 17:56:49Yes!1075Nope. Degrees are for Suckers™Does an associates degree count?A cowboy, duhExperience, vision, mentoring ability, ability to deliver, design solutionsexperience, mentoringability to teach and mentor, produce simple / robust solutions, and more experience.flexibilitymutabilityMy associate degree is just papera data structure where objects are linked together in sequenceA unique collection of items
27
5/25/2016 12:01:35Yes!1075Yep. Got my undergrad.Economicsdeadable to work independentlyindependenceable to make strategic recommendationsPHP: docs and communityRuby: weird core method namesMore sympathy for managersA list based on nodes with sibling referencesA unique collection
28
5/25/2016 12:56:35Yes!855Yep. Got my undergrad.Computer ScienceMechanical engineerA 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, mentoringBuilt-in immutable data structuresThe 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.
29
5/25/2016 11:27:30Yes!846Yep. 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.
independence1. 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.
Java: The virtualization of the runtime which allows for the language to be decoupled from the hardware in a way that was never possible before it was introducedJavaScript floating point number precision problems. It has not contributed to my job/career in a meaningful way.A collection of "objects" that contain references to their next and/or previous siblings.I tend to think of it as an Array that enforces unique values. Technically, it is a collection unique of "objects". The definition of "uniqueness" depends greatly on the languages implementation of identity.
30
5/25/2016 12:51:04Yes!546Yep. Got my undergrad.CSHrm... a scientist? maybe a blacksmith if I were tougherA 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 experienceThe 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.typesno typesTons, taught me fundamentals that still inform the way I think about computersa 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)
31
5/25/2016 18:14:06Yes!1046Yep. Got my undergrad.BSCSPirate, Gunsmith, BlacksmithSenior 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.prioritiesMid-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 everythingConsistency across machines/environmentsInconsistencies across environments/enginesGetting the job, that's ititems that reference a next item (nodes)Lord Set (Mistborn novels), jk. Unique collection of objects/values
32
5/25/2016 11:31:16Yes!587Yep. Got my undergrad.BS in Computer ScienceMathematician and/or physicist.A junior dev has no experience. That is their defining quality. Anyone with experience is at least mid-level.experienceSenior 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 fastHaskell: 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.
33
5/28/2016 13:34:11Yes!1058Heck yes! I have a graduate degree!Information systems managementBuilder or woodworkerUnderstanding of application architecture. Not having to ask lots of questions on guidance for completing tasks (stack overflow not included)knowledgeNot a whole lot. Garbage collection in JavaNo typing in JavaScriptUnderstanding business decisions and managementSomething something memory address pointersNo clue without Google
34
5/27/2016 11:51:01Yes!1039Nope. Degrees are for Suckers™Bakery chefAside from having more raw experience, senior devs aren't afraid to ask questions. I've known a lot of junior devs who won't seek help when they get stuck---they feel they need to figure it out on their own to avoid shame.experience, opennessMaturity. Senior dev is encouraging, kind, not dismissive, and not worried about being wrong.Visual Basic was so incredibly easy to get started on and build something people could use. In 20 years I haven't found anything else that compares with how easy it was to start. I might be crazy.JavaScript: The lack of an official TC39 code standard so we can all stop the pointless fighting about indentation and semi-colons. :)Something to do with pointers.Data structure
35
5/25/2016 11:54:15Yes!10510Nope. Degrees are for Suckers™probably starving to deathsenior devs understand it's all just code, there's no magicexperiencea senior dev makes everyone on the team bettergreat documentationno first class functionsa data structure representing a list where each element has a pointer to the next element in the lista 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
36
5/25/2016 12:20:22Yes!6510Nope. Degrees are for Suckers™two classes short of a CS degreeDead of choleraJunior 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, independenceMid-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.
37
5/25/2016 11:29:05Yes!71010Yep. Got my undergrad.MathDead, probablyA junior dev just modifies code until it works. A senior dev understands WHY it works the way it does.knowledgeMid-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_NEKUDOTAYIMPython 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 listMathematically, a collection of elements. In programming, these are generally indexed and have the restriction that the elements must be unique.
38
5/25/2016 11:37:32Yes!10710Yep. Got my undergrad.Computer EngineeringI'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.experienceThat'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.
39
5/25/2016 14:09:40Corrected to Yes824Yep. Got my undergrad.EconomicsPolygamistSenior developers say "no" to new ideas, Junior developers explore them.Mid-level devs attribute code quality to the formatting of the characters.keyframesI don't feel that strongly about any of it.Taught me to think outside of my intuitionSomebody 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.
40
85.0434782615.73913043539.13%69.57%78.26%
41
13.04%
42
82.61%
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100