Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "disciplined"
-
writing library code is hard.
there are sooo many details that go into writing good libraries:
designing intuitive and powerful apis
deciding good api option defaults, disallowing or warning for illegal operations
knowing when to throw, knowing when to warn/log
handling edge cases
having good code coverage with tests that doesn't suck shit, while ensuring thry don't take a hundred years to run
making the code easy to read, to maintain, robust
and also not vulnerable, which is probably the most overlooked quality.
"too many classes, too little classes"
the functions do too much it's hard to follow them
or the functions are so well abstracted, that every function has 1 line of code, resulting in code that is even harder to understand or debug (have fun drowning in those immense stack traces)
don't forget to be disciplined about the documentation.
most of these things are
deeply affected by the ecosystem, the tools of the language you're writing this in:
like 5 years ago I hated coding in nodejs, because I didn't know about linters, and now we have tools like eslint or babel, so it's more passable now
but now dealing with webpack/babel configs and plugins can literally obliterate your asshole.
some languages don't even have a stable line by line debugger (hard pass for me)
then there's also the several phases of the project:
you first conceive the idea, the api, and try to implement it, write some md's of usage examples.
as you do that, you iterate on the api, you notice that it could better, so you redesign it. once, twice, thrice.
so at that point you're spending days, weeks on this side project, and your boss is like "what the fuck are you doing right now?"
then, you reach fuckinnnnng 0.1.0, with a "frozen" api, put it on github with a shitton of badges like the badge whore you are.
then you drop it on forums, and slack communities and irc, and what do you get?
half of the community wants to ban you for doing self promotion
the other half thinks either
a) your library api is shitty
b) has no real need for it
c) "why reinvent the wheel bruh"
that's one scenario,
the other scenario is the project starts to get traction.
people start to star it and shit.
but now you have one peoblem you didn't have before: humans.
all sorts of shit:
people treating you like shit as if they were premium users.
people posting majestically written issues with titles like "people help, me no work, here" with bodies like "HAAAAAAAAAALP".
and if you have the blessing to work in the current js ecosystem, issues like "this doesn't work with esm, unpkg, cdnjs, babel, webpack, parcel, buble, A BROWSER".
with some occasional lunatic complaining about IE 4 having a very weird, obscure bug.
not the best prospect either.3 -
I found university very worthwhile, mainly for what it exposed me to that I wouldn’t have necessarily learned otherwise. University exposed me to a lot of knowledge which allowed me to discover the fields and concepts that really interested me. It also forced me to learn math, and I’ve come to really love mathematics, even though my knowledge is still not that deep. I really respect and appreciate math now that I have more than a superficial understanding of it.
CS-wise, the things that have been most useful in practice have been complexity, data structures, concurrency, and others, but complexity is probably the absolute most important thing to at least learn the basics of.
I would not say that university is a necessity though. You can absolutely get by teaching yourself, especially if you are disciplined/interested enough to keep doing it. The important thing is to learn *what* to learn.2 -
Many years ago I had a job as web developer at a small promotions company. The owners loved micromanaging their 7 employees, down to the minute. Work started at 9am, if you were even 1 minute late, you were deducted 1 point. (Even if the weather was bad) Once you were at 10 points, you were disciplined by being given an unpaid vacation day. (Thanks for the day off!). At 12 points, you were fired.
It only took me about 8 months before getting my day off. Somehow I was able to time it perfectly to a job interview at a large company.
Luckily I got the job, and purposely was late the next two days so when they told me I was fired I could tell them I already got a new job (thanks to their 10 pt rule) and I'm out anyway.
At the new job, I'd often drive home and nap on my lunch hour. No one would notice if I came back an hour and a half later.
The owners of the 1st company divorced a few years ago. The husband and I have actually kept in contact over the years. He's a cool guy when you don't work for him. He invited me to a Green Day concert over the summer. Probably makes the above story a little less cool, but at the moment, I was burning bridges!1 -
K&R Like it or not, everything that we use was impacted by the advantage of having the C Programming language on our side. C is still to this day a cornerstone of what a a language should be, nothing more nothing less.
John McCarthy the creator of Lisp and the one that coined Artificial Intelligence as a topic, a term, without him if else statements would have probably taken a while longer to figure out the way my boy did. Lisp will make you a better developer.
Alan Kay, creator of OOP, yeh we had ways to emulate this with C before, bit without his contribution to what I believe to be the purest form of oop we would not haveany additional things. Smalltalk is still the best programming language in my humble opinion.
Terry A Davis, disciplined, and crazy, the man built a skyscraper by himself, God knows what he would have done if he weren't afflicted by mental illness.
Linus Torvalds, for many different things, creator of the kernel that would power my favorite operating system.
Ryan Dhal, took the world by storm with Node.js -
The longer I work on front-end the more controversial my opinions become:
- Styling a button with display:flex is dumb.
- The DOM is not hard, unlike what the React team wants to have you believe.
- Specifying a <form> action matters, even if it's empty
- ES5 was the real JS revolution, ES6 mostly sugar-coated marketing
- Disciplined BEM (S)CSS is simple and flexible enough for most needs (vs CSS-in-JS, CSS modules)
- If editor support for Jsdoc were as advanced as Typescript, you wouldn't need the latter.
- There are cases where using floats and inline-block displays is better than the flex CSS box model12 -
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Ahh yess....
Clean code..
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15 -
Disciplined to name a folder as 'Folder' in Windows and Lazy to name as 'folder' in Linux.
*Not wanting to press 'shift' key everytime to access.1 -
Seriously, does anyone really use TDD? It sound good in theory, but generally the devs are already used to implementation-first and are not willing/disciplined enough to change their mindset.
I think the biggest disadvantage of TDD is not taking into account how freaking lazy developers are in general.
Or maybe I just wasn't willing enough to make the change.
Thoughts?9 -
rust has taught me discipline
my life-long disposition to laziness is suddenly no more
I hate it, thanks
I've always viewed the unlazy and highly disciplined as a loser class. now what3 -
Guys, how do you stay disciplined as a programmer ? I mean how do you manage to work , work and learn for your side projects and also maintain your health ans social life. Is it possible ?1
-
!dev
Sometimes I feel like I should have been a girl.
I'd have been cleaner, tidier, more disciplined, had a definite life purpose, and handwriting that didn't look like a beetle dipped in ink crawling on paper.18 -
I am an average Dev who is striving to improve. I currently work in a setting where I have the most experience in a corporate setting. I came from a very disciplined team where I had a great mentor. Now I am in a looser team with very bright people who don't have that experience. They are mainly JavaScript devs without much production experience. We are working in .net but they don't like working with back end code or databases. This is a 3 month contract. I want to do a good job. I have made enemies in the past and I just want to leave on a good note.
-
!rant
Experienced devs please tell help me.
Learning software development has been a challenge. Many times it's frustrating.
I also learn languages and I find them to share one trait with software development, which is complexity.
At first I looked at languages the way I'm currently doing with software. I'd look in a new language and after decided it's cool to learn it, I would stare at it for a few weeks trying to realize what the heck I was going to do. I wouldn't even know how to get started.
Eventually this stage goes away and I think that is about to happen with me with software.
But then a new challenge would come, which is me not making progress as I wanted. That's sort of happening with me by learning software as well, bit in language I now know how to deal with it.
That's because I work full time with something that isn't in my interests and when I arrive home Im tired and want to relax. So I decided my language learning had to go slower as long as I have this job, meaning no hours spent in front of books or a pc studying - that's what I could do with English, I was a teenager and had 12 hours a day to do whatever I wanted.
So I usually spent 5 minutes here and there learning something in my target language when I can, no frustration needed, my only rule is: practice everyday, even if I don't learn anything new.
With software, that doesn't apply though.
So, what I mean by tracing a parallel between these to fields is that I have a strong conviction is that once you get the principles on how a certain kind of learning works, you can apply it everywhere in the field. But with software it's been harder.
Anyways, I see that are some principles that apply, cause trying to learn software is changinge and teaching a lot of things like:
*you have to read a lot (of documentation) . At first I thought all documentation was painful to read and understand, but I found out some software are well documented and one can use those only to get used with it.
*immersion / discipline are important. I'm not very disciplined, I'm better with immersion but both are important if you need to acquire complex subjects/skills
*how to deal with complexity. I installed Arch Linux a few days ago. Just to install it I ended up reading more than 20 pages of documentation (install guide, Wpa supplicant, systemd, networkd, xorg, etc etc). Gradually I'm realizing that when you have to install/tweak something in that distro you necessarily spend a bunch of time trying to understand how it works, otherwise you don't get too far like in Ubuntu or Debian.
*and lastly the one that bothers me. Constantly getting frustrated and feeling crap about my poor skills. No matter how much I progress, it still seems like I'm stuck.
(that's when I ask your help/opinion :) )4 -
How to become disciplined? as in "i wanted to watch this physics lecture but ended up watchinh some creationists debunking their ovn theory"1
-
Why i cannot find partners to form a team to write mvp's and products ? Everyone either look only his company job either is too not-disciplined. I try to find what i am doing wrong in that. I can provide more info about that. Why no one wants to be a free "wizard" negotiating with his own terms (e.g. i want to work at night) and everything now is fitting on companies culture etc.4