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 - "mastery"
-
<rant>
My colleague (female) hooked up with me, made me do all her project work and dumped me as soon as it was complete.
</rant>41 -
# realstory
One of my colleague's monitor got damaged. While the service guys took the monitor for repair, she sat free. When the manager asked her to connect to a spare monitor and resume work, she asked how could she? As all her work was saved in previous monitor.6 -
My first software teacher almost made me quit programming for life.
She spent the entire year not showing us how to make a shity app in visual basic. Zero help. We all hated it.
At the end of the year and she realised she had 'forgotten' to teach us 70% of the course. We all failed miserably! I didn't touch programming for almost 3 years. (unless you could MATLAB, which I don't).
That was when I discovered Mehran Sahami's CS106A course on the Stanford website. Honestly the best teacher I've never met! His passion is boundless and mastery of teaching is second to none. Thanks to him I discovered programming and I love it! Karol the robot should get a special mention too!
Good teachers make the world of difference.6 -
Want a backend in Node? You got it. PhP using the plethora of frameworks available? No problem.
Feeling like a gipsy guitarrist and want to lay it down with Django? Good taste!
In a hurry and need your startup off the ground with React integration in rails? Piece of cake.
Feeling springy and want you some coffee and Java with your app? A la carte.
Wanna pull my leg and force me to do .net? Mm ok if you insist.
You sure you want Perl with that? Ok no problem.
.....but you sit me and my awesome powers of backend mastery and force me to do css and design all week and you literally destroy my soul......this shit is soul crushing I swear.....7 -
Tru story:
We have a folder that we keep as shared documentation known as Javascript And PHP Fuckery made by yours truly in which I added a bunch of fixes to fuckery written in those 2 languages by previous developers.
The entire department has access to those files(as in all of IT) and I have been commended by the head of our department for my determination and uncanny ability to spot fuckery and fix it.
He says that he "thoroughly enjoys my colorful mastery of language, sarcasm and cognitive imagery when dealing with documentation regarding the code horrors done by previous developers"
By cognitive imagery he said that he meant my thought process and that he wouldn't trust a developer that does not use this language.
Fucking killing it b.
I'll let y'all(as in youse) when I am done with my Book(if anyone here steals the idea of the title as js php fuckery i am gonna sue you)1 -
Updated goal in regards to my road to machine learning mastery.
Status: new found motivation
Motivational case: bring humanity closer to having 2B become a real thing.
Reason: big booty droids should be a right to humanity.
End of transmission.
On another note, the sony xperia compact is a real nice device, so is the note 8. I would prob go with the note for power but the size of the xperia is more convenient for my taste.1 -
Question to all you web developers out there: how do you survive long term in this job without going nuts? I have been working in this industry for almost 7 years and feelings of frustration have accumulated, to the point where I honestly feel like laying g bricks as a job would be more rewarding. Here are the main reasons why:
1) The fact that your job is never "finished" and it looks like and endless stream of tasks. Either the project has money being rolled in or is pretty much dead. Ever changing requirements ensure that most of what you do will be rewritten in 6 months or so. This is ok for the most part, but overtime it does give you the feeling that most of your effort was wasted, and you have the same website/app to show for it, slightly different...
2) The never ending churn of tech, particularly in the Javascript/node ecosystem. Sure, there is a good side of learning new approaches of doing things and it brings variety, but there is the dark side that you never feel you are getting better at doing your job, as every new project does not look anything like the previous. Even if all the stack pieces are the same (never happens), everyone sets it up and organises the project differently enough that you have to spend loads of time solving things you have done before. This makes it difficult to get a sense that you are mastering something...
So, if autonomy, purpose, and mastery are the keys to fulfilling work, I find this career lacking in mastery and purpose...does anyone feels/felt the same? How did you counter it?3 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
I started my actual gig as CTO of construction group (Innovation Hub) a year ago. And it was a hell of a ride, implementing kind of a scrum-ban for project management, XP, peer-reviews, a git-flow, git commit message formats, linters, unit testing, integration tests, etc...
And it's the fun part because with the CIO we had to drive the board to do A LOT of changes in their IT/Innovation drive.
But in one year there is a lot of KPI that went up :
* Deployment: When I arrived it took three stressful days to deploy a new version of one application, once a month. Today we do it every week, and it takes three annoying hours.
* We had no test. NOTHING! Today we have 85% code coverage for the unit test, and automatic integration tests run by our CI server every day.
* We had almost no documentation. Today our code is our documentation (it automatically extracted and versioned).
* We had 0 add value in the use of git. With commit messages as "dev", "asked task", inside jokes and a lot of "fix" and "changes". Today we have a useful git, and we even use it to create our deploy changelogs (and it's only mildly annoying!).
* More important, the team is happy! They get their purpose, see betterment in their tech mastery. They started doing conception, applicative architecture, presentations, having fun.
There is still a LOT of bad things we are still working on, and trying to solve (support workflow and betterment). But seeing what they already did, I'm so proud of my TEAM! I'm a fucking asshole, workaholic, "just do it" kind of guy. But they managed to achieve so much. Fucking PROUD!! -
Imagine you work in a mechanic’s shop. You just got trained today on a new part install, including all the task-specific tools it takes to install it.
Some are standard tools, like a screwdriver, that most people know how to use. Others are complicated, single-purpose tools that only work to install this one part.
It takes you a couple of hours compared to other techs who learned quicker than you and can do it in 20 minutes. You go to bed that night thinking “I’ve got this. I’ll remember how this works tomorrow and I’ll be twice as fast tomorrow as I was today.”
The next morning, you wake up retaining a working, useful memory of only about 5% on how to use the specialized tools and installation of the part.
You retrain that day as a review, but your install time still suffers in comparison. You again feel confident by the end of the day that you understand and go to bed thinking you’ll at least get within 10-20 minutes of the faster techs in your install.
The next morning, you wake up retaining a working, useful memory of only 10% on how to use the specialized tools.
Repeat until you reach 100% mastery and match the other techs in speed and efficiency.
Oops! Scratch that! We are no longer using those tools or that part. We’re switching to this other thing that somehow everyone already knows or understands quickly. Start over.
This has been my entire development career. I’m so tired.2 -
Not the code review itself, but having repeatedly to nag my project leader just to get a review is the worst.
I'm "only" a student and it's a project without fix deadlines so it's alright with me that it is low priority.
But - I want to learn something here, I really do, I'm new to C# and far from mastery. Apart from that my focus was mainly hardware during the last years.
I need some fucking brutal and honest criticism on my code, damnit!
That's all.5 -
So another story about college and stupid team assignments that I have to be responsible for dealing with.
So we had an assignment in operating systems 1 course, it was about memory management and we are a team of 3. Then came the time when we should discuss this assignment with the TA and that day I had to stay all night finishing a project in software engineering (literally giving us a description of a big project because that's what the course teaches And I had to finish it in one all nighter alone because my teammates just gave up).
When the discussion time came I was really tired and then the TA asks me something really simple and I say it but then she tells me that I'm wrong so I wondered a bit and then said no what I said was right! She then asks my teammate (who we are supposed to be good friends) "did he say the right thing?" And his answer is a definitive "NO he's wrong" and then he starts to say the right answer which I swear I said the same but in a different way so I start to say again that I was right and say that I said that just a different way and she took that as an insult and said that I'm shouting at her and being disrespectful to her.
When we finished I asked my friend if he heard me say it wrong and he said "I'm sorry but I didn't even hear what you said and I was afraid" WHAT THE FUCK, he just said that I was wrong to please her and make her feel like she is right and I had to be the wrong one even though I said it right but NOoo her pride is more important
All this was last semester and the second semester just started today and I go into operating system 2 and guess what? The TA got her doctorate and is now the professor for OS 2 when she doesn't even understand anything.
Really FUCK the academic system it feels like it is a grind more than actually gaining mastery of a subject.2 -
My dev lead is a uniquely poor leader with an impressive ability to produce a large amount inflexible, temporarily functional code.
As we're in another pair programming session where I try to keep him from destroying over all type safety and architectural decisions to meet a self imposed demo deadline, he keeps trying to access properties of his state.
This state object is incorrectly typed with an anonymous type with incorrect properties.
Despite repeating calmly stating that the object is incorrectly typed, and that's why there are red underlines when he tries to access a property he knows is in there, he insists that that's not correct.
Finally, he knowingly says that he's figured it out and that he's been doing this for many years.
What was the solution you might ask? (state as any).myProperty;
Truly breathtaking mastery. -
I edited my project's github page and changed the background and buttons....
I guess it's time to add css and html mastery to my resume 😉 -
Ok, so I need some clarity from you good folk, please.
My lead developer is also my main mentor, as I am still very much a junior. He carved out most of his career in PHP, but due to his curious/hands-on personality, he has become proficient with Golang, Docker, Javascript, HTML/CSS.
We have had a number of chats about what I am best focusing on, both personally and related to work, and he makes quite a compelling case for the "learn as many things as possible; this is what makes you truly valuable" school of thought. Trouble is, this is in direct contrast to what I was taught by my previously esteemed mentor, Gordon Zhu from watchandcode.com. "Watch and Code is about the core skills that all great developers possess. These skills are incredibly important but sound boring and forgettable. They’re things like reading code, consistency and style, debugging, refactoring, and test-driven development. If I could distill Watch and Code to one skill, it would be the ability to take any codebase and rip it apart. And the most important component of that ability is being able to read code."
As you can see, Gordon always emphasised language neutrality, mastering the fundamentals, and going deep rather than wide. He has a ruthlessly high barrier of entry for learning new skills, which is basically "learn something when you have no other option but to learn it".
His approach served me well for my deep dive into Javascript, my first language. It is still the one I know the best and enjoy using the most, despite having written programs in PHP, Ruby, Golang and C# since then. I have picked up quite a lot about different build pipelines, development environments and general web development as a result of exposure to these other things, so it isn't a waste of time.
But I am starting to go a bit mad. I focus almost exclusively on quite data intensive UI development with Vue.js in my day job, although there is an expectation I will help with porting an app to .NET Core 3 in a few months. .NET is rather huge from what I have seen so far, and I am seriously craving a sense of focus. My intuition says I am happiest on the front end, and that focusing on becoming a skilled Javascript engineer is where I will get the biggest returns in mastery, pay and also LIFE BALANCE/WELLBEING...
Any thoughts, people? I would be interested to hear peoples experiences regarding depth vs breadth when it comes to the real world.8 -
"Technical skill is mastery of complexity, while creativity is mastery of simplicity." - Christopher Zeeman
-
Today I woke up 🌅 wanting to write code that is more art 🎨🖌️ than just the usual dry technical stuff...
I want to look at my commits this afternoon and feel proud about mastery and craft!2 -
Made a small text adventure type game with C++ when I was a kid. Was great to just play that over and over and revel in my mastery of if statements and while loops.
-
Joomla, motherfucking Joomla. It was supposed to make managing content easy. With just a little coding you could make a fully functional, multi page website. Ugh. It took more time to master the oddities and weirdness of Joomla than it would have to just code the fucker.
This taught me the painful lesson that there are no REAL shortcuts. Useful “shortcuts” in development are just abstractions over mastery of a task. There are many more shortcuts that are more like dangerous hacks, and Joomla is rife with them and opens a lot of opportunities to make more.2 -
"Every practice has a set of rules which governs it. Mastery occurs with the realization of these rules. Innovation occurs at the point of intelligent and creative rebellion against them." - Fiel Valdez
-
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
Ouch. Difficult decision ahead. Be 30 years old. Have a decent amount of experience on the .net stack.
Ditch it all and go all in on Java EE or continue to pursuit mastery of .net?5 -
"[Designers’] primary competence lies not in the technicalities of a craft but in the mastery of a process." - Ralph Caplan
-
For those of you in college or university...
I'm taking on my first project as a part of a second year. In a team of 3 people total, we have to build an application for a client of our choosing. Whilst we don't exactly know who or what we are doing, does anyone have any advice?
I have a book on scrum mastery but I would like to ask the community for advice.1 -
If you compare a software developer's job with another, let's say a doctor or a lawyer, the former doesn't require mastery and there is continuous chase on fast changing version numbers or an entire platform coming out. Former innovates without question and gets burned out in the process. While the latter demands mastery of certain fields and the specialization isn't diverse enough compared to former. Yet the pay for latter might be higher. What are the pros and cons have you felt as a developer and how do you cope to address it internally? Is it just the thrill and excitement of new things coming out? What fulfillment do we get aside from the satisfaction of clean code, unit test and successful deployments? How much impact have we really given? And is there a place for developers to final settle down? Don't get me wrong; I won't stop until death probably but I hope adulting responsibilites won't make us break.
-
👇 Many people argue whether software engineers need to be good at concepts like data structures, algorithms, and system design.
Also, they think that companies should stop making their hiring decisions based on testing these concepts.
I think a basic understanding of all of the above is really necessary if you want to be a good engineer.
There can be a discussion on whether an engineer needs a mastery of the advanced topics or not.
However, a basic understanding of data structures, algorithms, and system design is essential for engineers.
Why is that?
I think overall; every software application has two parts:
◉ Data (Micro-level)
◉ Design (Macro-level)
Almost every engineer deals with both of these, depending on their role in the team.
If you're a junior engineer, you may not do that much on the design side. However, your most work would be on the micro-level, i.e., dealing with data.
If you're a senior engineer, you may work more on the macro-level, like designing the architecture, structure, arrangement of different parts, and other related stuff.
A good understanding of data structures and algorithms enables you to be good at manipulating data. So it will help you to deal with data efficiently, and you'd be able to make good decisions at the micro-level.
However, to be good at designing the architecture, you'd need to be good at dealing with different parts of the system on the macro-level. This is where system design principles help you.
This is why you need to understand the basics of both.
👉 Do you think engineers need to be good at data structures and algorithms alongside system design?3 -
Really frustrating is when business asks you to finish large tasks in an unreasonable amount of time (4-8 hours). As a Medior developer, my speed is not at hours, but at days/weeks. Perhaps if I were a Senior with absolute mastery I could achieve such speeds.
They don't seem to understand programming takes a lot of thinking, testing, debugging and communicating, which not always necessarily sync. Some people are busy and others are jerks.3 -
Whenever we have to do Sprint Retros i feel like i am trapped in self-help group.
Recently, we had to describe our work/team like we would do amazon reviews. That is, we had to write "reviews" about our last sprint.
I sincerely would like to know why we can't discuss problems like grown adults, if there are any. Why do we have to pretend we are in a space rocket, on a sailing boat, in a formula one race car or reviewing amazon articles to articulate our needs?
I feel like developers are treated like stupid, little kids, and the majority of the developers don't have a problem with it.4 -
"[Designers’] primary competence lies not in the technicalities of a craft but in the mastery of a process." - Ralph Caplan1
-
It basically gave a deep meaning of professional life. In coding I found my life's pursuit for mastery. The only regret is that I found it quite late and now I have a small regret of not diving into it sooner.
-
1. Purpose: Being at the forefront of discovering how and helping to automate business processes in all domains and learn about "how things work"
2. Relative autonomy
3. Mastery (of languages, concepts, methods) -
Nobody is here, right? So, I can complain without sounding mean...
Vue Mastery and Vue School are both absolute nightmare education offerings.
That's all. Mindbogglingly invaluable.
Maybe it's the churn... but also - you could rerecord those videos in a week or two and have them updated... easy...4 -
You know you've mastered a framework when you can help the offshore dev with errors and bugs without looking at anything.
-
Been trying to learn component-oriented programming to develop front ends for a year but still can't get beyond a simple app or game. Specifically, I have been learning Vue on YouTube, Vue Mastery, and multiple other blog posts.
Any recommendations or maybe new methods of learning?5