aboutsummaryrefslogtreecommitdiff
path: root/public/software-development-pitfalls.html
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2023-10-29 14:41:39 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2023-10-29 14:41:39 +0100
commit2836163e54e3b94342113314e70ee564c456c43e (patch)
tree59b82fc69e83cc6d92846a8e9f510b0bb865cf3b /public/software-development-pitfalls.html
parentd50ea4053ea04abb3a455606d4591a8283af0677 (diff)
downloadmitjafelicijan.com-2836163e54e3b94342113314e70ee564c456c43e.tar.gz
Added public folder to git so it get get deployed on vercel
Diffstat (limited to 'public/software-development-pitfalls.html')
-rwxr-xr-xpublic/software-development-pitfalls.html133
1 files changed, 133 insertions, 0 deletions
diff --git a/public/software-development-pitfalls.html b/public/software-development-pitfalls.html
new file mode 100755
index 0000000..d1f564f
--- /dev/null
+++ b/public/software-development-pitfalls.html
@@ -0,0 +1,133 @@
1<!doctype html><html lang=en-us><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel=icon type=image/x-icon><title>Software development and my favorite pitfalls</title><meta name=description content="Over the years I had the privilege to work on some very excited projects both insoftware development field and also in electronics field and every experiencetaught me some invaluable lessons about how NOT TO approach development."><link rel=alternate type=application/rss+xml title="Mitja Felicijan's posts" href=https://mitjafelicijan.com/index.xml><link rel=alternate type=application/rss+xml title="Mitja Felicijan's notes" href=https://mitjafelicijan.com/notes.xml><style>body{padding:1rem;max-width:760px;background:#fff;font-family:sans-serif;line-height:1.35rem;font-size:16px;margin:0 auto}hr{margin-block-start:1.5rem}h1,h2,h3{line-height:initial}h1{font-size:xx-large}footer{margin-block-start:2rem}cap{text-transform:capitalize}table{max-width:100%;width:100%;border-collapse:separate;border-spacing:2px;border:1px solid #000;border-left:1px solid #999;border-top:1px solid #999}blockquote{font-style:italic}table thead{background:#eee}ul.list li{padding:.2em 0}ul{line-height:1.4em}td,th{border:1px solid #000;padding:4px;border-right:1px solid #999;border-bottom:1px solid #999;text-align:left}pre{text-wrap:nowrap;overflow-x:auto;padding:0 1em;border:1px solid #dcdcdc}code{padding:0 3px;font-size:14px;border:0}pre code{line-height:1.3em}pre,code,pre *,code *{font-family:monospace}figure{margin-inline-start:0;margin-inline-end:0}figcaption{text-align:center}figcaption p{margin:.3em 0 0}img,video,audio{max-width:100%}header{display:flex;flex-direction:row;gap:3rem}nav{display:flex;gap:.75rem}nav.main{flex-grow:1}.pstatus-orange{background:gold}.pstatus-green{background:#9acd32}.pstatus-red{background:#cd5c5c}@media only screen and (max-width:600px){body{padding:15px}header{flex-direction:column;gap:1rem}a{word-wrap:break-word}}</style><header><nav class=main itemscope itemtype=http://schema.org/SiteNavigationElement role=toolbar><a href=/>Home</a>
2<a href=https://git.mitjafelicijan.com/ target=_blank>Git</a>
3<a href=https://files.mitjafelicijan.com/ target=_blank>Files</a>
4<a href=/radio.pls target=_blank>Radio</a>
5<a href=/mitjafelicijan.pgp.pub.txt target=_blank>PGP</a>
6<a href=/curriculum-vitae.html>CV</a>
7<a href=/index.xml target=_blank>RSS</a></nav></header><main role=main><article itemtype=http://schema.org/Article><h1 itemtype=headline>Software development and my favorite pitfalls</h1><p><cap>post</cap>, Nov 10, 2015 on <a href=https://mitjafelicijan.com>Mitja Felicijan's blog</a><div><p>Over the years I had the privilege to work on some very excited projects both in
8software development field and also in electronics field and every experience
9taught me some invaluable lessons about how NOT TO approach development. And
10through this post I will try to point out some absurd, outdated techniques I
11find the most annoying and damaging during a development cycle. There will be
12swearing because this topic really gets on my nerves and I never coherently
13tried to explain them in writing. So if I get heated up, please bear with me.<p>As new methods of project management are emerging, underlying processes still
14stay old and outdated. This is mainly because we as people are unable to
15completely shift away from these approaches.<p>I was always struggling with communication, and many times that cost me a
16relationship or two because I was not on the ball all the time. Through every
17experience, I became more convinced that I am the problem and never ever doubted
18that the problem may be that communication never evolved a single step from
19emails. And if you think for a second, not many things have changed around this
20topic. We just have different representations of email (message boards, chats,
21project management tools). And I believe this is the real issue we are facing
22now.<p>There are many articles written about hyper connectivity and the effects that
23are a direct result of it. But mainstream does nothing towards it. We are just
24putting out fires, and we do nothing to prevent it. I am certain this will be a
25major source of grief in coming years. And what we all can do to avoid this is
26to change our mindset and experiment on our communication skills, development
27approaches. We need to maximize possible output that a person can give. And to
28achieve this we need to listen to them, encourage them. I know that not
29everybody is a naturally born leader, but with enough practice and encouragement
30they also can become active participants in leadership.<p>There are many talks now about methodologies such as Scrum, Kanban, Cleanroom
31and they all fucking piss me of :). These are all boxes that imprison people and
32take away their freedom of thought. This is a straightforward mindfuck /
33amputation of creativity.<p>Let me list a couple of things that I find really destructive and bad for a
34project and in a long run company.<h2 id=ping-emails>Ping emails</h2><p>Ping emails are emails you have to write as soon as you receive an email. Its
35sole purpose is to inform the sender that you received their email, and you are
36working on it. Its result is only to calm down the sender that their task is
37being dealt with. It’s intent basically is, I did my job by sending you this
38email, so I am on clear grounds. I categorize this email as fuck you email.
39This is one of the most irritating types of emails I need to write. This is the
40ultimate control freak show you can experience, and it gives the sender a false
41feeling of control. Newsflash: We do not live in 1982 where there was a
42possibility that email never reached the destination. I really hate this from
43the bottom of my heart.<p>They should be like: “Yes, I am fucking alive, and I am at your service my
44leash!”. I guess if I would reply like this, I wouldn’t have to write any more
45of this kind of messages.<h2 id=everybody-is-a-project-manager>Everybody is a project manager</h2><p>Well, this is a tough one. I noticed that as soon as you let people to give
46their suggestions, you are basically screwed. There is a truth in the saying:
47“Give low expectations and deliver little more than you promised.”.<p>People tend to take a role of a manager as soon as they are presented with an
48opportunity. And by getting angry at them, you only provoke yourself. They are
49not at fault. You just need to tell them they are only giving suggestions and
50not tasks at the beginning and everything will be alright. But if you give them
51a feeling that they are in control, you will have immense problems explaining
52why their features are not in current release.<p>Project mission must be always leading project requirements and any deviation
53from it will result in major project butchering. And by this, I mean that the
54project will get its own path, and you will be left with half done software that
55helps nobody. Clear mission goals and clean execution will allow you to develop
56software will clear intent.<h2 id=we-are-never-wrong>We are never wrong</h2><p>I find this type of arrogance the worst. We must always conduct ourselves that
57we are infallible and cannot make mistakes. As soon as a procedure or process is
58established, there is no room for changes or improvements. This is the most
59idiotic thing someone can say of think. I think that processes need to involve
60and change over time. This is imperative and need to have in your organization
61if you want to improve and develop company. We all need to grow balls and change
62everything in order to adapt to current situations. Being a prisoner of
63predefined processes kills creativity.<p>I am constantly trying new software for project managing and communication. I
64believe every team has its own dynamic, and it needs to be discovered
65organically and naturally through many experiments. By putting the team in a
66box, you are amputating their creativity and therefore minimizing their
67potential. But if you talk to an executive, you will mainly find archetypical
68thinking and a strong need to compartmentalize everything from business
69processes to resource management. And this type of management that often
70displays micromanagement techniques only works for short periods (couple of
71years) and then employees either leave the company or become basically retarded
72drones on autopilot.<h2 id=micromanaging>Micromanaging</h2><p>This basically implies that everybody on the team is an idiot who needs to have
73a to-do list that they cannot write themselves. How about spoon-feeding the team
74at launch because besides the team leader, everybody must be a retarded idiot at
75best?<p>I prefer milestones as they give developers much more freedom and creativity in
76developing and not waste their time checking some bizarre to-do list that was
77not even thought through. Projects constantly change throughout the development
78cycle, and all you are left at the end is a list of unchecked tasks and the
79wrath of management why they are not completed. Best WTF moment!<h2 id=human-contact--no-need-for-it>Human contact — no need for it!</h2><p>We are vigorously trying to eliminate physical contact by replacing short
80meetings with software, with no regards that we are not machines. Many times a
81simple 5-min meeting at morning can solve most of the problems. In rapid
82development, short bursts of man to man communication is possibly the best way
83to go.<p>We now have all this software available, and all what we get out of it is a
84giant clusterfuck. An obstacle and not a solution. So, why we still use them?<h2 id=mvp-is-killing-innovation>MVP is killing innovation</h2><p>Many will disagree with me on this one, but I stand strong by this statement.
85What I noticed in my experience that all this buzz words around us only mislead
86and capture us in a circle of solving issues that already have a solution, but
87we are unable to see it without using some fancy word for it.<p>The toughest thing to do for a developer is to minimize requirements. Well, this
88is though only for bad developers. Yes, I said it. There are many types of
89developers out there. And those unable to minimize feature scope are the ones
90you don’t need on your team. Their only goal is to solve problems that exist
91only in their heads. And then you have to argue with them, and waste energy on
92them, instead of developing your awesome product. They are a cancer and I
93suggest you cut them off.<p>MVP as an idea is great, but sadly people don’t understand underlying
94philosophy, and they spent too much time focusing and fixating on something that
95every sane person with normal IQ will understand without some made up
96acronym. And the result is a lot of talking and barely no execution.<p>Well, MVP is not directly killing innovation, but stupid people do when they try
97to understand it.<h2 id=pressure-wasteland>Pressure wasteland</h2><p>You must never allow to be pressured into confirming a deadline if you are not
98confident. We often feel a need that we are in service of others, which is true
99to some extent. But it is also true that others are in service to us to some
100extent. And we forget this all the time. We are all pressured all the time to
101make decisions just to calm other people down. And when they leave your office
102you experience WTF moment :) How the hell did they manage to fuck me up again?<p>People need to realize that the more pressure you put on somebody, the less they
103will be able to do. So 5-min update email requests will only resolve in mental
104breakdown and inability to work that day. Constant poking is probably the only
105thing I lose my mind instantly. For all you that are doing this: “Stop bothering
106us with your insecurities and let us do our job. We will do it quicker and
107better without you breathing down our necks.”<p>If this happens to me, I end up with no energy at the end. Don’t you get it?
108You will get much more from and out of me if you ask me like a human person and
109not your personal butler. On a long run, you are destroying your relationships
110and nobody would want to work with you. Your schizophrenic approach will damage
111only you in a long run. Nobody is anybody’s property.<h2 id=conclusion>Conclusion</h2><p>I am guilty of many things described in this post. And I find it hard sometimes
112to acknowledge this. And I lie to myself and try vigorously to find some
113explanation why I do these things. There is always space for growth. And maybe
114you will also find some of yourself in this post and realize what needs to
115change for you to evolve.</div></article></main><section><hr><h2>Posts from blogs I follow around the net</h2><ul><li><a href=https://chotrin.org/writing/2023-10-20.html target=_blank rel=noopener>OpenBSD upgrade and fall things.</a><div>Been AFK for a bit. It's autumn and I upgraded this server to OpenBSD 7.4! — <a href=https://chotrin.org>chötrin's wiki.</a><li><a href=https://mirzapandzo.com/next-image-url-parameter-is-valid-but-upstream-response-is-invalid target=_blank rel=noopener>Next/Image "url" parameter is valid but upstream response is invalid</a><div>Getting "url" parameter is valid but upstream response is invalid error with Next/Image on WSL2 — <a href=https://mirzapandzo.com/>Mirza Pandzo's Blog</a><li><a href=https://drewdevault.com/2023/10/13/Going-off-script.html target=_blank rel=noopener>Going off-script</a><div>There is a phenomenon in society which I find quite bizarre. Upon our entry to
116this mortal coil, we are endowed with self-awareness, agency, and free will.
117Each of th… — <a href=https://drewdevault.com>Drew DeVault's blog</a><li><a href=https://solar.lowtechmagazine.com/2023/10/workshop-in-rotterdam-how-to-build-a-bike-generator/ target=_blank rel=noopener>Workshop in Rotterdam: How to Build a Bike Generator</a><div>Afbeelding: Low-tech Magazine workshop in Rotterdam, the Netherlands. Poster: Marie Verdeil. Image: Sara Vercauteren
118The workshop takes place on behalf of the “Hou… — <a href=https://solar.lowtechmagazine.com/posts/>LOW←TECH MAGAZINE English</a><li><a href="http://offbeatpursuit.com:80/blog/?id=24" target=_blank rel=noopener>Printf debugging</a><div>tags:
119plan9
120There’s no shame in that. Yes, there is documentation, code to be
121read, and debuggers to be used. But sometimes you just need to “see”
122what is happening.
123So… — <a href=http://offbeatpursuit.com:80/blog/>WLOG - blog</a><li><a href=https://neil.computer/notes/chart-of-accounts-for-startups-and-saas-companies/ target=_blank rel=noopener>Chart of Accounts for Startups and SaaS Companies</a><div>Accounting is fundamental to starting a business. You need to have a basic understanding of accounting principles and essential bookkeeping. I had to learn it. Ther… — <a href=https://neil.computer/>Neil Panchal</a><li><a href=https://journal.valeriansaliou.name/deploy-a-nomad-cluster-on-alpine-linux-with-vultr/ target=_blank rel=noopener>Deploy a Nomad Cluster on Alpine Linux with Vultr</a><div>After spending countless hours trying to understand how to deploy my apps on Kubernetes for the first time to host Mirage, an AI API service that I run, I ended up … — <a href=https://journal.valeriansaliou.name/>Valerian Saliou</a><li><a href=https://jcs.org/2023/10/17/wikipedia target=_blank rel=noopener>Wikipedia Reader 1.0 Released</a><div>Wikipedia Reader
1241.0 has been released:
125wikipedia-1.0.sit
126(StuffIt 3 archive, includes
127source code
128and THINK C 5 project file)
129SHA256: 360e12d064f6579695f1e627ce34cb2f0… — <a href=https://jcs.org/>joshua stein</a></ul><p><a href=https://git.sr.ht/~sircmpwn/openring>Generated with openring.</a></section><footer><hr><p><big><strong>Want to comment or have something to add?</strong></big><p>You can write me an email
130at <a href=mailto:m@mitjafelicijan.com>m@mitjafelicijan.com</a> or
131catch up with me <a href=https://telegram.me/mitjafelicijan target=_blank>on Telegram</a>.<hr><p>This website does not track you. Content is made available under
132the <a href=https://creativecommons.org/licenses/by/4.0/ target=_blank rel=noreferrer>CC BY 4.0 license</a> unless specified
133otherwise. Blog is also available as <a href=/index.xml target=_blank>RSS feed</a>.</footer> \ No newline at end of file