2015 November 29 19:04
Time to read: 5 minutes
I have been a professional developer for over a year and a half now.
About a year ago, my friend and mentor, John Kary, asked me how the job measured up to my expectations. I replied, honestly, that my expectations were met. However, I hadn't given it much thought since I was busy trying to learn so many new things. So, at the time, my expectation was that new developers spend a lot of time learning new things. Expectation: met.
Since that time, I have continued to learn new things, but I have also had time to think about the question more in depth.
I realized that I had many expectations of dev-life while I was studying programming.
Caveat: Your mileage may vary
This was probably my largest fear with changing my career and entering programming as a full-time job. I had read too much about brogramming, sexism, and ageism being rampant in the development world. As a middle-aged dude, I was worried about entering this career that was run by 20-something guys that call each other "bruh."
My first interview for my job was with a female boss and a potential coworker who was older than me and was also female. I have told both of them since that this put my fears to rest and made the rest of the interview-process much easier. My second interview was with the team, which was made up of the female boss, the older-than-me female developer, a younger female developer, a remote guy via robot interface, a younger guy, and my friend, John Kary. Another member of the team was absent due to his grandson being born.
Since that time, we have hired a guy from Pakistan, a slightly younger guy, a slightly older guy, and a much younger guy. I would like to see more women apply for the job openings. Perhaps next time.
My programming classes utilized UML, the various textbooks and other programming books also utilized UML. So, I imagined that dev meetings utilized UML on a dry-erase board.
In various team meetings, 1-on-1 dev meetings, and informal discussions, I have yet to see UML be utilized.
I imagined developer discussions being in some meta-language that incorporated algorithms, Big-O notation, and obscure design patterns.
Perhaps half of my team has some kind of Computer Science background and degree. Other members of my team have backgrounds in varied subjects from construction to film-studies.
In listening the various podcasts and attending various conferences and user-group meetings, I think that there is no fairly typical developer background. One can expect someone with a computer-science degree, but there are plenty of good developers out there without a degree, much less a computer-science degree.
I was a member of a developer community a decade before I became a professional developer. I have gone to developer conferences in Kansas City and Dallas and have met with many developers from those communities. I expected that all developers were interested in meeting with and working with developers from their community outside of their 9-to-5 job.
I know that this is the same as #3; however, it fits here, too.
I have also met plenty of developers whom I have tried to recruit to join a local user group, yet they gave a non-committal "I'll look into it" when pressed. Most developers whom I have met are interested in programming for the 40-hours a week they are contracted to program. Outside of that time, they are interested in pursuing their own interests: wood-working, beer brewing, robot fighting, knitting, parade-float building, running, & etc.
Even for me, family is my number 1 priority. Yet, I devote time to organizing a PHP User Group, planning and mentoring a CoderDojo, and studying programming concepts and technologies outside of work.
What I knew of programmers is what I knew from media and my nerd friends. Cards Against Humanity, Dungeons and Dragons, comic books, video games, Star Wars/Trek, and pop-culture ephemera rule developer society.
Guess what? Developer !== Dork. You might know some developers who fall into that stereotype, but you probably know others who have interests outside of developer stereotypes.
I have yet to play Cards Against Humanity at work. Yet, I have played it once after a CoderDojo session. I have had several Star Wars/Trek discussions with coworkers, but not all coworkers.
At lunch, we mostly talk about family and recent events in our lives. I have recently started a dev book club with my team for a once-per-week lunch discussion. Some of us gather once per month for NomadPHP with a follow-up discussion.
Memes are memes because they are memes. That's tautology for you.
Memes are drawn from popular culture. So, when I was a kid, saying "This is not the assignment you're looking for" was utilizing a meme. We just didn't call it that. 15 years ago, saying to a friend, "Wassup!" was utilizing a meme. We just didn't call it that.
Yet, not all of us know what the heck some of these memes mean. And some don't even bother with using memes in textual discussion. Memes tend to be a shibboleth in a team when a team shouldn't require such watch-words or phrases.
When attending a conference, it's easy to see that the vast majority of attendees are younger white guys. The lines to the men's room are long whereas the lines to the ladies' room are non-existent. All programmers are heavy into nerd-core and oontz-oontz electronic music.
This, I think, is the ultimate expectation. All of the expectations above reflect this expectation.
When I was a CS student, classmates were from various genders, sexual orientations, ethnic backgrounds, races, and religions. This expectation was already smashed.
When I joined the league of professional programmers, I met programmers from all walks of life: programmers who grew up dirt poor and programmers who grew up with plenty; programmers who grew up steeped in nerd-core and programmers who came about it quite accidentally.
I am a middle-aged white guy. Yet, I've only been in this game professionally for 1.5 years. I have a lifetime of experience behind me in jobs & a career other than programming. You could take a glance at me and think that I am the very model of a modern career programmer. Yet, you could not be more wrong.
Corrections or curious to see how this was put together? Check out the latest version of this site at its github repo.