2020 Age of the remote conference

At this point, in person conferences with 1000s of attendees are done for the year. Lockdowns are easing in general, but most people won’t be comfortable going to a massive conference with 1000s of people from all over the world anytime soon.

We are likely to be disrupted by this pandemic until spring 2021, by when travel is hopefully back to normal. I’ve been working from home for months now and will be doing so officially until October. 

The thing is conferences bring a lot of value to engineering. It is a great way to keep up with what people are doing in industry and to share your experience. I’ve attended some great conferences and enjoyed diving into the technical depth available at a conference devoted to Spark or Kubernetes. 

For 2020 these kinds of tech talks and presentations have to move online to Youtube and Zoom just like our work has. Fortunately, there are some benefits to running a tech conference remotely. 

A remote conference can be a lot more affordable. You don’t need to rent a big conference venue to host the talks, and attendees save money by not flying to a different city or renting hotel rooms. 

You also can save time because you aren’t traveling. Just like we don’t need to commute to the office, you don’t need to travel to the conference. The conference is wherever you are. 

The technology is also good for presentations and Q&A sessions. Teleconferencing shines in situations where you want to share screens and only a few people need to speak at once. Where it really breaks down is when you want to have a group discussion, it is much harder to interleave speakers. But if we focus on activities with a single presenter or a Q&A where someone asks a question, then stops talking, teleconferencing is almost as good as being in person. 

I think in 2020 we will see a lot of remote mini-conferences. They are really economical to host and the timing couldn’t be better. I like the idea so much I have decided to adopt the TinyConf I was planning for this year into a remote conference. 

Recruiter spam of underpar jobs

As your career progresses recruiters will start to spam you with lower quality jobs. I’ve had weeks where I was messaged on linkedin about a job several times per day. Normally that would be great, except most of these jobs would be worse than the job I already have. 

I’m not looking to make a downward move in my career. At some point I might start a startup or take a position as a cofounder, but otherwise I’m looking to move up in my career. Meaning that I am looking for jobs that are higher paying and higher responsibility. Not jobs that are lower paying and require less skill than my current job. 

Why do recruiters spam these lower quality jobs? Honestly, I think they are just spamming them in general without reading people’s profiles at all. Recruiters are paid on commission and there really isn’t any penalty to them for wasting people’s time other than Linkedin charging them for premium. But its not like I’m going to have a moment of weakness, respond to one of these contract for hire java developer positions and then accept an offer for half of my current pay. 

For now the solution is probably to block these recruiters on Linkedin.

Working from home

I’ve been lucky enough not to be laid off yet, and have been plunged headfirst in working from home. Before this pandemic I avoided working from home because I got distracted pretty easily and found it easier to get work done in the office. I’ve typically been a high performer and like to maintain work life balance so falling behind because I worked from home is not an option. 

Now I’ve been required to work from home since early march. The first couple weeks were rough. Working in a new setting, big changes going on in the world, combined to make focus difficult. I fell behind where I wanted to be on several projects. It was all dragging me down.

Late last week, at the time of writing, I made two big changes which seem to be helping a lot. They are getting better sleep and using the Pomodoro technique to focus on work. 

To get better sleep, all I did was start closing my blinds in the evening. I live downtown, so at night there are lots of light shining into my nice large windows. The view is good, but the light degrades sleep quality. I noticed a big difference the first night and have been feeling consistently good this last week.

My version of the Pomodoro technique is to do 40minute ‘sprints’ of focused coding time. This gets me past the initial hump and doing solid work. Then I take a short break and circle back for another round of focused work. This is similar to what I would do in the office, work for a while, then chat with coworkers or go to the lunch room. Except now I just stay in my apartment and stretch or workout. 

https://en.wikipedia.org/wiki/Pomodoro_Technique

Working from home is still a bit rough. But I think I’m past the hump of adapting to it. Now I just want to optimize a few things like my monitors and getting a motorized standing desk. 

Business Intelligence what is it?

Business Intelligence is the process of exposing the results of customer workflows in an easy to consume fashion for Business Analysts, Accountants and Executives. 

When your product is software that your customers’ use, it can be hard to know how customers are using it in the large. For BI you log whatever the customer did in a format that is easy to query via SQL. For purchasing flow you log.

{
    "customerId": "ABC",
    "itemId": 1234,
    "time": "12:34 AM",
    "price": "$13.87",
    ……
    "sessionId": 987
}

Then analysts can figure out usage patterns, discover and fix bad customer experiences and generally figure out what customers are doing. 

How is this different from normal logging? 

Programmers care about exceptions, lines of code and values of variables. The business cares where the customer was in the workflow, what did the customer click on, what happened after that. If there was a silent retry that the customer didn’t notice the business analysts don’t care. 

They care about what customers are doing and how the software responds more so than what the software is doing. 

BI logging is typically preserved durably over at least months and needs to adhere to a schema that makes aggregating data together easy later on. This can be achieved with normal structured logging or by adding a separate code flow just for ‘Business’ logs. 

If you like my writing, please buy my book on Amazon.
The Sledgeworx Guide to Getting into Software


Multiple promotions for solving the same problem

One failure mode I’ve seen in software organizations is multiple promotions for building the same solution to a problem. Suppose, in your software organization you have 10 teams working in a similar problem space. In one year you see two promotions for building an asset management pipeline. When I saw the second promotion announcement, I was thinking to myself “Wait, didn’t Tyler get promoted for building an asset management pipeline?”

Any Vice-President who’s organization has this issue should be thinking hard about where it went wrong. That engineering culture is completely broken and can only be fixed by rooting out the leadership and then replacing senior engineers. 

Why is this such a big deal? Because its a symptom of several serious problems in your organization.

No information sharing between teams

One team built a solution to this problem in Q1, 6 months later another team built another solution to that problem. Why couldn’t they have shared asset management pipelines? If its a valuable thing to have why did one team go 6 months without an asset management pipeline?

Promotions are being gamed

Two people being promoted for building similar solutions to the same problem is a sign that your promotion process is being gamed. Redundant projects being lauded as keystone accomplishments is ridiculous. The manager of the 2nd team should have at least caught that this project was already a keystone. 

Important shared infrastructure is being ignored

If two teams are building the same infrastructure to solve similar problems it should be a shared service. Otherwise, you are paying to build twice and to support the system twice. This is software we should be able to shard this or multi-purpose the pipeline.

In this particular organization, the root issue is that the asset management system is horrible. Because the quality of that system is bad you have dozens of teams working around pain points with hacks. The solution is not to build asset management pipelines, the solution is to recognize how important this asset management system is and invest in it appropriately. 

Every asset management pipeline this organization built was a waste of effort that should have been invested at a higher level. 

If you like my writing, please buy my book on Amazon.
The Sledgeworx Guide to Getting into Software