Through a Slack discussion with a few members of Speak's dev team, we asked the question, "what exactly do you do?" From jokes about code to discussing the future of the profession, we uncovered what it's like to be inside the mind of our developers.
HERE'S TODAY'S STARTING LINEUP:
Jessica: Hi all, thanks for joining to discuss the mysterious world of development. Before we dive into exactly what you all do, I’d love for you all to answer why you think you’ve found yourself in dev?
Mike: Somebody had to do it
Steven: Software allows me to build things, break them and try again.
Matt: Because aside from reading books all day (my B.A. is in English), it’s all I ever wanted to do. From my first memories of computers in the early 80s, all I wanted to do was figure out what made them tick.
Steven: I think for me it's the only thing that could both entertain me and give me a challenge.
Carson: I was drawn to front-end dev as it's a well balanced mix of creativity and problem solving. It's form and function combined.
Steven: I can't do anything with my hands.
Stephen: I'll be honest I was a designer, then they needed help with code, so I started learning it, and I figured I had more job security. Then I coded.
Mike: Personally, I really enjoy the highly logical nature of development. It’s also super satisfying to put your brain to really complex things and outsmart the computer and have everything work exactly as you intended it.
Steven: Okay, let's be honest. They don't trust us with people so they put us with computers.
Steven: Or hammers.
Matt: he’s right you know
Jessica: Sounds like everyone enjoys the challenge. You all are the people I'd like to go to one of those escape games with
Matt: Our jobs would be a lot easier if it wasn’t for people
Steven: ... We don't have google in those escape games.
Steven: They also don't like it when you say If we all work together we can just break the door open
Steven: The door isn't locked.
Matt: set the channel topic: The door isn’t locked.
Steven: You know: we should build a text adventure when this is done.
Jessica: All fair points and sounds like you've got your next challenge ready. So everyone knows you’re the ones that make things magically work, but if you had to describe what you do to those of us that aren’t highly technical — what would you say?
Stephen: We google a lot.
Steven: I build the tools to help you get your content to other people.
Carson: I write a few lines of code, save, refresh the browser, and see how close I got to what I intended. Then I rewrite, head-tilt, and Google until I get it right.
Stephen: But yeah honestly for me it is about learning languages. We talk to computers, and we tell it to do things.
Matt: We break down big processes and problems into smaller pieces that can be solved
Steven: too-real try-not-to-cry
Steven: Stack overflow is our friend.
Stephen: So you have to learn different languages to tell the computer to do different things.
Steven: @Stephen also knows French.
Steven: maybe we're just better at Googling
Stephen: And sometimes two different languages need to communicate.
So you have to be the translator.
Jessica: How would you explain "code" and "stack overflow" to your grandma? Not sure everyone knows what you mean by different languages
Matt: stack overflow is for programmers
Steven: Code is the instructions you give the computer.
Stephen: ^^^ It is the words you tell it
Mike: Most of how I think about it is I write instructions for the computer to get and use data for things non-computers can understand and use.
Steven: Google is the guy you ask to turn off and on your problem to make it work again
Stephen: And stack overflow is a community where people post questions and people answer them about code related problems. So if I can't figure out a problem I can go and search their database to see if other people have encountered the see problem so it is a community of developers helping each other
Jessica: My biggest takeaway so far: someone coded Google, now you use Google to code
Steven: that is mind blowing
Carson: The creators of Google couldn't Google their problems
Matt: Before Google, programming languages and tools actually came with printed manuals
Steven: Printed materials are still a good idea. Well, books are. Even if they are in Kindle format.
Matt: I miss the books
Stephen: I don't think I've ever looked at a book about code
Mike: I miss proper documentation and people being expected to know languages instead of just libraries and frameworks.
Steven: I use it every day. holds up my second monitor.
Stephen: ^^^ same but my book is about plants
Jessica: This brings up a question I wanted to ask. The job title ‘developer’ hasn’t always existed (I wasn't aware of the books, so it has clearly been around longer than I thought). What do you think will be the biggest changes in the profession within the next 5-10 years? Where do you think it is headed?
Steven: We'll all be using that hand-swooshing screen from Minority Report.
Stephen: It could be that we don't even have to code and computers do it for us
Steven: Honestly wherever the technology goes. As long as there's machines, there's gotta be developers to tell them what to do.
Honestly - not that much. I’ve been doing this for 20+ years now and the names of the day-to-day tools have changed, but the underlying concepts and approach to solving problems doesn’t really change. Certain techniques and approaches will come in and fall out of fashion - just like in design. But if you look back at a lot of the history of the early days of computing in the 60s and 70s, so much of what we do today was first discovered/created by those people and we’ve spent decades now re-inventing and rediscovering those things. If anything, those early computing pioneers were much more visionary (and less dystopian) about what we could do with computers than the vast majority of what they get used for today.
Steven: Even if it's teaching them how to be smart.
Stephen: Unless they become conscious!
Steven: Computers will always need instructions. AI won't ever teach itself.
Matt: AI is just pattern matching
Mike: Basically we’ll still be doing what we do now but with new languages on new computers.
Steven: speaking of AI, nvm
Steven: And we might possibly be taking more advantage of remote computers doing the intense stuff.
Matt: … which is exactly what people were doing in the 60s
Steven: He's right about that.
There are just lots more people doing it now.
And everyone thinks they have discovered a new idea.
Carson: Everything is new when you have no retention of history
Matt: see also: books. sorry
Steven: No you aren't.
Steven: If developers have a skill it's learning new technologies/languages so really the core doesn't change much.
Steven: or figuring out how to learn at least
Stephen: that is what makes our job interesting as well, we have to keep learning different frameworks to stay relevant
Steven: Caffeine will always be required as well.
Jessica: I'm still laughing at <soapbox> and only understand because one time Mike gave me an HTML lesson. It's super interesting to hear each of your perspectives, for the most part you agree. I'm curious if you'll agree here: What would you say is the biggest misconception about what you do? What do you wish more people understood?
Ben: That we can hack the Pentagon.. or "hack" into anything for that matter. That involves a bit of a different skill set and a bit of a different set of morals.
Matt: That programming requires incredible levels of intelligence - it’s more about logically thinking through problems.
Mike: Mainframes aren’t what you think they are
Matt: Lemme open a socket real quick
Stephen: I think the biggest misconception is that what we do is this crazy mystery that no one can figure out. But really if taught properly anyone can code
Ben: And we can't zoom, rotate and enhance.
Matt: Maybe you can’t
Stephen: that's for the designers
Steven: I'd agree on the coding isn't hard front.. it's just a lot of logical instructions.. over thousands of lines
Carson: Coding languages aren't like spoken languages. It usually involves multiple layered coding languages to accomplish anything, yet I can barely English.
Mike: The more logical you can be the fewer lines of code you need, and vise versa.
Matt: And fewer lines of code is always better
Stephen: You gotta love that short code
Steven: well-documented short code*
Ben: And readable
Stephen: nice comments
Carson: The first thing you should learn in any language is how to make a comment
Mike: <!-- you look lovely -->
Stephen: /* thank you */
Carson: /* oh stop it you */
Jessica: My guess is that short code is better because there is less to break? But tell me why short > long
Matt: Yes. Less code == fewer places for bugs
Mike: Can run faster because the computer has to read and think about less
Ben: + Fewer things to change in the future.
Stephen: easier for future people to read
Steven: Let's just say the computer's love language isn't words, it's more acts.. so the more concise the communication the better the relationship
Ben: As long as you don't hit it with a sledgehammer. That wouldn't be a nice act.
Matt: Communication doesn’t get much more precise than a sledge hammer
Ben: Precision is important.
Carson: At least it would be concise
Mike: Guy smashing monitor with keyboard
Jessica: That checks out. Okay so misconception is answered and ironically your answers are that your jobs aren't as challenging as they appear. But my final question for you all is what is the biggest challenge of your role?
Stephen: self crushing doubt
Matt: Scope creep
Ben: Taking the time to plan well. It can be tempting to just start building something. Good software development doesn't begin with just writing code. Designing the system well will save you from confusion later.
Mike: Clear direction and time
Ben: I think the same thing applies for full-stack and front-end. There are different challenges and levels of complexity. However, you still need to start with a good plan before executing the plan and finding yourself in code purgatory.
Jessica: Do you think it's fair to say that scope creep can be managed with a clear direction/good planning? It's okay to say no
Mike: Often scope creep comes from redoing things based on new direction or unclear direction at the beginning. Sometimes it’s unavoidable.
Matt: Eh, only to a certain extent. Software is malleable, so there’s always going to be the temptation to want to change or add something you didn’t think of initially.
Ben: Taking the approach to build what you most basically need and then moving to more advanced use cases can save a lot of problems with scope. You have to have that approach with the customer from the start.
Steven: Scope creep can have different contexts though.. you could have clear direction and the client assumes something is included or misunderstands.. clear direction is maybe hard to agree on because it involves communication and we're often not 100% on the same page
Stephen: And sometimes one code issue can take hours. So if you aren't on the se page you can sink tons of time into nothing
But not what they want
Matt: Scope creep isn’t bad necessarily - sometimes the best ideas come up later, but there are very real costs that need to be acknowledged, which is often the problem.
Ben: It's important for a developer to not be held up in his/her cave by him/herself. Communicating with clients is a valuable skill.
Matt: Clients often want their latest idea, but at the original cost and timeframe
Ben: Part of that communication skill is helping to direct focus toward the original idea.
Mike: Or agree on a scope addition with additional cost
Jessica: Yeah it's an interesting balance you all have to maintain. Getting to the best idea and staying within scope. I’ve learned so much! I’m grateful for the peek behind the curtain into the ‘not as mysterious as we make it out to be’ world of dev. Thanks for joining!
Let's Chat Custom Dev
It's clear that the dev world is one of mystery for a reason. Though we believe with enough time and energy anyone can code, we know that not everyone has the time needed to become an expert. Our experts are passionate about coming alongside your organization and solving business problems through custom dev. If you've got something you need built or solved, let's connect.
Get In Touch