Chingu Senior Dev Guest AMA No. 1

with Brief Historical Context

Traci Cremeans
8 min readJun 10, 2017
Grossmünster — Zwingliportal (Switzerland)

The idea for Slack Portal was conceived by Periklis Arnaoutis (@periman in cohorts), upon realizing that as a means of team communication, Slack is lacking* (please see footnote) some arguably fundamental functionality: the ability to invite someone from the outside (potentially a client, intern, contractor…) into a conversation with your team without that person having access to every channel in your team (#general, #random, #bobsnonsequiturs69…). The aim was to create a web service and bot for Slack that generated, on command, a link to a chat interface, to be shared with outside participants, creating a ‘portal’ from Slack to the outside. Free and no user authentication required.

Chance McAllister (Chance Taken), founder of Chingu Cohorts, exercising his top-shelf skills in facilitating collaboration, invited me to join this project with Periklis. Jay Schwane (commonly @belcurv in cohorts) had the idea to invite senior dev guests for Ask Me Anything-style sessions with Chingus by means of Slack Portal. The details between are Chingu history.

We’ve decided to create a series documenting (a slightly curated list of) questions asked and answered during Chingu’s AMA Sessions. This is article one. Stay tuned for the next article on our session with freeCodeCamp founder Quincy Larson.

Our first AMA session (May 11 2017–19:30 UTC-6) was with Andy Glassman. Here’s the bio Jay wrote about him:

Andrew Glassman is a Back End Architect at Digital Measures (Milwaukee WI USA), organizes the Greater Milwaukee Java Meetup, participates in our local JavaScript Meetup (recently presented on Vue.js) and presents at That Conference (“Summer Camp for Geeks”). He was previously a Senior Programmer Analyst / Automation Engineer at FedEx Services.
His Site, LinkedIn

Have you accomplished something in your career that you thought was impossible/never dreamed of at the start? (@andrenogj)

I didn’t have a lot of goals when I first started. I had an idea of where I wanted to be in the long run, and I’m still working towards that goal. My big goals after being in the industry for 1–2 years were to be a team lead, or architect. I figured it would be another 5 years before I got to that level. I also never dreamed of running a Meetup. That has been one of the best experiences I’d say. For context, I got my first programming job out of college in 2009.

Do you commonly see people getting hired who are self-taught from places like freeCodeCamp? Are senior developers afraid of self-taught coders and college grads taking over their jobs? (@mayerxc/@kk)

Code camps seem to be fairly new, so I haven’t had a lot of experience wading through applicants with that on their resume. As a person who’s conducted technical interviews, I can say I wouldn’t discount them. The biggest hurdle would be getting HR and hiring managers to remove a 4 year degree as an entry level requirement. Freelance and smaller shops would be much more flexible in that regard. I don’t think senior developers are afraid of self taught coders and college grads. As you get experience, you start to realize that a lot of value a Sr level engineer provides is experience, not new technologies. Yes, as soon as you have any experience, the degree matters much less. A solid internship or freelance portfolio would go a long way.

How do you keep your skills fresh and how do you identify new trends you think you need to develop new skills to meet? (@jdmedlock)

I started the Greater Milwaukee Java Meetup for just that reason. It really helps fine tune my learning and ability to stay on top of industry trends. I also read a lot of company engineering blogs such as Netflix, Facebook, and Google. They are usually ahead of the curve, and I’ve picked up some great ideas I’ve implemented at work. If I find an interesting topic on one of the blogs, I’ll take the time to learn it. Then I share what I find at the meetups.

How do you stay productive and maximize your time at work and not at work for personal/professional development? (@laurendoughty)

That’s a tough one. I find the best way to maximize time at work is to chunk it up. For example, even if you have an important project, only dedicate 80–90% of your time to that per week. Be sure to take time to keep up to date on other projects, practices, and innovation. Another good approach is to set up stakes. For example, if I schedule a meetup on topic X in a month, I better set aside some time to work on it over the next few weeks! As for chunking, just use google calendar. Schedule an hour or two a week for reading tech blogs.

What are your suggestions on getting comfortable with a huge code base quickly? (@sparta)

This is a tricky one. I find reading through the tests helps a lot. Usually the tests will give you a good idea of how everything should work together. Another good approach is to ask a co-worker to walk you through at a high level. There are some parts of our code base I’m still pretty unfamiliar with, but have a high level understanding of what they do.

What if you are not part of the team and want to get familiar with the code base, i.e. are hoping to work there sometime in the future? (@dami)

I recently heard a story where a guy pretty much wrote a book on Couchbase. They hired him, and it got published! If there is a company with open source software, and you learn it in and out, you really could boost your chances of getting hired.

Based on your experience, what would you say are the most important hard and soft skills that make someone an especially strong developer? (@sonam)

Hard skills: Ability to pick up new concepts quickly. Ability to learn and not be afraid to use other languages and platforms. Some people get stuck in their comfort zones. Expect to use a ton of languages and platforms over the course of your career. Soft skills: Ability to admit when you’ve made a mistake. Another HUGE one is the ability to let go of control. It can be really hard to let go of your part of the code you’ve been working on for a year, but you won’t be able to maintain it forever.

I decided to choose React as my front end tool and invest the time to ‘master’ the library. Do I also have to do the same for Angular as well? Or can I get by with just a cursory understanding of the differences? It does take a lot of time and effort to learn these new tools and libraries. (@roxroy)

If you see a company is requesting a specific technology, put together a cool side project to show you know how to use it. Knowing one framework very well is great. I think it really helps to understand the underlying concepts of the language, and the runtimes. Once you get a really deep understanding of JavaScript, a lot of the frameworks become easier to learn.

Now that you have all this engineering experience, is there any advice you would give yourself when you were first starting out? Or advice you wish someone would have given you when first starting out that could have helped you along the way? (@aos)

I think my biggest advice is to not rely on your job alone to give you experience. I think most of the cool and innovative things I’ve learned have been by picking up a book, reading a blog, or working on a side project. Work experience is great for learning to work within an organization, but it can be limiting in the technologies you get to use. I started the meetup to give me experience being a technical leader. Think outside the box in order to get more experience faster than you would just doing your day job.

What if i am interested all things web from design to server side? I love front end and back end equally. I read some blogs about full stack not really existing and companies want people who specialize on one end mostly. (@amanfojnr)

I’m in the same boat as you! I love it all. I think most companies are pretty flexible unless they are specifically looking for a front end designer. On the other hand though, server heavy development teams tend not to get a lot of changes to play with the UI besides internal tooling. A solid understanding of both is really important for team leads, and architects because you need to know how everything fits together. So bottom line is Full Stack is more common than people are lead to believe.

What do you think is more important for a back end engineer, a solid math and problem solving skill set or experience in coding in general (non-back end)? (@periman)

Problem solving and math if you’re on a team. The team members will help keep you from making any dire code mistakes with code reviews, and you’ll improve over time. It also depends on the project.

How do you pick side projects, deciding to work on particular ones? (@svmi3195)

Typically I’ll just go with whatever is most interesting to me at the time. Sometimes they are value added, like learning a new spring library for work. Other times they are just for fun, like making a little RPG game on JS Canvas.

When you are interviewing, what are the types of responses that are “danger signals,” making you think the candidate isn’t right for the position? (@jdmedlock)

The worst ones are where you have to press the candidate for any type of response. The interview is your time to shine, and I shouldn’t have to pry or hint at solutions. Even if you think it’s wrong, at least say something and try out loud. Then the interviewer can at least see what your thought process is. Ask a lot of clarifying questions as well. That’s a good thing. Don’t truck away at a solution if you aren’t fully understanding the problem.

Team work and experience is a large focus of these cohorts. Tell us about a good experience you’ve had working on a team with other software engineers. What made it an effective work environment? (@jonathanwmaddison)

I think the best team is one that is greater than the sum of its parts. When you start getting into bigger projects, they literally would be impossible to do solo. The best teams I’ve been on have been able to debate and compromise on how the project should be implemented, or designed. Everyone has to be on the same page, so communication is very important. You don’t want to get a month into coding, and realize half the team did something completely unexpected.

In the face of globalization and an increasing number of people in the tech job market, how do you see the tech industry (programming-related jobs in particular) changing in coming decades? Are you at all worried about your future, or the future of people who are trying to get into the industry? (@zeprofen)

It really is anyone’s guess what the next 10–20 years will hold for programming related jobs. It think you’ll see a rise in SaaS providers, and see in house IT shops continue to fade in traditional businesses. I’m not too worried about my future personally, or anyone looking to get into programming. Computers are here for the long haul, and I think there will always be opportunities for those willing to learn new technologies.

*paid Slack teams now have the ability to invite multi-channel and single-channel guests

--

--