Monday, March 19, 2018

No time to waste...

I love videos like this. I watch multiple every year. I stacked up terribly the first year: I hardly knew any of the technologies - hadn’t even heard of most. I was freelancing, and a lot of the highlighted tools weren’t necessary to complete my projects. After four years of developing on a team, however, I’m starting to make the cut.

I attribute my progression to being an early adopter. I believe in trying new tools and technologies as soon as possible. I’m not saying switch frameworks every year, but there should be a “buzz” around most of your tools and stack. That’s where you find the advancements that improve your workflow and productivity. ColdFusion, for example, gets the job done, but try finding a Vagrant box for it, or using it in a serverless architecture. Not happening. I'm pretty productive with Backbone.js, but I started using Vue.js last week. Backbone works well, but it's missing useful tooling (a cli, for example), so I have to move on; I'm always looking for better tools and methodologies.

I get the frustration with constant change. It takes time and energy. I remember learning Gulp and thinking it was serious overkill, but I kept at it because better devs were using it. Eventually, I got the hang of things, and now it’s one of my go-to tools. It appears, however, Gulp is now out, and Webpack is in (that’s based on more research than just this video, by the way). So now what? Am I supposed to abandon Gulp and move on to Webpack, even though Gulp works just fine?

Short answer - yes. There’s nothing wrong with waiting a few months or a year before trying a new tool, but I’ve noticed a problem with devs who tend to take this approach: they never end up adopting anything. The time is never “right,” or they wait so long that newer tools emerge. Of course, they then wait-and-see with the newer tools - stagnating further. That’s not a recipe for success, in my opinion. I take the opposite approach and go for it a.s.a.p.

It's important to know your style, and to be clear about it when joining a team. Working with “slow” people is difficult, when you’re aggressive about using the latest and greatest. It’s equally frustrating working with people who use new tools every project, when you want a “stable” environment. Choosing a team with the right outlook is critical to job satisfaction.

Monday, March 12, 2018

Oracle Code Chicago... I'm going...

For developers in the Chicago area, I’d like to put Oracle Code Chicago on your radar. It’s next Tuesday. I’ve decided to go. Initially, I was on the fence because I’m not a Java developer, and I don’t work heavily with any Oracle products - at least not enough to warrant interest in a conference. I’m pretty busy with a sprint, and not really interested in much other than finishing it. But I think it’s important we support events like this. It’s free, relevant, and shows industry leaders there’s a serious development community in Chicago.

We want these companies to know we’re here and active. Anyone seen what’s going on with Amazon’s second headquarters? 50,000 jobs gets my attention. Chicago is on the list, by the way! And that kind of shit attracts top talent. So you get more, and better jobs, with better networking opportunities. It’s a cycle that benefits everyone, but it requires participation. Companies need the turnout numbers.

That’s just the start, though. What if companies like AWS, Salesforce, and Google started regularly throwing smaller, free conferences? You could learn more about the technologies that interest you, for free, and with other interested devs in the area. Sounds promising to me, and I bet it could happen. We just need to prove we have the audience for it.

Anyway, I’ll cut my radical speculations short. If you decide to check it out, maybe we’ll run into each other. I’m interested in the following tracts:
  • Offline-first Apps with WebComponents
  • Modernize Your Database Development Process with Open Source Tools
  • Serverless Everywhere with the Fn Project
  • Resilient Microservice APIs with REST and API Gateway
I’ll probably tweet what I attend while I’m there, as well.

Monday, March 5, 2018

Design Blues...

I’m spending more time designing than writing code now. It’s a big change that has resulted in better code. I’ve never been required to this before - not even now - but I want to develop the habit of writing unit tests. My prior approach has been to immediately start coding and testing. Keep going until you’re done. You get working code, but it’s not always good. Practicing TDD has helped me see that. I’m saving time and getting better results.

The downside is that I hate the process. I’m so used to equating “coding” with work and learning that evaluating design choices seems a little lazy and unnecessary. The whole time I’m designing, I’m anxious to finish - not enjoying any of the process. Apparently I prefer debugging. I guess it makes sense: the fun part is making something work.

Hopefully  this will be a week of actually coding, but we’ll see. On another positive note, I discovered a pretty good JavaScript library: Fine Uploader. I’m using it in the feature I’ve been designing. It’s been pretty easy to use and configure, so I thought I'd share...