Career Editorial Programming

Here’s a bragging right that no other techie has

Now that I’m looking for my next gig (my last one was a victim of COVID-19), it’s time to revive this video that New Relic released a few years back to promote their application monitoring service.

Titled We Love Developers, it features some of the brightest lights in the industry:

  • Matz: Yukihiro Matsumoto, creator of the Ruby programming language
  • Guido van Rossum: Creator of the Python programming language
  • Linus Torvalds: Creator of the Linux operating system and the Git version control system
  • DHH: David Heinemeier Hansson, creator of the Ruby on Rails framework
  • Bill Joy: Co-founder of Sun Microsystems and creator of the vi text editor
  • James Gosling: Lead designer of the Java programming language
  • Sir Tim: Tim Berners-Lee, creator of the World Wide Web
  • Marc Andreesen: Co-creator of Mosaic, the first widely-used web browser, co-founder of Netscape, co-founder of Andreesen Horowitz
  • Woz: Steve Wozniak, creator of Apple
  • Rasmus Lerdorf: Creator of the PHP programming language
  • The Gu: Scott Guthrie, creator of ASP.NET, Executive VP of Microsoft’s Cloud and AI group
  • Sergey Brin: Co-founder of Google
  • Dries Buytaert: Creator of Drupal

At the end of the video, they wanted to use the image of a more “everyman” developer to represent you, their customer. Guessed who they picked:

My photographer friend Adam P. W. Smith (my old business partner; together, we were datapanik software systems and we worked on some pretty interesting projects back in the late ‘90s) took the picture back in August when I was visiting him in Vancouver. I’d arrived a day early for the HackVAN hackathon and was sitting in his kitchen getting some work done when he decided to get a couple of shots. He poured me a glass of scotch, set it on my accordion, which I’d set down on the chair beside me, and started taking pictures.

Are you looking for someone with both strong development and “soft” skills? Someone who’s comfortable either being in a team of developers or leading one? Someone who can handle code, coders, and customers? Someone who can clearly communicate with both humans and technology? The first step in finding this person is to check out my LinkedIn profile.

Career Current Events Programming Tampa Bay

What skills and subjects are you betting your development career on? Let’s meet up about it!

Sure things, maybes, and longshots

Back in November, in an article promoting the Tampa Bay Full Stack Meetup, I wrote about the concept of balancing my skills in the same way some financial people balance their stock portfolio: 70 percent “sure thing” programming languages and technologies, and 30 percent gambles — 20% “maybes” and 10% “longshots”.

Here’s what I wrote about my portfolio:

  • I invest the majority — about 70% — in “sure thing” skills, such as mainstream platforms, programming languages, and technologies. In my case, this is…
    • C#,
    • JavaScript,
    • Kotlin,
    • Mobile operating systems, namely Android and iOS,
    • Python, and
    • Swift.
  • I spent about 20% on “maybe” technologies, and one of these is Flutter, which also involves the Dart programming language.
  • The remaining 10% of my time on sharpening my skills is spent on longshots. For me, this is blockchain technology.

For the most part, with the notable exception of Flutter and Dart, my portfolio’s been pretty stable for the past few years. I’m probably due for a review.

A 70-30 technology skills map for Tampa Bay techies

Here’s a 70-30 tech skills map, which takes a bunch of technologies that Tampa Bay companies are currently hiring for, and divides them into two categories:

  • The 70% category, which consists of things for which local companies are generally hiring for at the moment, and
  • the 30% category, which comprises things for which local companies might hire for in the future, or which might qualify you for an interesting remote job.

Here are the languages and technologies represented by the logos in the 70% category, listed in alphabetical order…

  • Angular
  • AWS
  • Azure
  • Java
  • JavaScript/ECMAScript
  • .NET/.NET Core
  • Node.js
  • PHP
  • React / React Native
  • Ruby on Rails
  • SQL
  • Vue.js

…and here are the languages and technologies represented by the logos in the 30% category, listed in alphabetical order, with some notes for each:

  • Artificial intelligence / machine learning / whatever else you want to call it: The buzzwords of the moment, and the answer to the question “What if we made algorithms that came up with algorithms?”
  • Assembly language and C: Both appear to be making a comeback in the age of IoT devices, where you’re trying to squeeze big performance out of tiny systems.
  • Augmented reality / virtual reality / glasses: Once upon a time, “multimedia” was a specialized subject, now it’s just part of everyday computer interfaces. AR, VR, and glasses may eventually be like this.
  • Dart / Flutter: Dart is an object-oriented, class-based, garbage-collected language with C-style syntax, and Flutter is a cross-platform mobile app development framework.
  • Elixir / Phoenix: Elixir is a functional, concurrent, general-purpose programming language that run on the Erlang virtual machine, and Phoenix is an Elixir-based web development framework.
  • Fuschia: Google’s multi-platform operating system for computing devices of all sizes, from embedded systems, smartphones, tablets, and desktops/laptops.
  • Go: A C-like object-oriented language for systems-level programming
  • “Internet of Things”: Including small systems like the Arduino and Raspberry Pi.
  • Kotlin: An early paper on the language said “Don’t call it ‘Swift for Android’, but that’s pretty much what it is, and that’s not a bad thing. It’s Swift for Android.
  • Python: First eclipsed by Perl in the ’90s and then Ruby in the ’00s, it’s now coming into its own thanks to its math, scientific, and data science libraries and the rise of machine learning, I’m glad to see Python finally being recognized. Out of all the languages in this category, this is the only one I’ve ever been paid to code in.
  • R: A language and environment for statistics. Like Python, it’s become popular because of its applicability to data science and machine learning.
  • Rust: A multiple-paradigm programming language with an emphasis on concurrency. The consistent winner of Stack Overflow’s “Most Loved Programming Language” for the past four years.
  • Scala: The answer to the question “What if Java didn’t suck and had better support for functional programming?”
  • Serverless tech: A refinement of cloud computing that lets you run applications and services on the cloud without thinking about the servers they run on. Amazon’s AWS Lambda, Google’s Cloud Functions, and Microsoft’s Azure Functions are examples of serverless offerings.
  • Smart watches: These are a fantastic platform for what I can “nano-tasks”: little tasks that take ten seconds or less.
  • Swift: Objective-C was getting long in the tooth, so Apple created Swift. It’s a pretty nice language, and pretty much necessary if you’re developing for anything Apple.

This is by no means a complete list — think of it as a starter, and I’m writing it only from a developer point of view.

After viewing this list, you may be asking yourself “So which do I choose?” That’s what I’m doing right now.

Would you like to meet up to discuss your 70/30 plan?

Let me know if you’d like to talk about this at the next Coders, Creatives, and Craft Beer meetup, which I’m looking to schedule for near the end of the month. It’ll still follow the same informal “we’re just here to chat” format, but it might be something to discuss.

Career Current Events

The EFF is looking for a Technical Projects Director

The EFF — Electronic Frontier Foundation — are always on the front lines in the battle to preserve digital freedom. From their first case, when the Secret Service thought that a Steve Jackson cyberpunk role-playing game manual was a how-to handbook for cybercrimes to the present-day challenges of privacy and security, we are lucky to have them fighting on our side. (I myself owe them for a couple of times when they’ve helped me personally.)

They have an opening for a senior position — Technology Projects Director, who will lead a 16-person team whose goal is to work on projects to create a more secure, private, and censorship-resistant internet. The Technology Projects Director will be a member of the senior leadership team, and help the EFF figure out what their next moves are: what positions to take, what projects to invest resources in, and the strategic direction of the organization.

Some of the projects the Director will oversee are:

  • Privacy Badger, EFF’s wildly popular tracker blocker
  • HTTPS Everywhere, used by millions to make their web browsing more secure
  • Certbot, a Let’s Encrypt client helping website owners globally receive and install SSL certificates to secure their sites
  • Panopticlick, a research and education project that sheds light on the seedy underbelly of browser fingerprinting
  • STARTTLS Everywhere, a project to foster STARTTLS adoption and make email delivery more secure
  • EFF’s Threat Lab, which has published blockbuster investigations into abusive practices by technology companies, leading to major policy changes

More details about the position are available here.

The EFF wants to encourage lots of different people to apply for this role, but they won’t achieve that without the help of the community. Please help them by sending a note about this role to folks that you believe might be a good fit, and sharing this announcement on social media.

If you’re thinking of potentially applying but have a few questions, email, and someone will get back to you.

I may have to send them an application.

Career Current Events Tampa Bay

Tampa Bay Innovation Center’s Entrepreneur & Investment Challenge is looking for applicants

Tampa Bay Innovation Center’s Spring 2020 Entrepreneurship & Investment Challenge takes place from April 28th through July 15th, and they’re looking for Tampa Bay-based tech startups to join!

The Entrepreneurship & Investment Challenge is a program focused on preparing technology ventures in how to scale a company. It’s not about preparing your pitch, marketing, or raising money. Instead, it takes an “inside-out” approach. It’s about preparing your company not to just look ready but to be ready to take an investment, hit the ground running, and execute your plan.

From their site:

The program helps CEOs develop into leaders that can rapidly execute plans, adjust plans when appropriate, and give them the experience to know how to navigate the obstacles that derail promising startups. While a good pitch will attract investors, the deal is closed based on your response to questions and successful due diligence. Having the confidence that you can handle the next phase of your startup will help close the deal with investors.

Eligible companies are:

  • Scalable B2B tech ventures

  • Are pre-seed, seed, or post-seed to Series A

  • At the post-MVP / proof of concept stage

  • In possession of less that $2 million in capital

  • Made up of two or more team members

  • Able to commit to a 12-week program

The program is free-as-in-beer — you won’t spend anything to attend — and no equity is required. It’s offered in a series of 1= to 2-day workshops over 10 to 12 weeks, and accommodates up to 10 companies per cohort.

Interested? Find out more at the Entrepreneurship & Investment Challenge page at the Tampa Bay Innovation Center site.

Career Current Events Tampa Bay

How to “work the room” at Synapse Summit 2020

Synapse Summit 2020, Tampa Bay’s annual technology, entrepreneurship, and innovation conference will bring thousands of people to Amalie Arena — and all sorts of opportunities to meet up with them.

It’s been my experience that some of the most important things I’ve learned and all the connections I’ve made at conferences didn’t happen at the presentations. Instead, they happened between presentations — in the hallways, lounges, lunches, and social gatherings, where I had the chance to chat with the speakers, organizers, and the other attendees. This observation is so common that it’s given rise to “unconferences” like BarCamp, whose purpose is to invert the order of things so that the conference is more “hallway” than “lecture theatre”.

It’s especially important to talk to people you don’t know or who are outside your usual circle. Books like The Tipping Point classify acquaintances with such people as “weak ties”. Don’t let the word “weak” make you think they’re unimportant. As people outside your usual circle, they have access to a lot of information, people, and opportunities that you don’t. That’s why most people get jobs through someone they know, and of those cases, most of the references came from a weak tie. The sorts of opportunities that come about because of this sort of relationship led sociologist Mark Granovetter to coin the phrase “the strength of weak ties”.

The best way to make weak ties at a conference is to work the room. If the phrase sounds like sleazy marketing-speak and fills your head with images of popped collars and wearing too much body spray, relax. Working the room means being an active participant in a social event and contributing to it so that it’s better for both you and everyone else. Think of it as good social citizenship.

If you’re unsure of how to work the room, I’ve got some tips that you might find handy…

Have a one-line self-introduction

A one-line self-introduction is simply a single-sentence way of introducing yourself to people you meet at a conference. It’s more than likely that you won’t know more than a handful of attendees and introducing yourself over and over again, during the conference, as well as its post-session party events. It’s a trick that Susan RoAne, room-working expert and author of How to Work a Room: The Ultimate Guide to Making Lasting Connections In-Person and Online teaches, and it works. It’s pretty simple:

  • Keep it short — no longer than 10 seconds, and shorter if possible. It’s not your life story, but a pleasantry that also gives people just a little bit about who you are.
  • Make it fit. It should give people a hint of the cool stuff that you do (or, if you’re slogging it out in the hopes of doing cool stuff someday, the cool stuff that you intend to do.)
  • Show your benefits. Rather than simply give them your job title, tell them about a benefit that your work provides in a way that invites people to find out more. Susan RoAne likes to tell a story about someone she met whose one-liner was “I help rich people sleep at night”. That’s more interesting than “I’m a financial analyst”.

My intro these days is something along the lines of “I’m a rock and roll accordion player, but in my side gig, I’m a mobile/wearable/AR app developer who builds apps for Lilypad, Tampa’s coolest software company.”

How to join a conversation

At Synapse Summit 2020, you’ll probably see a group of people already engaged in a conversation. If this is your nightmare…

Click the photo to read the Onion article.

…here’s how you handle it:

  1. Pick a lively group of people you’d like to join in conversation. As people who are already in a conversation, they’ve already done some of the work for you. They’re lively, which makes it more likely that they’re open to people joining in. They’ve also picked a topic, which saves you the effort of having to come up with one. It also lets you decide whether or not it interests you. If they’re lively and their topic of conversation interests you, proceed to step 2. If not, go find another group!
  2. Stand on the periphery and look interested. Just do it. This is a conference, and one of the attendees’ goals is to meet people. Smile. Pipe in if you have something to contribute; people here are pretty cool about that.
  3. When acknowledged, step into the group. You’re in like Flynn! Step in confidently and introduce yourself. If you’ve got that one-line summary of who you are that I talked about earlier, now’s the time to use it.
  4. Don’t force a change of subject. You’ve just joined the convo, and you’re not campaigning. Contribute, and let the subject changes come naturally.

Feel free to join me in at any conversational circle I’m in! I always keep an eye on the periphery for people who want to join in, and I’ll invite them.

More tips

Here’s more advice on how to work the room:

  1. Be more of a host and less of a guest. No, you don’t have to worry about scheduling or if the coffee urns are full. By “being a host”, I mean doing some of things that hosts do, such as introducing people, saying “hello” to wallflowers and generally making people feel more comfortable. Being graceful to everyone is not only good karma, but it’s a good way to promote yourself. It worked out really well for me; for example, I came to the first DemoCamp (a regular Toronto tech event back in the 2000s) as a guest, but by the third one, I was one of the people officially hosting the event.
  2. Beware of “rock piles”. Rock piles are groups of people huddled together in a closed formation. It sends the signal “go away”. If you find yourself in one, try to position yourself to open up the formation.
  3. Beware of “hotboxing”. I’ve heard this term used in counter-culture settings, but in this case “hotboxing” means to square your shoulders front-and-center to the person you’re talking to. It’s a one-on-one version of the rock pile, and it excludes others from joining in. Once again, the cure for hotboxing is to change where you’re standing to allow more people to join in.
  4. Put your stuff down. Carrying your bag or other stuff is a non-verbal cue that you’re about to leave. If you’re going to stay and chat, put them down. When you’re about to leave, take your stuff and start saying your goodbyes.
  5. Show and tell. Nothing attracts our eyes like shiny, whether it’s an interesting pieces of tech, a new book, a new t-shirt you’re fond of, or even some local knowledge, such a new restaurant, cafe, or bar that just opened. It’s why I carry my accordion around; I think of it as a device that converts curiosity into opportunity (and music as well). Got an interesting thing or idea? Got a neat project that you’ve been working on? Whatever it is, park yourself someplace comfortable in the hallway, show it off and start a conversation!
  6. Save the email, tweets and texts for later, unless they’re important.They’ll draw your attention away from the room and also send the message “go away”.
  7. Mentor. If you’ve got skills in a specific area, share your knowledge. Larry Chiang from GigaOm says that “It transitions nicely from the what-do-you-do-for-work question. It also adds some substance to party conversations and clearly brands you as a person.”
  8. Be mentored. One of the reasons you go to Synapse Summit is to get exposed to new ideas. As I said earlier, learning goes beyond the talks. Try to learn three new things at every event.
  9. Play “conversation bingo”. If there are certain topics that you’d like to learn about or people you’d like to have a conversation with, put them in a list (mental, electronic or paper) of “bingo” words. As you converse at the conference, cross off any of those topics that you cover off the list. This trick forces you to become a more active listener and will help you towards your learning goals. Yelling “BINGO!” when you’ve crossed the last item on the list can be done at your discretion.

The “How to work a room” poster

If you want to learn how to work the room and prefer absorbing your information from graphics, you may find this poster helpful:

Click the poster to see it at full size.