I have now worked for one month at the best job I have ever had. I have never seen a software development environment so supportive of learning, and so well-disciplined in following responsible practices.

Almost all day, every day, we sit with a colleague and code as a team.

We write a test for a piece of functionality before we write the code to implement it.

We use a continuous integration server which turns a screen very visibly red and alerts our chat channels whenever someone commits code that breaks the build. We call a stop to all work until it's fixed, so the project is always functional.

We review new code with a pull request, then merge it directly into master-- and we delete every branch within two or three days of creating it.

We take seriously the feedback generated at retrospective meetings, with specific action items and deadlines which we all follow up on.

Instead of just adding more features, we keep a list of tasks to restructure the whole codebase, to make it easier and faster to add features-- and we are allocated official time to work on that.

And best of all, we only work forty hours a week, which prevents the errors that would result from exhaustion.

Does all this put us behind schedule? No. All of it makes our process faster in the long run.
Today I had a conversation with a graphic design client who, for the past several years, I have charged $20 per image. It is an example of how, merely by setting your own boundaries in a healthy place, you often don't have to filter other people out of your life, because they will do so for you. I refer to this as a "self-solving problem".
Hi Matt,
I leave for a conference in Israel on Wed, Sept 2. Have any time between now & then to upgrade some graphics?
-Clientname
Probably. It will depend on the nature of the upgrades. There are more demands on my time these days, so I will have to raise my rates somewhat, but it will still be proportional to the amount of time I expect it to take. What did you have in mind, specifically?
Hi Matt,
I find your response of raising your rates because of "more demands on your time”very disappointing. It sounds like you have taken on the attitude of big business (airlines)…meaning charge whatever the traffic will bear.
I am sorry, but this “attitude” is contrary to my thinking and I withdraw my request for your services.
This is why it's so valuable for me to put things out there from the outset, which will prevent going down a path that can only end poorly. In various areas of life, this could be "I don't take on new clients unless you pay me to have our first meeting", or it could be "I don't want to work more than 40 hours a week", or it could be "I'm not interested in monogamy and I have a vasectomy." Etc.

Unfortunately, not everyone who should self-select out of your life will do so. Some of them will stick around and complain about your boundaries, or exert other pressures.

There are two main categories of this, depending on the power imbalance. In one case, the person who wants to set boundaries is vulnerable to the pressuring party, as I was financially vulnerable when I originally met this client.

In the other case, the power imbalance is reversed. The pressuring party has too much to lose if the boundary-setting party asserts healthy boundaries. This is often expressed as a form of romantic love, in which the chemical attachment of bonding persists long after the problems of a relationship outweigh the benefits.

If you (as the boundary-setting party) have sufficient alternatives, and if the pressuring party has sufficient alternatives, they will filter themselves out of your life. Then the only way you will continue to have the wrong people in your life is if you fail to assert yourself calmly but firmly. Sometimes walking away is not failure-- it's success. You do not have to make every relationship work.

This is also why it's smart to empower other people with independence and alternatives. Seeking out power imbalances, or setting them up, generates more conflict than it resolves.
Perhaps I should learn something that makes developers cringe, such as Visual Basic or .NET. This will take multiple steps of reasoning to explain, so bear with me.

I have been interviewing for various startups. That has been a very educational experience about the "expectation fit" between types of companies and types of employees. When discussing my recent job interviews with a friend who worked for one of the startups, he made a comment that he and his colleagues all worked long hours for very high salaries, and given my life goals, I should try to work someplace large and corporate. I then had the following hypothesis.

  1. I have focused on programming languages, version control systems, and other technologies with one common denominator: developers like using them. Also, I have been favoring seeking out workplaces with processes and management styles that support job satisfaction among developers. What if this disadvantages my specific life goals?

  2. According to this hypothesis, this affects who my colleagues are.

    A. They compete to get into companies that allow them to use these satisfying technologies.

    B. The project they work on for employment is so interesting to them that they consider it to be the main thing they are doing with their lives right now. As a result, they work long hours, and have very little free time after studying and practicing.

    C. Being a software developer is a major part of their identity, not just a way to pay the bills.

    D. They hold strong leadership opinions, rather than saying "I'm sure however you want to do it will be fine". They often seek out companies with fewer developers, each of whom is crucial.

    E. They are playing a game in which the victory condition is measured in dollars. The income necessary to sustain my frugal lifestyle is roughly 2/3 of the lowest end that motivates them -- or 1/2 if I don't mind living hand-to-mouth with a lot of risk.

  3. Reportedly, in some huge companies maintaining ugly legacy codebases in Visual Basic or .NET, software developers are only working when they are at work. They provide financial value for forty hours a week. Then they go home at the end of the day, forget about their jobs completely, and pursue their own projects.

My challenge will be to find a source of about $30,000 to $40,000 per year, which does not completely take over my ability to work on my own projects after hours. I have been given to understand that such jobs are scarce in the post-middle-class economy. My education and experience now disqualifies me from low-skill minimum-wage jobs, since employers would be concerned that I would quit to go back into software development. Income inequality is a game of thrones.
"When you play the game of thrones, you win or you die. There is no middle ground." -Cersei Lannister

The most appealing idea (although possibly not feasible) is to select one of my projects, focus 100% of my time on it, and generate an income through Patreon, rather than just fit my ambitions around a day job. That's a subject for another essay.

I spent fifteen years of my adult life performing unskilled labor for my day job, and the past two years experimenting with performing skilled labor for my day job. Each of us have a "personal business model", whether intentionally or accidentally. I'll continue to refine my personal business model as an ongoing experiment.
I liked the vast majority of 2013. I'm less happy than I was a year ago, but most things are cyclical. My circumstances are on an upward trajectory, overall.

I had career and relationship milestones this year. I got a job as a software developer, and as a result, started spending a lot of my time in Ann Arbor. Today I finally achieved a savings goal that I've had for nearly a decade, and will probably stay above it even after this month's projected expenses.

The main reason for me to select one job over another is how much control it will give me over where I spend my free time, and with whom. My last job, while menial, was down the street from the i3Detroit hacker space, where I do everything that I care about the most, and where most of the people who I care about tend to spend their time. That job set the gold standard. Working in my actual field will make it possible in the future to return to something close to those priorities, in a financially sustainable way.

With those priorities so vividly present in my mind, it is not possible for me to accidentally fall into a gilded cage of high expenses that keep me dependent on a high income. I know people who incur a terrible price with stress and boredom, to pay for isolated McMansions in a lonely gated community. I don't want that. My current path will vastly increase my options. I plan to keep living in densely populated urban centers full of activities with lots of great people.

Speaking of people, that brings me to the topic of relationships. In October, I posted this to Facebook:


A relationship of a year and a half has come to an amicable end. It was both of our great good fortune to be with each other. In that spirit of gratitude, our relationship transitions into warm friendship.

Here are the things that help me during a time like this. Your mileage may vary.

When I start every relationship, I say that it's a gift to each other, not an obligation. I say that if she needs to make new life decisions, and if I don't fit into that life in the same way, I won't make it difficult for her. Past experience says I'll follow through, so that's a comfort.

--I don't want to sugar-coat this. Like anything else worthwile, my relationship philosophy has tradeoffs. For every one to two years of ecstasy (the likes of which many people only fantasize), I experience a couple of weeks of withdrawal from dopamine, oxytocin and norepinephrine. I'll take that deal. During those weeks, I practice disguising my sobs as sneezes, in public. I accept the stormy emotional weather. I ride out the brain chemicals until they pass. If I had avoided loss, I would never have had such rewarding relationships to begin with.

During the infatuated period of "New Relationship Energy", when neither of us can conceive of a day when we don't fit into each other's lives in the same way, I talk about it anyway. The infatuated period is the most difficult time to lay the groundwork for the end of the relationship to be a warm and loving one. But that's when it most needs to be said.

With each goodbye, I remind myself that new connections and new loved ones have never followed far behind.

-- This prediction has already held true. 

When we say goodbye, and I say we'll always be loved ones, I can look at the loved ones who still call, and keep in touch, and miss me, and look forward to visiting me, and I know that real love stories can have endings. Because that's how they can have sequels.

--I was reminded of this when I had a visit from J this month. (J lived with me during 2010 and 2011, predating the relationship which recently ended.) She spoke of her plans to try to move back to Michigan and start a video game company with some others. They were inspired by a game idea I had, and I'm really excited to be in touch with her more often.

With strong connections, and new resources, the groundwork is in place for 2014 to be an amazing year for me.
Well, it happened again. Someone sent me a job ad working as a graphic designer for a company that I really like, and I had a full-blown attack of something. A panic attack? A freak-out? I don't know what to call it. I would really like to get to the bottom of this weird phenomenon that happens to me when I read job ads.

I have a co-worker who keeps asking me why on earth, with all my talents, I'm doing unskilled labor for barely more than minimum wage. This is why.

The irony is that the job ad is for a website about intimate relationships. You know "That Guy" on dating sites? The one who messages every woman asking for sex right off the bat? That's what most job ads are like. This invites a comparison I have often made, between professions and intimate relationships, which I would like to go into in more detail.

A job ad feels exactly like being asked to have sex for money. I am not trying to be insulting and hyperbolic. I am quite serious about this, and have been for years, not just the heat of the moment. Professional job ads ask me to start a very serious capital-R Relationship with total strangers, instantaneously accelerating from a dead stop to full speed. This job ad even uses the word "passion". I am expected to feel passion in exchange for money. They want you to join their "family" (their word). I'm supposed to care deeply about crafting the identity of complete strangers!

It's like that scene in "Joe Vs. The Volcano" in which the limo driver pulls the car over, and says, "You say to me you want to go shopping. You want to buy clothes, but you don't know what kind. You leave that hanging in the air, like I'm going to fill in the blanks. Now that to me is like asking me who you are, and I don't know who you are. I don't want to know. It's taken me all my life to find out who I am and I am tired, now, you hear what I'm saying?"

This is why I don't date. Everybody hates dating, and for good reason. Dates are universally creepy and desperate, because it's an interview with a stranger, for the position of Most Important Person In Your Life. I find that insane. Instead of dating, I make friends, and after I've gotten to know someone, I see if she would like to gradually increase the involvement. That's why my love life is so successful. I don't think that translates to the workplace. In the job world, I'm not sure how I would develop a passionate vision for how someone else's website should look, then go and ask for a job.
Remember when I learned Motion Capture Animation? Let's just I got an opportunity yesterday which I had to turn down. I had been really excited about it at first. My heart kind of broke. I guess that's all that would be appropriate to talk about here. Ask me some time.
Given how socially proficient I am, many of you express surprise when you discover areas in which I am out of place. But those areas exist.

Tonight I went to a networking event for IT recruiters and job seekers. I emailed the event organizers months ago with my resume, and told them I'd be there. So, even though I got a job yesterday, I went because I RSVP'ed that I would.

One of the organizers saw me writing "web design/dev" on my name tag. He immediately introduced me to a recruiter. She is with a venture capital firm, which is funding a startup. The startup has a variety of work at different levels, possibly including the entry-level work I was looking for (at least, until I got a job in an unrelated field). We exchanged contact info.

I bought a soft drink, looked around, and tried to figure out what to do. The setting was in a bar, resulting in a weird hybrid of work and fraternization that left me without a clear set of rules. I approached the nearest person. She was a recruiter looking for a different branch of IT, but pointed to someone else who was looking for web developers.

I had a brief conversation with that recruiter-- she expressed no interest whatsoever. Soon it became clear that we had nothing to offer each other. In order to not embarrass me, she asked me to email her my resume. Then she quickly disengaged from me with a friendly smile.

I spent some time wondering why I didn't want to talk to anyone there. I don't just mean I lacked the desire to talk to them; I mean I actively wished to avoid them. All of their visible signals exuded a set of goals and values typically associated with a "career person": money, influence, and status. There was an implicit dynamic of desiring and seeking those things, rather than seeking to spend time with people one enjoys.

I value enjoying the company of other people. This was not about that. Therefore all forms of engagement at such a gathering have to be a pretense. I don't know how to be insincere. So, it was difficult for me to figure out how to engage or disengage from anyone.

I stood at the bar and thought for a while. In order to get a career, one must network. There is simply no way around it. Networking means getting to know people who can make a difference for you. Presumably, people with money, influence, and status. But to paraphrase xkcd, the problem with convincing the rat race to let me join them is... that they might let me.

What career is worth that cost? Standing there, it struck me that I can make anything I want to make on the web. I don't need an employer to fulfill my dreams. I need an employer so that I know where my next meal is coming from while I pursue my dreams. As of yesterday, I have that.

The longer I stood there examining the career people, thinking about their second homes, their third cars, their fourth spouses, the better I felt about filing papers and making phone calls for a living. It is a straightforward exchange of time for money. It has no connection to me, so it makes no unseemly demands that I should be driven by a passion for it. Do I really want to receive money in exchange for my love? Isn't it better if my aspirations and my survival do not get entangled in a conflict of interest?

I left my soft drink on the bar and walked out. Maybe I'll have fewer opportunities, but it doesn't mean I'll have none.
I'll probably start next week.
I almost certainly have a job, as an office clerk and phone liaison. I'll know by the end of the week. I'll have money for fuel, so you'll see more of me. After I've worked there a few months, my hours will go up from 40 to 54 hours a week. Then you'll see somewhat less of me.

(It's in Warren, so I'll have to move. Again. For the time being, I'm living out of a suitcase in Warren and only going home to Whitmore Lake on weekends. Whitmore Lake is an hour away, so that doesn't work. I have been browsing Ferndale/Royal Oak room-for-rent listings on Craigslist. I feel encouraged by the price ranges.)

This job is managing a huge number of outside contractors; i.e., people who have a tenuous relationship to us and do not necessarily have to do what we tell them to do. All we can do is replace them. Sound familiar? So, during the job interview, I described my experience with Penguicon. Keeping in touch with remote strangers who are never seen. Tracking when work is due, what is late, and when to replace someone. Motivating rather than nagging. Documenting processes. They were impressed, and said this is similar work.

You might be wondering now, "why did you spend a few years and a few thousand dollars to get a web development certificate with a 4.0 GPA?" That is only the first step of a journey. It was a good start, but job interviewers have made it clear to me that I'm still not qualified. I need to do a lot more personal learning, including:

1) Server administration from my laptop, so that I can install whichever additional technologies I want to learn.
2) Javascript libraries such as JQuery and YUI.
3) Python frameworks such as Django, and Ruby frameworks such as Ruby On Rails.
4) More about databases.
5) SASS. I would love to learn SASS.
6) How to inflict bloated, swiss-army-knife Content Management Systems. Hissssss. Actually, never mind this one.

A qualified portfolio should include a large number of web applications with polished interfaces and finished-looking designs. I would like at least one to have rich, responsive interaction, such as a game. I would like at least one to be a multi-user database-driven site. The thing is, each such project would take months of spare time. Frankly, I'm not the type who can become a hermit and emerge from my cave with a finished project in a short timespan. I like other humans too much. Other humans are the whole point of a project. Will I some day get a job as a creative or technical professional? In this economy, who knows. Perhaps in a few years. Or perhaps not-- perhaps it's only for hermits. Either way, I'm determined to learn. While I learn, I have to pay the bills, and it looks like my current job prospect is a perfectly pleasant and agreeable way to do that. I'm satisfied.
Over the years, I came to realize that my best work has always involved subjects that interested me, or -- even better -- subjects about which I've become interested, and even passionate about, through the very process of doing design work. I believe I'm still passionate about graphic design. But the great thing about graphic design is that it is almost always about something else. Corporate law. Professional football. Art. Politics. Robert Wilson. And if I can't get excited about whatever that something else is, I really have trouble doing a good work as a designer. To me, the conclusion is inexcapable: the more things you're interested in, the better your work will be
--Michael Beirut, "Warning: May Contain Non-Design Content" from Seventy-Nine Short Essays On Design.
There is just an astonishing quantity of paying work out there for projects that try to get people to buy things, and there is almost nothing I want to buy. I don't want to kindle a desire to buy more things. I don't want kindle that desire in others.

I have focused my design efforts on non-marketing pieces: magazines, maps, information guides, books, games, illustrations. I enjoy doing that-- particularly for topics that interest me. I am known for boundless, passionate enthusiasm. I don't know how to generate enthusiasm. Certainly not in exchange for money. I'm not sure I could live with myself if I did.

On the other hand, I think a lot of programming consists of making a product. That product is what you are selling. It is your business-- not a dozen different businesses a year. Someone uses that product. Corporate software, unfortunately, is chosen and paid for by someone who doesn't have to use it, and that's why it sucks. I hope very much to work on something that is chosen and paid for by the person who uses it. I want to make something the user wants.
Steve Blank talks about startup culture in Ann Arbor.

Steve Blank is an experienced expert on entrepreneurship, whose excellent blog I have been reading for a long while. He summarizes each post with a set of points under "Lessons Learned". He concludes his Ann Arbor article the same way:
  1. U of M has a College of Engineering dean who “gets it”
  2. He’s turned the school into an outward facing school, fostering an entrepreneurial and innovation culture
  3. The Center for Entrepreneurship is on board with passionate faculty, innovative curriculum and excited students
  4. The area has almost no experienced angel, super-angel or venture capital (as we know it in Silicon Valley) for Web/mobile apps, hardware and software
  5. The lack of experienced risk capital means a lack of experienced mentors, coaches, and infrastructure.
One of the major premises of his blog is that a startup is not a company. A company is what follows a startup. It executes a known business model. But a startup is an organization whose purpose is to search for a business model. This means it keeps changing until it gets consistently stable profit growth, then disbands, hands the reigns over to managers, and becomes a company. Until then, the startup keeps abandoning their business hypothesis and forming a new, altered one. Scientifically, you are expected to start off with a hypothesis that is wrong.

Silicon Valley calls this a pivot. Elsewhere it is called a failure, and you are embarrassed to have been wrong.

One difference in cultures is respect for failure. In Silicon Valley, you're proud to have made many attempts. It's "What did you learn from your first three startups?" In Michigan, it's "Why don't you get a job?"
nemorathwald: (Matt 4)
Don't think of it as spending your time doing artwork with your skills, in exchange for vague promises of future money that may not materialize. Think of it as getting in on the ground floor of a company! The graphics this artist created in response to that proposal? Completely hilarious. The email exchange detailed here may or may not be fictional, but is true-to-life.


In order to attract more art business I intend to put up a portfolio site. I am considering acquiring the domain scalyanteater.com. I would make Scaly Anteater a company name, for illustration, design, and websites. Alternately, I could just make it mattarnoldworks.com. Less catchy and memorable, and the business card would not be much fun, but it's more straightforward.

I realized a moment too late that I should have pointed out a checked box means "good enough" and unchecked means "unacceptable".
[Poll #1440679]
Gather round and listen to a story of me, self-surveillance, entrepreneurship, and a miniconference about the Python programming language.

I have always charged a flat rate for art and design.* This time, I wanted to time myself to find out what I earned per hour and adjust my future rates to what I need to bring in, based on accurate estimates of different types of assignments.
Read more... )
I can no longer find the reference, but I recently read of a study that showed that the brain-chemical rewards of satisfaction from talking about our intention to do a project are the same as the feelings of satisfaction that we receive from completing a project. The lesson was to finish first and then unveil it afterward, so as not to sabotage your drive.

This was consistent with my life experience. When I was a boy, I would get the neighborhood kids involved in projects of vast ambition, such as an RC car racing track, or a circus, or a backyard theme park made of cardboard. A week later I would forget the plan ever existed because I was busy drawing up detailed schematics of my latest life's work, and assigning a role in it to everyone who would listen. I don't think very many of them ever stopped going along with it, because on balance dreaming and planning is fun. However, I eventually remembered some of my abandoned plans with embarrassment, and could no longer muster the sincere belief that is a crucial component of my glowing enthusiasms. I didn't get back in the saddle until my late twenties, when I figured out how to subdue my attention span. I now cajole, distract, and bribe my brain into avoiding shiny distractions. Well, mostly.

The study on announcements is the latest trick I've learned. That is why I have not already blogged about the paying assignment I have been working on for a week. In another week it's scheduled to be done, and I hope I'll be allowed to show it to you. Until then please regard it with skepticism for the sake of my clever mind-trick. In fact, I might be violating the new lesson just by saying this much.

I would just like to say it's satisfying, and I wish I knew how to get more work with projects of this nature. It feels refreshing to get paid to do a project that I like and approve of; to get paid to do something that is easier to start than to stop. I think the last time this happened was six or seven years ago, and I don't remember it ever happening before that.
nemorathwald: (I'm losin' it)
Maybe some situations would be better without managers, but not necessarily Better Without Bosses. Most of us are better off if we look to "hire" a boss to do things that, frankly, most people are bad at, and don't want to do. A boss exists to reliably transform your work into your money, and take part of it for the service. This is better than doing a lot of work and getting little or nothing in return.

A boss task:Be your own boss but don't possess boss skills:
Figure out what people would pay for.Hope against hope that there is a market for your skills by themselves, not incorporated into some larger product.
Figure out who can do that work well and would actually get it done.Hire a freelancer who never actually completes the job; or squabble over whether the result is worth paying for.
Tell the world your work exists and persuade them to choose it.Have no clients.
Find out who has both the need and the money.Get clients who could only pay you a fraction of your rate.
Make the client pay what they owe.Spend time nagging for your invoices to be fulfilled, time that would be better spent using your skills to earn more money.

From the outside, these tasks look like magic, as if only certain mages can perform the incomprehensible rituals to channel the eldritch forces outside the ken of mortals. If you can do all that for yourself successfully, and not die of boredom, then you're better without bosses. If what you really want to do with your time is to do work and not worry about getting paid for it, "hire" a boss to provide you with that brokering service.
Out of all the job hunting sites or tools online, what are your favorites?
We've all heard "Time is money". Whether time is money depends on which one of them you're spending. It's true if you're spending time. It's not true if you're spending money.

We have to spend our own time in such a way as to maximize the money from it. But I'd rather pay someone for the results I want; their time in itself is worth nothing to me. It doesn't help me if they take longer to give me results. It doesn't cost me if they finish quickly so long as it's the same result.

If you're paying money, you can't really receive time in exchange. The time it would take you to perform a task is longer than the time it would take a paid professional. The outcome would differ as well. There isn't an equivalence in the time you save and the time they spend. So ask yourself when spending money to receive time, are you paying for their attention? If not, how much is the result worth to you?

The problem with paying for the result of a service is that it's subjective. Time, by contrast, is easy to measure. That makes it convenient to set a standardized value on time. But we still don't really buy each other's time. The same person can do a valuable task in one minute, and a less valuable task in an hour. So our evaluation of what our time is worth is a measure how that averages out. We also take into account bits of overhead. Employees evaluate a wage to take into account time spent driving to work or thinking about solving work problems during free time. Employers evaluate a wage taking into account time spent in the office taking breaks for smoking, bathroom, drinking fountains, taking private phone calls or an email or two, and other necessities of life.

The corollory to thinking in terms of results is that I'm comfortable being paid "by-the-result", at a flat rate based on the market value of the benefit, rather than just measuring when I'm in the office. I don't want to feel like my wage is a punishment on my employer for the time they've taken from my warm body; I want to feel like I've been rewarded as a measurement of specific contributions! That's exchanging benefit for benefit. Territoriality about time can create a climate in which the transaction feels like an exchange of harm for harm; taking money in exchange for taking time. Then each party might want to ensure the other is losing an amount that justifies what they are losing. Who benefits from that? That's what I would call a lose-lose situation.
nemorathwald: (Matt 4)
Here's an update for those of you who want to know where this stands. Last week I submitted my resume and cover letter to the Free Software Foundation. I followed up today by phone and was told that the position had been filled. Nonetheless, I have been inspired to think in very promising directions throughout this experience.

September 2017

S M T W T F S
     12
3456789
10111213141516
1718 1920212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 06:08 am
Powered by Dreamwidth Studios