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 - "pick the right tools"
-
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
TL;DR: If you're an Android user, do yourself a favour and check out https://simplemobiletools.com/ . You're welcome.
Dear diary, today was a good day.
A small part of my faith in humanity was recovered after I found about Tibor Kaputa.
Apparently, this guy - like many of us - was fed up with the bloat, bugs, bullshit and 'features' of many of the stock Android apps that come preinstalled on most phones. And so, he decided to make his own.
Unlike most of us however, he actually pulled through. And then he made them open source.
No bullshit permission requirements.
No ads or tracking.
Custom themes.
And no, not just 'toggle white/dark mode', I'm talking 'pick your own color scheme', both within the app and for the app icon (!).
And then sync your colour scheme across the entire suite of apps (!!).
Simple UI, with a lot of customizable settings.
And if you get them from f-droid, it's all completely free as in BEER too!
I've spent a lot of time in the last year trying to find software that does what it's supposed to do well, without trying to pull any sneaky bullshit in the background or annoy me with crap that I don't care about in a miserable attempt to show off its useless features.
I'm not a fan of Medium myself either, but the author's article about how his suite of apps was born really resonated with me. If you care about privacy, open source software, and doing things right, you should really give it a read: https://medium.com/@tibbi/...
I'm particularly a fan of the Gallery, the File Manager, and the Music player apps, and the others don't look half bad either.11 -
Like most people I needed some extra cash during uni, so I proceeded to learn CSS + Photoshop (yeah, I know). Followed by PHP and WordPress.
It can be a very shitty platform until you realize that you can stop combining plug-ins from all over the place with dubious code quality and roll your own.
Anyhow I kept at it until I was able to join a niche company doing a quite popular caching plug-in for WP (yeah, W3 Total) when I suddenly became *very* interested in anything and everything performance.
This landed me a very cozy consulting gig in the Nordics - they were using WP for an elephant-traffic website and had run into a myriad of perf issues.
Fixing them and breaking the monolith awarded me with skills in nodejs, linux, asynchronous caching among others.
I was soon in charge with managing the dev boxes for the entire team, and when the main operations dude left, I was promoted to owning the entire platform. (!) Tinkering with Linux for most of my life really came in handy here. (remember Debian potato?)
Used saltstack + aws cloudformation to achieve full parity between all environments. Learned myself some python and all various tips and tricks which in the end amounted to 90% reduction in time-to-first-byte and considerable cost savings.
By the end of the 2yr contract I had turned myself into a fullstack systems engineer and never looked back.
Lawyers not getting along resulted in us having to abandon NewRelic, so I got to learn and deploy the ELK stack as a homegrown replacement, which was super-fun.
Now I work in the engineering effectiveness department of a Swedish fintech unicorn where all languages under the Sun are an option (tho we prefer Python), so the tech stack is unlimited. Infinite tools and technologies, but with strong governing principles and with performance always in mind so as to pick the right tool for the job.
It's like that childhood feeling when you've just dumped a ton of Lego on the floor and are about to build something massive.
I guess the morale here is however disappointed you feel by your current stack - don't. Always strive to make things better, faster, more decoupled, easier to test, etc. and always challenge yourself to go outside the comfort zone.6 -
Interview question:
"What are your three most favorite design patterns?"
Me: "Huh? They're tools in a toolbox. If I want to drive in nails I use a hammer or a nail gun. Do I need to cuddle with them? I don't pick favorites and I don't try to solve everything with just a bunch of patterns. And I've work with a bunch, right now I'm drawing a blank though as this question highly confuses me and would like to do a Google search listing a few names as the only one that's comming to my mind right now are the factory and builder pattern. And no, not necessarily favorites."3 -
You know, I agree with the opinion that everyone uses the tools they know can get the job done.
However, sometimes I just wish people wouldn't just pick the first tool for the job that comes up in Google's search results. People should look at more tools and then decide which tool is going to suit their use case best.
I can't for the life of me figure out why some people prefer using ad-ridden tools over ad-free, even open-source ones that work better in every way. The best example for this is people using μTorrent or BitTorrent® for the BitTorrent protocol instead of Deluge, Transmission, qBittorrent, and some others. They just typed in "how2download torrent for free uwu" and downloaded the objectively worst tool.
Pick your tools wisely, not by letting some search algorithm recommend you the worst one.9 -
Hey Guys
A few Questions I have to decide soon, for tools I never used:
1- How do you guys keep information about several accounts and stuff? Must have some protection to not be easily accessible (started using Google Notepad and Evernote until I find better... don't really like them)
2- Firefox: Is there a way to store groups of open tabs?
Like I have one windows with 6 or 7 tabs for movies (youtube and such), other for general stuff with 5 or 6 tabs, other with Arduino shit, and I'm going to pick Vue soon and another language to build native apps and that will be a lot more tabs, It would be nice to close them all and open them all at will or something.
3 - What Is your favorite browser? I'm using Firefox, but there are so many new good ones... Like Brave browser with Tor incorporated, or Puffin for Android (which uses a VPN with their own server by default)
4 - For windows users, do you have any tools to help with workflow installed? which ones you use and why?
5 - What I'm using: Google Notepad + Evernote to save stuff, Windows 10 and Firefox, (Linux Mint in VM) and I just keep my shortcuts in folders... I don't use the Windows taskbar for a long while since its so full of shit.
6 - How do you do your backups? Right now I'm just putting my code and important stuff in Dropbox.
I'm an old school programmer... Stuck in 1990's Ideas and there is so muchhhh shit these days that I would prefer your opinions then just googling.
Guess that's enough for this post. Thank you guys28 -
I'm really tired of all the hype that Python lately gets, mostly by begginers or at most mediors.
I get that a lot of people like it's syntax, but it has just a few use cases where it really shines (like CI scripting or ML). In other cases it always has a much better and much more mature alternative.
As a web developer I would always pick PHP over Python. It has really mature frameworks like Symfony or Laravel which are using PSR standards, well documented and implemented common patterns, option for strict typing and probably most importantly tons of libraries for pretty much everything. For example I could find implementation of payment gate for even the smallest banks in our country, thus saving several days of implementing it myself. And PHP will always humiliate Python in performance. Yet, pretty much every comparison article of those two will state Python as better option for webdev, mostly because it is evident that the person who wrote the article never even tried to do a proper atleast midsized project in PHP, but has ton of experience in Django.
And what exactly is my point? There are two in fact:
1) You should always use the right tools for the job.
2) Even if you could do something doesn't mean you should do it.
In the end of the day I shouldn't really be bothered by people hyping Python, but those fanatics really made me hate the language, even if I would normally consider looking into it.8 -
Situation - I am responsible for refactoring and performance improvements in a company with several teams. This means I gotta do static analysis on code, run compliance tools and make changes in code or in the deployment pipeline, make sure the cloud is configured properly etc.,
Here is the catch when it comes to working on a ticket- the Azure team does not give my team permissions to make the necessary changes in the cloud. The Azure team won't pick up the ticket and do it themselves either.
Instead, we take the ticket, read the docs, take a guess on what's right or wrong. Then proceed to inform the Azure team who then go on to make that change. It is very hit or miss and often the ticket comes back to us and we do the same process again. Sometimes I have to spin up resources on my personal Azure account to tinker with settings to see which knobs are there for making changes to a resource.
Either pick up a ticket and work on it yourself, or give us azure with sufficient rights for us to be able to make the change. This midway status is infuriating, super unproductive and painful for us. Is this common? I am so frustrated.2