I’ve played music must of my life — mostly behind a drum kit, and occasionally behind a piano or keyboard. Years ago I ran a home studio with collaborators from the four bands, and two rhythmic choirs I was member of. I don’t consider myself an audiophile (full disclosure: I can’t tell speaker cables apart in a blind test), but spending decades playing music, and producing/recording music have honed my sense of what I appreciate from speakers and headphones.
Once I picked up the basics of recording and mixing, I learned the hard way that perfecting mixes on my home…
The software engineering team at Fernish has grown into double digit heads in a short time, and we anticipate doubling the size of the team within the next couple of years.
Our co-founders Michael Barlow and Lucas Dickey doubled down on investing in product innovation and technology from the very beginning to drive the company mission, and hired two software engineers as the first employees before ramping up other departments. Working side by side with Michael and Lucas, the software engineers enjoyed a lot of autonomy.
A LinkedIn friend with an amazing proof-of-concept web application recently asked me how to scale it. That’s an excellent question — but the short, and probably very unsatisfying answer I gave, was to wait and see until performance drops, and address the most significant contributor to the drop in performance. Lather, rinse, repeat.
I can picture readers with thought-bubbles full of objections at this point: what about Content Delivery Network (CDN), caching, load balancers and auto-scalers, etc.? Yes, they are all great tactics — but only when needed. If your web site traffic peaks at 1,000 requests per hour, then…
The e-commerce experience at Fernish is powered by a web application implemented in Ruby on Rails. Rails is famous for promoting convention over configuration, and one of the conventions that is promoted in a big way is the Model-View-Controller (MVC) architectural design pattern.
Requests to a given path received by the web application are routed to a method on a controller, which typically pulls data from a database via models, formats the model data using presenters, and renders the response with one or more views. Underlying logic that neither fit here nor there is typically put in services or helpers.
A junior developer recently messaged me on LinkedIn for advice on how to keep up with all the new technologies. I wrote a lengthy response, but I kept coming up with more to say about the topic.
Early in my career, I tried chasing every shiny thing I came across. In some ways it was easier back then because the Internet was in its infancy, but there were also very few voices to provide guidance. Perhaps feeling starved for options and guidance then has been replaced with the overwhelming cacophony I experience now, netting out with a similar sense of…
I love that we live in a world where everybody has access to free and high-quality online training materials, and access to coding boot camps for people who want to make a career change, but aren’t able to commit the time and/or money required to complete a formal computer science education.
Software engineering hiring managers have begun to recognize people without a formal computer science education are a diverse and rich source of candidates who often bring many other valuable experiences and skills to the table — I know, because I am one of those hiring managers.
That said, I…
I see a lot of resumes on a daily basis as the hiring manager for the engineering team at Fernish. It stands to reason you would expect all prospective candidates put their best foot forward. However, I see a surprising amount of candidates who submit resumes filled with content that either miss the opportunity to stand out, or raise red flags further down the interview process.
The following advice will give you a leg up on our hiring process.
We see way too many resumes where candidates basically summarize: I did my job. For example:
Worked at Acme corp from…
I’ve worked in organizations as the sole developer all the way up to enterprises with tens of thousands of engineers, and, as a consequence, experienced the results of working without a deliberate process, the benefits of a thoughtful process, and the negative impacts of prescriptive processes that didn’t add value nor respected the nature of the work they governed.
Through three decades of working as a software engineer and manager, I’ve become intimately familiar with process standards like ISO 9001 and CMMI level 1 through 5, and I’ve seen them applied constructively and destructively. In my experience a constructive and…
I’m the head of engineering at Fernish, technology enthusiast, doting dad, and of the firm belief many things are better with more bacon.