It takes two people to have a boss-report relationship.
As I wrote earlier, if you are an employee, you have a boss. You are a direct report of your boss.
By definition, if you are a boss, you represent your shared employer to at least one employee, often more. They are your direct reports.
This is a human relationship.
The boss has power in this relationship: the power to dictate the activities of the report, to grant or refuse raises, to set holiday schedules, and to fire the report (and maybe others). Some bosses have only some of these powers…
If you are an employee, you have a boss. There is no other way.
An employee is someone who has agreed, in exchange for a periodic payment of money, to let someone else — the employer — direct what they do and how they do it. This is fundamental: in all jurisdictions I am aware of, this is the essence of the legal definition of employment. From this, a number of legal consequences follow, mostly designed to protect the employee from the employer’s whim.
Your boss might be your employer themself, in a sole proprietorship or in the case of…
When I was young, I read a lot about computers. I did this years before actually having access to one. I learned to program on pen and paper, imagining what a computer would do with my code.
Eventually, of course, I got my hands on actual computers. That, however, was not the big turning point in my computing life. No, that title belongs to a period of my high school days when I spent my afternoons in the library browsing the Internet.
In those days, software for home computers was bought in expensive cardboard boxes that contained a couple of…
When called to make sense of an input string using code, what do you do? Most people would write an unholy mess calling various string methods, such as substring find. Some are smarter and write a regular expression, which in many simple cases is exactly the right choice.
Most times, of course, the string format is well known. In business intelligence, we deal mostly with CSV files, Excel workbooks, and XML files. In web application programming, we frequently run into JSON. In these cases, it is smartest to turn to widely used, well-written libraries for handling these formats.
The whole academic world revolves around publications. Hopeful young scholars gain status in the community and thus improve their employability by publishing solid research in high-prestige academic journals. In class, university students are told that nearly the only reliable source they can cite is an academic journal.
In the wider world, published research is inaccessible in two senses.
String manipulation looks easier than it actually is, and getting it wrong can create serious security issues. For example, constructing an SQL query from user input by pasting it inside a template is guaranteed to introduce an SQL injection.
Unfortunately, manipulating strings of characters is one of the first skills an apprentice programmer learns. Thus it is not surprising that string operations like concatenation and slicing remain one of the first tools one tends to take out of the toolbox.
You are supposed to give a talk in the next couple of days. Maybe the audience is just your extended team at work, or maybe it is 500 people at a convention. Either way, you are scared stiff. So would I be, and that is how it should be.
I lectured at a university for 18 years. I have also given many presentations at academic conferences, chaired several mid-size meetings, and been on the stage speaking at a national convention of my political party several times. Clearly, I am comfortable being on a public stage speaking.
These are some of…
So you have decided to make software development your profession? Good for you. You have a choice to make — how are you going to learn what you need? Is it worth the trouble to go for a university CS degree?
Let’s first look at what your options are.
You could pick up books and online courses. This is how many software people of my generation — who grew up with the early home computers but with no access to computing lessons of any value — did it. …
My definition of adulthood has remained the same for decades. I am sure it is not original to me but I have forgotten where I learned it from. It goes like this:
You become an adult when you realize that everybody is winging it.
As a child, you know there are a lot that you do not understand. Thus, you look up to the adults in your life to make the big decisions. After all, the adults know the secret.
As an adolescent, you know a lot more than when you were a child. It often seems you know enough…
Here’s something that bothered me quite a bit in my last years at the university. I taught various aspects of computer science and programming skills, and a little bit of software engineering, and very rarely did I find any claim I could with a straight face say to be true, not just my opinion.
In the software field we have a tendency to follow fads. Some really smart people come up a way to do something in a way that works for them. They give it s catchy name — object-oriented programming, Scrum, behavior-driven development, and there are many many…