Archive

The Dulin Report

Browsable archive from the WordPress export.

Results (31)

The future is bright Mar 30, 2025 Software Engineering is here to stay Mar 3, 2024 On luck and gumption Oct 8, 2023 Book review: Clojure for the Brave and True Oct 2, 2022 Why don’t they tell you that in the instructions? Aug 31, 2022 Monolithic repository vs a monolith Aug 23, 2022 Scripting languages are tools for tying APIs together, not building complex systems Jun 8, 2022 Good developers can pick up new programming languages Jun 3, 2022 Java is no longer relevant May 29, 2022 Automation and coding tools for pet projects on the Apple hardware May 28, 2022 There is no such thing as one grand unified full-stack programming language May 27, 2022 Best practices for building a microservice architecture Apr 25, 2022 Tools of the craft Dec 18, 2021 What programming language to use for a brand new project? Feb 18, 2020 Which AWS messaging and queuing service to use? Jan 25, 2019 The religion of JavaScript Nov 26, 2018 Let’s talk cloud neutrality Sep 17, 2018 TypeScript starts where JavaScript leaves off Aug 2, 2017 Design patterns in TypeScript: Chain of Responsibility Jul 22, 2017 Amazon Alexa is eating the retailers alive Jun 22, 2016 What can we learn from the last week's salesforce.com outage ? May 15, 2016 Why it makes perfect sense for Dropbox to leave AWS May 7, 2016 OAuth 2.0: the protocol at the center of the universe Jan 1, 2016 What Every College Computer Science Freshman Should Know Aug 14, 2015 The Three Myths About JavaScript Simplicity Jul 10, 2015 The longer the chain of responsibility the less likely there is anyone in the hierarchy who can actually accept it Jun 7, 2015 Big Data is not all about Hadoop May 30, 2015 Exploration of the Software Engineering as a Profession Apr 8, 2015 Thanking MIT Scratch Sep 14, 2013 Have computers become too complicated for teaching ? Jan 1, 2013 Scripting News: After X years programming Jun 5, 2012

Scripting News: After X years programming

June 5, 2012

Dave Winer, as always, puts it well:
First, most people don't program that long. The conventional wisdom is that you move up into management long before you've been coding for 37 years. Only thing is I don't see programming as a job, I see it as a creative endeavor. And I drew a big circle when I started, and said I was going to fill the circle in my career. So until the circle is full, I still have more to do.

[From Scripting News: After X years programming]

I don't like the term "programming", but I 100% agree with him.When I am at Dave Winer's stage of my career in this field I hope to continue building software. I've been doing this since I was in my late teens, I enjoy it no less now. If I were unemployed I would still be developing applications -- but these days this lands you a new job pretty quickly, or gets you a contract gig. In fact, the only time I was laid off after dot-com crash I was unemployed for no more than 3 weeks -- and all during those 3 weeks I found an open source project to contribute to and immediately got a contract gig because of it.

The point is, though, that everyone should have a craft. You can't be both a good manager and a good developer at the same time. Pick a platform, pick a language you are good at, and stick to it. Most importantly, pick a craft. Without a craft you are but a wind sock flapping in the wind.

An experienced developer knows to make the right decisions earlier in the process. They know when to correct course. They know when to stop, take a break, and think about their work. They never actually do stop thinking about their work -- even when they are not coding. I often find myself accomplishing tasks in minutes what a less experienced developer would take hours or days -- only because the problem and the solution are immediately apparent.

Software engineering is a creative endeavor and don't let anyone tell you otherwise. My goal as a career software engineer is to be sought out as an engineer. I build things. I create stuff. Good software takes time, and has to be done at the right pace. Rush things -- and you will never get what you wanted.