SledgeConf Request for Talks and Themes guide

We are open to talk submissions for SledgeConf 2020. Please apply today. To apply please email me at nick@sledgeworx.io with a 3-5 sentence summary of your talk.

SledgeConf is a remote tiny conference (https://briancasel.com/tiny-conferences/) debuting August 7th and 8th 2020. So far our survey of whether people preferred weekdays or weekends is a flat tie, so we are doing both. There will be up to six 50 minute presentations and six lightening talks spread across two days of festivities. 

The themes for this years conference are Software, Consulting and Teams. Proposed talks should apply to at least one of these themes. The conference is targeted towards software engineers but talks from outside the industry are welcome if they apply to at least one of the themes. 

Software is a pretty large theme. Talks in this category can range from software tutorials, “Integrating full text search in Rails with Postgres tsvectors” for example, to discussions of industry wide issues. A talk on wastewater management in the Bahamas would not be appropriate unless the focus was on the software used. 

Consulting is our second theme in 2020. Talks in this category will cover issues software consultants and agencies, large and small face in their business. A great talk might be “How I found my niche as a React.js charting consultant”. 

Teams is our final theme for SledgeConf 2020. Most software is developed collaboratively and how we do that is a major part of our work. Talks in this category cover the organizational issues involved in building software. A great talk might be “Begging, Borrowing and Stealing our way to consistent data collection for estimates at $Company”

To submit your talk please email me at nick@sledgeworx.io with a 3-5 sentence summary of your talk subject.

Ex.

Hey, Nick, I’m interested in presenting at SledgeConf 2020! My idea for the talk is Integrating full text search in Rails with Postgres tsvectors. My project deepeats is a food ingredients discovery tool and we had an interesting time integrating full text search especially when supporting image uploads of ingredients list.

Thanks,

Example Person

To keep up with the latest updates on SledgeConf sign up to the mailing list!

Software is a depreciating Good

“If customers are paying for the work, presumably by the hour, then you can’t expect them to pay for weeks (or more) of work every few years just to arrive back at the same product they started with.”
– From reddit user /u/PragmaticFinance

People have the idea that because the software has the same features as it did five years ago, it still is just as ‘good’ as it was five years ago. And if we can keep running it without modifications that is a reasonable practice. Unfortunately, while it feels intuitive that is not the reality with software. 

Sorry, a software product that is built on out of date tooling is strictly inferior to software built on up-to-date tooling. It is not ‘just as good’ it is significantly worse. The out of date software has increased vulnerability to security defects. Python 2.7 doesn’t get security patches anymore, if your software is built on it and a zero day is discovered. Your software could be unoperable for weeks while engineers upgrade it to function on Python 3. 

Software that can’t be patched to address security vulnerabilities in a reasonable time frame is strictly worse than up to date software. Anyone who was evaluating a purchase of these two programs would consider the expense of making changes. 

Aside from security issues, out of date software is harder to modify. What are the banks going to do when the last Cobol programmer dies? They will have to fund Cobol bootcamps which is not going to be cheap.

What are companies that had ‘feature complete’ software that didn’t need to change in years doing now that GDPR is a thing? That software is getting dusted off and updated or entirely replaced.

Roads and tractors require constant maintenance just to keep doing the same job. Software is the same. Maintenance costs should be estimated and included in the total cost of ownership for software. 

A lot of business software just encodes business processes. It can get out of date because the world shifted and the process changed, or the world shifted and the way the process is encoded is out of date.

Each time I write one of these technical debt posts it helps me understand why Software As A Service took over in such a big way. If you needed this year’s model of tractor every year you would lease it.

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.

Figure out how to debug everything, kill blackboxes

 Avoid blackboxes in your tech stack. It is tempting to say “oh, this piece of software is acting up, but its not our team’s responsibility its xyz team’s problem”. Or this vendor’s software is acting up, “Guess we have to take 30 minutes off while we wait for it to come back up”. Sometimes this pattern shows up in the use of 3rd party libraries. 

It is tempting to allow the resistance to figuring out another piece of software block you from making progress on your project. But letting yourself take the easy route will slow down your progress as a software engineer. A blackbox is just a piece of software you don’t understand yet. You have worked with and figured out hundreds of programs in your career. This one isn’t anything special. 

Don’t let a bug in the end to end framework prevent you from making progress. Figure out the problem, open a ticket against the team that owns it. If you can make a fix yourself. The last thing you want is to get nothing done because you were waiting for someone else to fix a problem that you could have fixed, but “didn’t have to”. 

If your team has a docker compose stack for local testing, figure out how to get it running. Fix the documentation, test your software e2e locally. 

If there is an old integration test suite that intermittently fails, don’t let those failures block your work. Fix the failures, mock the flakey dependencies, don’t just sit there and let some software waste your time because you didn’t want to put the effort into deciphering how it works.