Introduction I am a big fan of the #noestimate movement. As Allen Holub would say, “we just finished some work without using any estimates and things were fine”. The reality is that many companies want you to give clarity on when a piece of work will be complete. The most common way of doing that is through refinement, breaking the work down and extrapolating a date. Giving a date is a trap that…
Introduction As a software developer it’s only natural that there are times where I’m blocked, when I can’t think of what to do with my current work. When that happens, I still get the feeling of anxiousness and anxiety but I’ve found a few things that I do that help me and hopefully, others as well! Things i do to unblock myself First, BREATHE holy cow I don’t know if it’s just because it’s my…
Introduction I have been writing for a while now, starting on padraigobrien.com but now on blog.hulacorn.com . I like to write about software engineering and my efforts to create a startup with my friends; I tend to collect lots of data(anonymised), salary, exit interviews, interviews etc. When I collect enough information, I see if there is anything I can learn from it. I try to remove bias and…
Introduction Until recently, I’d only ever worked on or created projects that were focused on web development. I started off with Javascript/React, made a slew of standard portfolio projects, and then took up Python/Django after landing a job. What I love about Python is the ease and extent to which you can write code that interacts with different kinds of digital objects, whether that’s through…
Introduction The process of creating software can be complex. There are many moving parts. In 20+ years of working, I have observed that engineers sometimes live in a system where many constraints, requirements and ways of working are unrelated to coding and building products. My favourite is the “estimation game”, where you spend hours and weeks guessing when something will be done through…
Introduction I’ve always been the techie in my family, the person that if there was a technical issue, I was called because I loved video games and technology in general. Naturally, when it became time for me to start looking at careers, I knew I wanted to be in the tech space but wasn’t sure where. I wasn’t exposed to many tech careers, so the big distinction that I knew was that computer science…
Introduction This is a short rant about history repeating itself. What WAS PHP shared hosting What is Serverless Similarities and differences What WAS PHP shared hosting? For folks too young to remember, we can say that PHP shared hosting was how “the internet” started. You wanted to create a website. You needed some space on the web, Somebody had servers (made of real metal) connected to the…
Introduction This article is about the path from a monolith to a disaster. We will not talk about serverless. That will be the topic of another article soon. We will not discuss the UI blocks, like backend-for-frontend (BFF) or single-page applications (SPA). Instead, we will focus on What is a monolith? What is a microservice? What happens to your data when you split the monolith? Microservices…
Introduction This article is about what is a principal software engineer. I have worked as a Principal Software Engineer in multiple companies, like AWS and Google. What is a Principal Software Engineer? The definition changes between companies. Some call them staff engineers. In some other companies, they are also team leads. So the definition in the tech industry is very inconsistent. Let’s…
Introduction This post will discuss my experience with the hybrid approach to working and how it inadvertently caused exclusion in our office. The hybrid system is some people working from home and some from an office. A couple of years back, I was in a startup. It was a small company, with less than 20 people. We had an opportunity to hire a fantastic developer. The problem was that they lived…
Introduction We all have been involved or had startups in the past ten years, none of them successful. Building a product requires many different areas of expertise. Marketing Sales Product Engineering Support Engineering and support were not the hard part for us. When it comes to starting a business, we have struggled with Sales and marketing the most. So we decided to research how to grow a…
Introduction Monitoring the performance of your website is key to having a good customer experience. If your pages are slow, you lose customers. Approx. 50% of web users expect a load time of 3 seconds or less. If a page takes more than 5 seconds to load, assume roughly 50% of your web traffic to leave. Your pages will increase visitors, total sessions, new users, and active users if your pages…
Introduction I get asked by people who are brand new to the software engineering industry, “How do I get my first job?” I ask, “What have you done so far?” The responses are similar. I’m working on my portfolio or having coffee chats with random engineers online. I’m using Meetup.com to try and meet people. This is not the way All of the portfolio and coffee chats tasks are yak shaving . It…
Number 1 thing to remember, this is my opinion and not that of any employer I may or may not have. Introduction We are here for a good time, not a long time. The good times should be productive for both of us. The motivation for this README is to learn how we can be productive together within the system we exist in. What do i do? It depends on the job I have. I have oscillated from Team Lead to VP…
Introduction The erosion of best practices and good disciplines in software development causes the creation of poor software. Poor software can be bug-ridden, have a terrible user experience and cause a lot of rework for engineers over time. Discipline The teams who focus on creating a good developer experience and building quality into the software process will win in the long run. They do this…
Introduction I have been using AWS Lambda since it was made available in 2015. I used to gravitate to companies that worked in this space. Back then I would jump on anything new when working with Lambdas, monitoring tools like IOPipe(Acquired by New Relic) or frameworks like Stackery or serverless.com . Developer experience I look for I use lambdas in most places as they have so many integrations…
Introduction Instead of writing a blog post about what I found, I have created a git repo to track interesting articles and companies that do Internal Developer Platforms. Link to my Git Repository Here is the link to the Repository . Epilogue Feel free to submit a Pull Request if you find anything useful.
Introduction Queueing theory is the mathematical study of waiting lines or queues. Queuing theory aims to design systems that serve stakeholders requests quickly and efficiently at a sustainable cost. At its most basic level, queuing theory involves an analysis of arrivals of requests, in my case, a software development team, and analysing the processes currently in place to process the requests.…
Introduction I was the first hire for two different US multinational companies in Ireland. One went amazingly well. One was an absolute disaster. Here is some of the things I learned. What to do Hire a manager(me) and let them source the first few hires. It does not have to be from their network. Let them use local recruiters if need be. Do not hire the entire team or teams in one day of…
Introduction The developer Net Promoter Score is a metric used in developer experience. It measures the support of developers to a company. DNPS scores are calculated with a single question survey and reported with a number from -100 to +100. A higher score is desirable. How to implement Developer NPS? The question posed is, how likely are you to recommend COMPANYNAME as a place where you can…
Introduction We are addicted to software. Google “how to solve X?”. You will get numerous results on how to solve X. This translates to how software teams work. Most companies spend vast amounts of time developing a process or a tool to solve a problem when none should exist. What happens? A straightforward question you should be asking yourself when someone says, let us build X to solve Y. think…
Introduction I used to have a metric that if an engineer had a long tenure in a company, they were in a good company and were good to work with or for. I have come to learn that this is not always the case. A lot of the time, a long tenure means that you have a lot of patience and a high pain threshold. Tenure So what is a long tenure in 2021? In my opinion, anyone that makes it past a year in a…
Introduction Most companies run a multi-stage interview process. There are multiple ask’s in each stage, requiring significant time from a candidate. For example, take-home assignments that take “four hours”, four hours if the candidate knows every one of the moving parts in the take-home tests. If the candidate does not need a refresher on a language they have not touched in a few years. If the…
Introduction When reviewing CV’s candidates want to stand out. A typical pattern I see in CV’s is people adding personal side projects. The most common side projects I have seen. Instagram clone/Twitter clone/tinder clone/<insert popular app> A Travel app of some kind(this was before Covid kicked in) A Covid 19 tracker (replaced the travel apps) Add on functionality for an existing product, e.g.…
Scatter plot. From my previous post on salary data, I received several requests to create a scatter plot on the data. I am duly obliging. There may be some discrepancies between the salary ranges from the previous post and the graph. The differences are because I remove outliers from the data to remove variability. X-axis - salaries expectation Y-axis - is the number of years of experience.…
Introduction. I have been lucky enough to have been involved with some high growth companies in the last few years. I have completed just over 1000 interviews. It has allowed me to meet some great engineers. Screener I have always done at least the screener when doing interviews. In that interview, I spend time getting to know people. I search for expectations that a candidate has before moving to…
Introduction As i mentioned in my previous post, I interviewed 100 graduates and spent time with them. I also asked them to fill out a short questionnaire. This post gives the results of that questionnaire. The sample size is not significant. It represents about 100 responses. The candidates were mostly coming from web dev social media channels. How long, in months, have you been applying for a…
layout: singlepost tags: post title: “” subtitle: “A method for asking the right questions to an employer in an interview” description: “Have you taken a job only to realise on day one that the answers were aspirational?” author: Padraig O’Brien date: 2021-08-20T19:30:00 # This would be 9:30 PM (2130) UTC on February 28, 2020 lastmod: 2021-08-29T19:30:00 # Comment-out this line with a # if content…
Introduction Back in December 2020 and Jan 2021, I had some spare time. I noticed a trend online of graduates talking about how difficult it was to get an interview or even feedback on a job application. I put out a few posts on various social media sites with an offer to review resumes and do mock interviews. The response was more than I was expecting. I received over 100 responses. The rest of…
Introduction There is lots of talk about internal developer platforms and the problems they solve. An example is they restore order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly, without compromising autonomy(thanks backstage) or Relieve pressure on Ops by enabling developer self-service(thanks Humanitec). Is there a more straightforward…
Introduction Based on exit interviews I and friends who are also managers have done over the three years here is a list of reasons, and possible fixes, on why engineers leave their jobs. And while no one example below is a flip the table thing, over time, it will grind people down until they see no hope and leave. Hire managers that cannot build software What makes engineers sad? Their…