Self Reflection as a Manager
Sometimes when I get called in to help a dev manager straighten up their team, I face a lot of resistance. But there’s hope. I have a solution!
These entries have all been tagged with “business”.
Sometimes when I get called in to help a dev manager straighten up their team, I face a lot of resistance. But there’s hope. I have a solution!
So you have a great idea. You have some budget. It’s now time to make your vision into a reality. The problem is - you don’t know any programmers. You don’t even know where you’d find one. What can you do?
The answer is so simple… you’re going to kick yourself. Let me explain:
It seems that every project we run into has missing or out of date documentation. Wikis become stale. Don’t even start me on that out of date README.md file.
It’s almost not worth writing documentation because it gets out of date so fast.
Right?
I don’t do hourly billing (if I can help it) - but most businesses and partners still ask about my hourly rate. Hourly billing is bad. There are so many reasons. But in this article I will just focus on one: you get the worst results with hourly billing. Let’s find out why.
Awesome. You used interfaces so you can abstract out the dependencies and swap services. Your database queries are all built with an ORM that is database agnostic. You don’t rely on anything special with your servers/cloud. You did it! You now have a project that retains the business logic while allowing all the technical aspects to be loosely coupled! But should you have done it?!
Whether you’re on the side that just landed the big deal - or you’re the business eager to get your project launched - you need to know what a statement of work is. Let’s talk about contracts and statements of work for developers.
Gathering requirements for a new project can get unwieldy and unorganized pretty easily. It’s easy to get lost or go down a deep rabbit hole. You may be getting excited about the new project’s technical challenges or be blindly following the client’s explanation and description. How do you know you’ve covered everything, though? What if you’re missing vital points?
Creating a requirements document for a project can seem daunting. Where do I start? What sections are required? How do I capture everything and keep scope limited?
If Google gives free access to their web traffic tool called Google Analytics, why would you need anything else? Why would you care? Let’s briefly talk about why privacy matters and what you can do instead.
I was watching Bar Rescue (please don’t tell anyone) and a bartender said exactly the same thing about his job as a programmer I was just talking to… turns out they had a surprising thing in common.
One of the most painful things for programmers - whether you’re in a startup or an established business - is leaving code alone that you know could be better. That should be better. There are reasons for this - but what about when it comes to deleting code?
If you’re going to try to launch a startup that has a website or app as its main product, and you don’t have a technical co-founder, you should read this blog entry. It’ll save you a lot of time, headaches, and a ton of money.
As you walk down the alleyway, you feel the hairs on your neck stand up. You’re a bit scared, but you can’t exactly put your finger on why. Was that some footsteps? Did you see a shadow shift? Why is it that you know you’re in danger?
When I had active membership to more than 4 Slack workspaces, I thought: wouldn’t it be nice to have a way to update all of these statuses in one fell swoop?
I’ve been working on a lot of things lately - I thought it might be nice to do a quick run down of what those are.
Conflict seems like a dirty word. After all, we don’t want to have fights at work, right? For managers, reducing conflict seems to be the best choice. But is it?
There’s a common joke among programmers: I’m so lazy that I made this script to automate these tasks. Efficiency and process are prized, but also sometimes mocked and ridiculed. So, are programmers actually lazy - or is there something deeper here - have they been mislabeling something else?
The title CTO is short for Chief Technology Officer. But what actual roles and responsibilities do they have? Every business is different, so there’s no hard and fast set of rules. However, there are some core responsibilities and philosophies that I believe every person with that title should have.
This advice is based primarily on an in-person team. I’m sure we could make this work with a remote team, too, somehow.
Never one to be afraid of pointing out my flaws, I think it’s time to share what I learned from doing a few interactive code review interviews. It may still be a great idea, but it’s much more difficult than I thought.
If you find yourself about to say “we’re a family” to a new recruit joining your dev team, this entry is for you. Managers, you should stop considering or calling your team a family. Here’s three simple reasons why.
I’ve seen a lot of high-performers enter slow-moving companies, make great progress, but then get upset. They can’t seem to move the company along anymore. What’s going on? Is it ok to move on? I’ve got a theory about all of this.
When interviewing a junior programmer a couple weeks ago, I was asked a very insightful question: “Who can I tell ‘I don’t know’ to?” At first, I wasn’t sure what they were exactly aiming at with the question. But, as I formulated an answer, I realized this was a great question. Let me share a longer version of the answer with you.
When talking to junior developers, I hear the same question over and over: “how can I demonstrate what I know, or show experience, if I haven’t had any gigs yet?” Old-timers tell you to build a portfolio, but how do you do that? Where do you get ideas? How do you choose a project that’s not overwhelming? Let me explain my rationale as well as demonstrate how I might make my first portfolio project.
Oh, what a scary thought: a manager must always be perfect. But, stick with me here.
This is part of a series of articles from the retired The Dev Manager website.
What happened to “why?” What happened to make people so afraid of asking this question? Perhaps it’s when all of the 3-year-olds start asking “why” about everything. Why does mommy have to go to work? Why do we need money? Why is the sky blue?
This is a tech and business blog, so I normally don’t get too deep or emotional. But, I’ve got to talk a bit about my dream and what I’ve learned.
This is part of a series of articles from the retired The Dev Manager website.
It’s amazing what the internet can bring us, both positive and negative. Sadly, some of the worst people hang out on the internet. They bully, they rage, they say and do horrible things.
QuickPic.dev was a site for quick edits, crops and touch-ups in your browser. After a year of stagnation, I think its time to move on - and share what I’ve learned.
A full calendar, hours on the phone, work into the night and a never-ending deluge of emails: the typical Dev Manager’s life. Time is precious and scarce. It’s also very fluid. You’re jumping from thing to thing; meetings get pushed and calls are rushed. It’s not ideal, but it seems to be the only way you can get to all of the things that need your attention.
This is part of a series of articles from the retired The Dev Manager website. It was called The Dev Manager Crash Course. Looking for entry two? Click here
A colleague once said to me that I’m very lucky I haven’t had to fire as many people as he had. I definitely agree with the fact that my management tenure has not involved many terminations, but I don’t consider myself lucky. I put in work, just like you’re doing, to understand how to manage different types of developers.
This is part of a series of articles from the retired The Dev Manager website. It was called The Dev Manager Crash Course. Looking for entry two? Click here
When you manage a team, the conversations you have change a lot. No longer are you justifying your own estimates or explaining your coding decisions. Now, you’re responsible for many different estimates, many different decisions, and many different personalities.
This is the beginning of a series of articles from the retired The Dev Manager website. It was called The Dev Manager Crash Course.
Welcome to the New Dev Manager Crash Course! Whether this is your first time managing a group of developers, or you’ve run the gamut a few times, I’m happy you’re here. My goal is to give you some useful tips and direction from my experience managing multiple development teams. I learned a lot of this the hard way, but hopefully you won’t have to!
When you’re working on a project with a tight timeline, it can seem really attractive to buy pre-made software to save time. But, there are a number of problems and pitfalls to be aware of before you do this.
Terms like web developer, web programmer, webapp developer, and software engineer get thrown around a lot. But, what’s the difference?
When it comes to Open Source Software, you have a number of choices to make for licensing your software. When you provide a license for your software, you, as the copyright holder, are giving various types of permissions and warranties for the use of this software. You might even define the way it can be used and if modifications have to be submitted back to you. But, what do you “license” software that is closed, paid or private software that you don’t want anyone else to use?
Before I begin a security audit, I try to make sure that the client owns their website. Normally, this is pretty easy and obvious. However, sometimes it takes a little bit more work. That’s why I had thought of launching the tool called Possessor.
I deal with a lot of start-up founders. One thing that I’ve noticed from a lot of them is that they feel like no one understands the struggles they’re going through. A lot have talked about being lonely or trying to find people to count on. Because of this, I had an idea - I wanted to help them with an online tool. I came up with the idea for StartUp Tribe.
2019 was a great year, learned a lot. Unfortunately, The Dev Manager and StartUp Tribe are no longer active.
It’s about halfway through 2019 and I think it’s time to reflect a little bit on my professional goals.
I worked with a client one time who didn’t like when their employees had side projects. “If they have free time, they should be spending it on our project! That’s why they are salary!”
Not all things go as planned, and that’s ok. Entrepreneurship is hard! I’ve decided to roll my Dev Management coaching back into AaronSaray.com.
I’m proud to announce that I’ve launched One on One Coaching at The Dev Manager!
I was calibrating my speakers the other day, so I searched and found a Bass Test YouTube video. Later on, I was thinking about the presentation I saw where some guys made a DJ system with Tone.js and I wondered if it made sense to make a bass test website and/or app.
I don’t want this to turn into a rant, but…
One of the most rewarding things I’ve done as a programmer was watch a real life in person focus group use my application. At first, I didn’t enjoy it. But like most lessons, looking back, it was extremely valuable.
First, to start out, I need to make one thing abundantly clear: This piece is just a bunch of assumptions, generalizations and feelings. I’ve gathered these together after all of my own experiences. That’s why I add the most important auxiliary verb may.
In an earlier entry I detailed how I track things I do each day using an Alfred workflow. Basically, I wanted to track what I did from the Alfred launcher screen, one thing at a time. The end result was a txt file dated today.
Feedback from your boss or superior is incredibly important. How do you know if you’re getting all of the feedback they have for you, thought? Sometimes people are distracted - sometimes they don’t know if they’re pummeling you with too much information.
Let’s start out with the basic request or statement:
I kind of hate that phrase, that buzzword-worthy label “corporate gig,” but I don’t know what else to call it. Office job? Large company employment? Anyway, I thought I’d take a bit to reflect on my last one and share a few things I learned.
Having many meetings, one after another, is not only tiring, it’s a recipe for memory disaster. You don’t have enough time between meetings to finish notes, gather your thoughts or even use the bathroom. Because of this, I’ve started doing something different:
Motivation is a very hard thing to master. When used properly, you can get great things and enormous productivity. When misunderstood, a whole host of things appear to go wrong. Getting into all of the motivations of an employee or developer would take a book, one that I’m not ready to write yet! But, I wanted to focus on just one, money. And, in that motivation, only three types of the many ways and mixes that people can be motivated by money.
I’m a huge fan of Alfred - but I had to upgrade to get the pro version to get workflows. Because I use Slack a lot, I’ve been trying to set up status automation and workflows. When using my phone, I have an automated system that sets my status. You can find that here. But, what about using Alfred for some automation?
Interactive coding challenges during an interview are common place these days. The idea is that you’ll get an idea of the type and quality of work a candidate will produce by watching them code during an interview.
As a manager, I spend a lot of time delegating. I delegate small tasks so that I can spend more time adding value to the process and project. The value I bring is my ability to see the larger picture, use my experience as a guide, things like that. If I’m doing too many little things, I can’t do what I’m good at.
I experiment a lot with thoughts and process. I used to be scared of implementing something new because I felt like I was now married to that. Or, if it becomes habit, maybe I won’t want to stop it, even if it’s annoying (how irrational does that sound? But if you’re honest with yourself, you’ll see that happen a lot. If you ever hear “that’s just how we do it” then you’re experiencing it.)
Too often we find a team leader or a manager and just expect they’ll be able to hire new employees effectively. After all, they’re successful, they should be able to clone themselves, right?
Sometimes an employee becomes an ex-employee because they did a poor job. Their quality or output was just not up to par. Otherwise, they backstab, do fiendish things, basically try to screw you. Either way, you can get pretty strong feelings about this ex-employee. Pretty bad feelings.
If you’re not aware of what imposter syndrome is, let me share a quick synopsis. Then I’ll follow up with why I think the term is being abused.
“If you have the question, chances are someone else in the group has it, too. Be brave: get the answer to your question with a by-product of serving others.”
I’ve been to conferences where I’ve shelled out my hard-earned money to attend, been to free local meetups, and all kinds of presentations in between. One thing that I’ve heard more than once, though, is a variation of this:
Every mistake comes with a lesson or two…
I’ve made a horrible mistake…
It’s such a cliche by now - “We need a rockstar programmer” or “only code ninjas should apply” - but this choice in your job want-ad is ruining your business. Let me tell you why.
You’ve heard the phrase “The customer is always right” before. I think you’ll find an equal amount of articles online saying that that sentiment is still and always true vs the fact that the customer doesn’t know what’s best for them and they’re not right. (You’ll even hear stories about how some “great” companies like Apple ignore the customer desire and that’s how they became successful.) But they’re not really digging further into the customer relationship.
You’ve heard the saying before: “Fake it till you make it.” I agree with this philosophy - especially when it comes to getting a great programming job. But, I think the way you ‘fake’ it is important. It’s important to fake it ethically. Let’s discuss.
What’s the difference between pitching for new programmers to join the team vs investors to fund it? Nothing. If you’ve not been pitching both of them with equal detail and vigor, you’re missing out.
I’ve migrated the website 33thingsbook.com to this blog post.
A programmer’s guide to quality code, great work relationships and respect.
There’s a reason why we want to build high-quality code - actually there are man. But in the end, it boils down to this one point. Good Quality Code Reduces Costs.
The other day, an acquaintance of mine was complaining about never getting ahead in their career. I didn’t really feel like I knew enough about their area of expertise to give any advice - until I heard what they did when they got home. During our conversation, they described their favorite TV shows, how involved they were with the outcomes; basically once they got home, 4 to 5 hours were spent on the couch watching TV.
Answer this question real quick: What was the most impressive thing you did 2 years ago at work? Did you get the proper accolades for it? Or, possibly more important, did you get a performance-based wage increase or some other reward?
I’ve been in the position to hire a lot of programmers over the last few years. This is a great responsibility; one that doesn’t come without a bunch of unique situations, especially when it deals with colleagues and friends.
For our agile workflow, it’s important to provide a check-in each day. What did you do yesterday, what do you plan on doing today, do you have any blockers? My biggest challenge is actually remembering what I did “yesterday” - especially after the weekend.
I’m very lucky to receive multiple LinkedIn requests to connect each week. I rarely accept them, unless I happen to recognize or know the person. Also, if they have a compelling message and I think they might follow up, then fine, too. But that’s where it usually ends…
“The real reason we’re not successful or getting a bunch of sales, is because we’re missing feature X, Y and Z! Add them immediately!”
Today I was faced with an interesting quandary about whether I should write the code to exploit an application vulnerability in our software at work. This vulnerability is not necessarily a “security” one, but more-so a known-risk: it was theorized that someone with enough knowledge could bypass a mechanism in our software.
From a very young age, we’re told to brush our teeth regularly. We know we should, but it can be a struggle. The reasons to invest our important play-time aren’t always compelling. (If they were, why would some parents have to check to make sure the children had brushed their teeth before bed?)
Are all American CEO’s psychopaths? It is a very interesting question - one that I tackled in 2012 when I was finishing my capstone at Cardinal Stritch University.
Considering I write a lot about business in this blog - and a few years has passed now since I used this paper for credit - I thought I’d “open source” it for those who might have an extra few minutes in their day! Hah!
I find it very difficult to find out information about my local elected officials. Even the federal website for congress mentions that there is no central database of email addresses and contact information for their members - which is just crazy to me.
In the last decade or two, the US proliferation of low quality reality television shows has been unstoppable. “Big Brother” would be ashamed by some of his siblings. There are shows that follow famous people (although, I’m not entirely certain why some of them are famous), shows that involve the audience, shows that support nerds; basically anything you can imagine! I pretend I’m above this, I surely don’t fall into the category of people who sit at home and pine over “The Bachelor.” I normally flip the channel right past these shows.
Fair warning - I normally don’t write too personally in this blog - but this one is something different. Something I think people need to read.
The other day I found myself giving advice and revisions to a fellow PHP programmer about his cover letter for his next job application. That really inspired me to help out and write this entry.
Wow! Enter Google Fusion Tables - an easy way to show, manipulate, sort and display data.
If you run a volunteer organization, you might be turning away valuable volunteers! Let me give you 3 useful ways to lock in these volunteers - now!
I think it’s pretty awesome that my daily job is making something out of nothing.
I’ve given a number of talks in the last few years. Each time I go to a new place, I have to bring this giant bag of equipment and three or four versions of my presentation. All too often, conferences don’t detail enough of the specifics for their presenters. Let me tell you, presenting and traveling can be stressful. So, to help reduce stress and anxiety, there are a few things you can share with your presenters ahead of time.
I’ve had a lot of people come to me for various mentoring opportunities. They’ll ask for help, follow up once or twice, and then just disappear. I’m left wondering: Did I make a measurable impact on their lives?
I’ve read the articles and studies about workers creating their own work spaces and I think it’s a great idea. (In fact, the company should too - it increases efficiency by 32%!) But, I never really realized how important it was until recently.
The other day, I was presenting some of my hard work to a group of stakeholders in a meeting at work. I went through the screens, showing all of the fruits of my months of labor.
I’ve been thinking about this idea for a while…
So I’ve been looking into cloud storage a bit again - and I decided to do a bit of quick research on the top three CMS in my life: Drupal, Joomla, and Wordpress. I wanted to see if my idea made sense…
I had this idea about doing interactive screen share and code review. I wrote it about it earlier and even asked for feedback.
Ugh. I really want to contribute to the community. I do! If others before me wouldn’t have done it, I wouldn’t be where I am.
Hello friends - I’m trying to get an idea if this would be a good idea. Let me know your thoughts in the comments.
When browsing the documentation for chrome, I came across this:
Sorry for the mini-rant here…
Estimates can be one of the hardest things to create as a developer. The word estimate is a misnomer in our industry. It’s almost as if they should be called “agreements” or “promises” according to some bosses. Yet we all know that they are just that: an estimate of the amount of time, not a guarantee.
I did a bit of looking for websites that will service a Bible verse of the day via email, and I did not like what I found. First, I felt that a lot of them were very confusing to use. It wasn’t immediately clear what you were there to do. I didn’t know where to put my email address, etc. Finally, after reviewing a lot of the copy right information with bibles, I wonder if they weren’t breaking the copyrights for a lot of the bibles they offered.
This idea is about the concept of grouping tweets in a meaningful way.
I’ve been a manager before. I’ve lead teams before. However, it’s important to understand the difference between the title of ‘manager’ and someone who actually manages. This time around, I’ve been putting much more effort into managing, not just being the figure head. And, I’m learning things. I think these things not only apply to technology related teams, but teams in general.
So I’ve been looking at some parallax plugins with Javascript and CSS3 animations… and it got me to thinking: I have a great idea for a web site design firm.
A few days (ok, a bunch of days) ago, someone asked me on twitter what I look for when I do a code review. Pretty certain I was tweeting that I was either… a) doing a code review or b) annoyed at doing a code review. heh. I thought for a bit, and I think I’ve distilled the list of things I look for. Now, mind you, I don’t set out with my checkbox list or a manual, I just look at the code and “feel” it. Yes, that sounds crazy. I understand. But, subconsciously, I think I’m doing the following things when I do code reviews:
Do it. Catch your breath. Sit in one spot. Don’t reach for your phone. Look at the sky. Clear your mind.
I remember a scene from A night at the roxbury where the less-than-slick brothers take some girls back to their room and have a problem closing the deal. One of them keeps saying pickup lines while he has the girl sitting on his bed. She basically says OK - we’re past this. He just can’t seem to close the deal - no matter how much she wants him to.
This idea is to create an idea repository. I started out wanting to make this website - and instead just decided to list my ideas on this blog. But, here goes.
Idea: TrackThings.com. This website is made to track sales people and distribution of promotional materials. It was initially thought of as a way to track on-the-ground sales distribution. For example, if you had someone go to three businesses on one street, they could easily track where they went, and mark the interest for followup.
I’ve heard the argument so many times: “I’m just too busy to do my own website” This usually is followed by pleading statements leading to the fact that no one is paying them to do their own website - like their current workload is paying them.
Goal: Clever named site that shows local establishments close to your location. Was based on Google Ip location services. The thought was just for people to think ‘whats close to me’ and type that up.
There are two types of resumes out there: employed resumes vs unemployed resumes. Or that is to say bragging resumes vs qualifications resumes. There is a time and place for both… and mixing them up may not be in your best interest.
Goal: to create a bachelor cookbook and sell it to other bachelors online. The price of the cookbook was to be very cheap so that it wasn’t too much of a risk. The book itself was supposed to be picture rich and very verbose. It showed how to accomplish tasks that other books assumed a person knew.
I came up with a great topic to write this blog entry about: filters and validators. Then, I got to thinking - maybe I can get more feedback from other programmers I know. I decided to send a note out to a few of my buddies and see what they thought as well.
Goal: I came up with an idea that I wanted to find local people in our area and mention them using a twitter bot. Pretty simple.
JEMDiary was one of my longest running websites, from way early in the century.
Goal: to create a site serving females that felt a specific male in their life deserved positive recognition. Then, to monetize the recipient from one of two targeted ads.
The goal was to use links that Amazon provided themselves to showcase categories and percentage discounts with my affiliate tag. The thought was a clean interface would easily encourage people to click a discount of say 90% but send affiliate contributions my way.
Note: I have shut down name-tag.me. These notes were taken before I pulled the plug.
The goal was to make a “hello my name is” style name tag without the use of images but with a handwritten font.
Many years ago, a business mentor of mine told me that I should “read something else.” I didn’t know what he meant so I asked for more.
What is the measurement of a good career? Promotion? Raises? Running a project / leading a team? Usually all of this. However, the most traditional measurement of success in a career is moving upward. Time to run a department, time to lead a team, etc. However, I submit a very radical idea: Sometimes just be great, don’t lead.
The Cookbook is no longer available.
Hey everyone - I’m looking to push the sales of the 10 Dish Better Bachelor Cook book to the next level.
Raise your hand if you’ve ever been told how to do your job… Yep. It’s happened more than once - and I’m sure you already had a flash of red and maybe some warmth come to your face even hearing that phrase. In my current position, I run into scenarios where people seem to think they have the best solution for the problem. And, you know, they may be right, but it’s not their job. This is generally a problem that either technically minded stake holders or completely ill-informed users have. Let’s dig deeper, however.
One thing I’ve learned about the entrepreneurial spirit is that it leads to failure. With figures as high as 90% of businesses fail, this is something you have to get used to. Even leaders like Robert Kiyosaki mention that knowledge is what makes money - and that knowledge is gained by failure. You’ve heard the sayings before, learn from your failures…
For many events, roughly 80% of the effect comes from 20% of the cause.
As you may remember, I wrote a piece about why I do not sign any NDAs here. I’ve had some time to reflect on that entry, and I want to move forward. I want to give any client I work with my new “promise” - the Non Disclosure Promise. Let me tell you a bit more why I choose not to sign NDAs, and what I can offer you instead.
From time to time, I get approached with a new project from an excited business person. They are just bursting to tell me all about it, to see if I can help them out (or even make it for them), and looking for some clarification on their next steps. This inevitably is hindered by my reluctance to answer their first email. You know that email. The one that includes the attached Non Disclosure Agreement.
I started the Milwaukee PHP Users group a few weeks ago. Unfortunately, today we had to cancel a meeting because of the outpouring of snow… but it’s on for the 4th tuesday of the month.
Today, I read through the paper titled ‘An Experimental Evaluation of the Assumption of Independence in Multi-Version Programming’ (Find it here).
From time to time, I’ve been asked to make a list of my design ideas, or to develop a better proposal for an idea I have. This really irritated me: didn’t he believe me? Didn’t he trust my ideas?
I’ve been to far more meetings than any one on earth should ever have had to by the time they’re 25. With that experience, however, I can start to pick out key points of running a great meeting or demonstration. I know this is a different type of post for this blog, but I think its important. There may be times that you’re called on to conduct a meeting or demonstration, as a technical resource. Follow these tips and your meeting will go along smooth, efficiently and successfully.
Whether you’re looking at web hosting advertisements or speaking with an internet firm, you’re going to run into various acronyms. If you’re not familiar with the industry, this can get confusing. Let’s check out the main ones to see what they really mean to you.
This article covers the basics of what you need to know to get your business on the Internet fast and successfully.
What is a domain name or a dot com name? And why are they needed? Let’s find out.
What is website hosting and why do you need it? Those are two very important questions.
In the same way that not everyone drives a Honda, we find that we have different web browsers. For the beginner to the Internet, this might come as a surprise. Normally, they are only used to the default browser on their computer. For example, Windows users are familiar with Internet Explorer. Mac users might be familiar with Safari.