Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "special skills"
2017 Recap + DEVBANNER !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
1. So, let's recap my 2017 first. It was awesome
Here is some list that I can remember
- finding my hobby (fsx, vatsim)
- finding computers aren't genius
- creating a new language
- major improvements in my unity skills
- found out i am friendly
- getting a job at google in a dream
- creating my banner in krita --> devbanner collab :D
- Logo creation fail
- CS class apply fail
- getting free stickers for the first time of my life
- getting death threats (lol)
- finishing my first ever big c# project
- got offensive words from a bot that i am a f***ing d***head.
- getting downvotes after creating such a shitty meme
- getting my rant featured in twitter
- finding that my friends love my game
- getting a sneak peak at the src of devrant
- coding with turbo c
- not using git cuz too lazy
- finds out msdn is god
- slowly hating unity, but likes it cuz it is using c#
- reaching level 2 in google foobar
- started 100+ projects this year and finished about 6 of them.
- devRant motivated me a lot
2. devBanner stuffs
So, how it all started is when I wanted to create my own logo. Some people will remember it. The one with arrows and cozyplales written on it. Then, I created my own banner with Krita (their text tool sucked). After that, due to some suggestions by the community, I decided to create a collab. From then, many people contributed to the devBanner project. Special thanks to @Kimmax for his awesome prototype of the frontend made during I was sleeping.
Now, before I talk more, I want to talk something. I don't post a rant about my collab cuz i want to get upvotes. I just want more people to use this simple creation software. You can literally use them anywhere, and it is FOSS.
If you want to create again, you can do so at https://devbanner.center
If you want to contribute, please do so by visiting https://github.com/devBanner
We are looking for a skilled frontend dev who can do the basic web stuffs. (we don't use frameworks currently for our frontend)
Thanks everyone for making 2017 awesome. Can't wait to welcome 2018. Happy new year everyone, and I will drop my banner here.21
I received my evaluation and instead of getting fired, they gave me some really good feedback. I'm surprised.
After weeks of bitching, the other team finally removed their JIRA issues from me. Now I have more time to focus on my original team and we're gonna start on building stuff from scratch for the new version of our product so it will be goodbye spaghetti soon.
Since I'm a regular employee now, I've unlocked some special benefits. They have quite a lot but two of my favorites are - 30 days paid vacation and I can arrange for more if I allocate my benefits right and $6k reimbursible travel expenses. Those two suit my current goals pretty well.
As always, since the dawn of time, they gave me high ratings on technical skills and just a "good" on functional, it's always been a weakness of mine. The client said I finish things on time, often days earlier than the deadline. I guess I'll slow down a little bit and try to learn more on the functional side? But it's gonna be a fun ride since they have no documentation.
I just feel motivated now. 😊7
Post Anger Rant (Beware, Long rant ahead)
So there is this project we have been working for months, most of the devs involved are jr students so I was leading them in the architecture and what to do and they were doing it, the progress was slow but safe and fun.
On the team there was this guy, someone I trusted and in who I had special interest for his skills, so I let him own the github repo.
So the day of the first demo I pull the backend changes ( I had been working on front end ) and I realize that the code was different, so I started using my super awesome forensic skills to find what happened,and when I say different I mean a totally different architecture different database connections, different service pirts, basically other project, so during my criminal investigation I found out this guy I trusted had never really worked with us, from the beginning he went solo working on his own project and changing everything because of some tutorial he found on the internet, so I decided to reset to the previous version just to find out that he had already deployed the code and that a lot of fixes that we should have were only on his version.
So I went and confront him telling him that he did wrong and he had to learn team work and that I was trying to teach them good practices and he waits and asks me "so, my code was wrong?" Seriously what da hell dude? I'm talking about team work and all you can think about is your code.
Finally he admitted his mistake and repented (I think), but seriously how arrogant must you be to ignore a whole team, specially when on your first real project.8
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6
On highschool I took a special major in which we learned various computer and mathematics skills such as neural networks, fractals, etc.
One of the teachers there, which for me was also a mentor, is a physician. He taught us python which he didn't know very well (he wasn't that bad either) and science which was his true passion.
My end project was to try to predict stocks market using a simple neural network and daily graphs of 50 NSDQ companies. The result reached 51% prediction on average which was awful, but I couldn't forget the happinness and curiosity working on this project made me feel.
Now, 5 years later, I have a Bsc and finishing a Msc in Computer Science, and would sincerely want to thank this mentor for giving me the guts and will to accomplish this.7
As a developer, I constantly feel like I'm lagging behind.
Long rant incoming.
Whenever I join a new company or team, I always feel like I'm the worst developer there. No matter how much studying I do, it never seems to be enough.
Feeling inadequate is nothing new for me, I've been struggling with a severe inferiority complex for most of my life. But starting a career as a developer launched that shit into overdrive.
About 10 years ago, I started my college education as a developer. At first things were fine, I felt equal to my peers. It lasted about a day or two, until I saw a guy working on a website in notepad. Nothing too special of course, but back then as a guy whose scripting experience did not go much farther than modifying some .ini files, it blew my mind. It went downhill from there.
What followed were several stressful, yet strangely enjoyable, years in college where I constantly felt like I was lagging behind, even though my grades were acceptable. On top of college stress, I had a number of setbacks, including the fallout of divorcing parents, childhood pets, family and friends dying, little to no money coming in and my mother being in a coma for a few weeks. She's fine now, thankfully.
Through hard work, a bit of luck, and a girlfriend who helped me to study, I managed to graduate college in 2012 and found a starter job as an Asp.Net developer.
My knowledge on the topic was limited, but it was a good learning experience, I had a good mentor and some great colleagues. To teach myself, I launched a programming tutorial channel. All in all, life was good. I had a steady income, a relationship that was already going for a few years, some good friends and I was learning a lot.
Then, 3 months in, I got diagnosed with cancer.
This ruined pretty much everything I had built up so far. I spend the next 6 months in a hospital, going through very rough chemo.
When I got back to working again, my previous Asp.Net position had been (understandably) given to another colleague. While I was grateful to the company that I could come back after such a long absence, the only position available was that of a junior database manager. Not something I studied for and not something I wanted to do each day neither.
Because I was grateful for the company's support, I kept working there for another 12 - 18 months. It didn't go well. The number of times I was able to do C# jobs can be counted on both hands, while new hires got the assignments, I regularly begged my PM for.
On top of that, the stress and anxiety that going through cancer brings comes AFTER the treatment. During the treatment, the only important things were surviving and spending my potentially last days as best as I could. Those months working was spent mostly living in fear and having to come to terms with the fact that my own body tried to kill me. It caused me severe anger issues which in time cost me my relationship and some friendships.
Keeping up to date was hard in these times. I was not honing my developer skills and studying was not something I'd regularly do. 'Why spend all this time working if tomorrow the cancer might come back?'
After much soul-searching, I quit that job and pursued a career in consultancy. At first things went well. There was not a lot to do so I could do a lot of self-study. A month went by like that. Then another. Then about 4 months into the new job, still no work was there to be done. My motivation quickly dwindled.
To recuperate the costs, the company had me do shit jobs which had little to nothing to do with coding like creating labels or writing blogs. Zero coding experience required. Although I was getting a lot of self-study done, my amount of field experience remained pretty much zip.
My prayers asking for work must have been heard because suddenly the sales department started finding clients for me. Unfortunately, as salespeople do, they looked only at my theoretical years of experience, most of which were spent in a hospital or not doing .Net related tasks.
Ka-ching. Here's a developer with four years of experience. Have fun.
Those jobs never went well. My lack of experience was always an issue, no matter how many times I told the salespeople not to exaggerate my experience. In the end, I ended up resigning there too.
After all the issues a consultancy job brings, I went out to find a job I actually wanted to do. I found a .Net job in an area little traffic. I even warned them during my intake that my experience was limited, and I did my very best every day that I worked here.
It didn't help. I still feel like the worst developer on the team, even superseded by someone who took photography in college. Now on Monday, they want me to come in earlier for a talk.
Should I just quit being a developer? I really want to make this work, but it seems like every turn I take, every choice I make, stuff just won't improve. Any suggestions on how I can get out of this psychological hell?6
How many of you can tell a rant was written by sukmikehok just by reading the first two three lines before opening the rant and finding out who actually wrote it?3
I'm finishing up the most depressing client engagement ever. Ultimately it all traces back to their worthless Expert Beginner EA who thinks he's a genius but can't write code. I don't mean that he's not great at it. It's some of the worst I've ever seen by a person in his position.
In the time I have left here I could do so much to help them clean this stuff up so that future developers could ramp up more easily and there wouldn't be tons of duplicate code.
But I've just given up. You can't help someone who thinks their code is perfect. I don't even bother suggesting stuff any more (like don't have two methods in a class - a "real" one and one for unit testing) because he gets mad or just says that's his "pattern."
If I have a useful improvement, first he'll want me to put all new code in some new library, which is fine as an end result but you don't start with putting single-use code in a library separate from where you're using it. You work with it for a while to see what's useful, what's not, and make changes. But, you see, he just loves making more libraries and calling them "frameworks."
He tells me what he wants me to name classes, and they have nothing to do with what the classes do. When you haven't done any development yet you don't even know what classes you're going to create. You start with something but you refactor and rename. It takes a special breed of stupid to think that you start with a name.
I've even caught the dude taking classes I've committed and copying and pasting them into their own library - a library with one class.
The last time we had to figure out how to do something new I told everyone up front: Don't waste time trying to figure out how you want to solve the problem. Just ask the EA what he wants you to do. Because whatever you come up with, he's going to reject it and come up with something stupid that revolves around adding stuff to his genius framework. And whatever he says you're going to do. So just skip to that.
So that's the environment. We don't write software to meet requirements. We write it to add to the framework so that the EA can turn around and say how useful the framework is.
Except it's not. The overhead for new developers to learn how to navigate his copy-pasted code, tons of inheritance, dead methods, meaningless names, and useless wrappers around existing libraries is massive. Whatever you need to do you could do in a few hours without his framework. Or you can spend literally a month modifying his framework to do the same thing. And half the time his code collapses so that dozens of applications built on his framework go down at once.
I get frameworks. They can be useful, but only if they serve your needs, not the other way around.
I've spent months disciplining myself not to solve problems and not to use my skills.
Good luck to those of you who actually work there. I am deeply sad for the visa worker I'm handing this off to. He's a nice guy and smart. If he was stupid then he wouldn't mind dragging this anchor behind him like an ox pulling a plow. Knowing the difference just makes it harder.
It's going to be a tough week at home. We'd have to leave our house and find new accommodation. And I just find solace in the fact that, at least, I'm a developer and when all the dust is settled, I can earn enough to get out of this mess.
Special thanks to my best friend who supported me as I spent my college time trying to build my development skills!1
My favourite bug fix was actually IT based and it was the first time my Eastern European, critical of my skills, family not only praised me but claimed that I was smarter than them.
My grandfather had changed from a telecom to a VOIP device for his landline. For some reason after installation, he could hear the other person on the line but they couldn't hear him. Me and my mother were away during this time so they called in the other family IT guy. This guy is no joke, he's one of the top in his company and makes a sweet six figures and lives in a mansion.
So he started looking things up, googling forum, etc. Couldn't find anything. Started calling the tech support and tried to deduce what it was and their tech support had never heard of such a problem. He takes his lunch breaks to help out my gramps. Keeps escalating, escalating and nothing. His conclusion is that they need to send him a new VoIP stick and they're not giving it to him. At this point, he's so frustrated that he screams at my grandfather to go back to paying 60 bucks a month for landline and to stop bothering him.
At this time me and my mother return and they have concluded that they need a new stick. My mom is great at intimidating people into free stuff so she and I go over to do so. At this point everyone is convinced of the problem and even I don't think I could fix it. But I decide to check if that's the case because I don't want my gramps to get a new stick and it still doesn't work.
I go through the typical forum hunting and there's Nada on the problem. I look at the stick and all the lights seem to be working, no error lights. And I wonder maybe the problem is not the stick, because usually you can't do anything at all if the hardware is broken. So I start thinking, maybe my gramps accidentally muted his handset while talking or something dumb like that. That wasn't it.
Then I decided to see if the problem was recreated on the other handsets. I tried one out and my mom could hear me but I couldn't hear her. What?! That's different! It was the opposite with the other phone. I conclude that it's working and there's something up with the handsets. So I go and do a reset on all of the handsets to make sure.
Lo and behold, the problem is fixed. It took me 25 minutes to solve. That guy gave up after a week of trying. My mom who assumed my IT skills were on par with other kids and nothing special had finally seen me up against an opponent, and not any opponent, a six figure high ranking IT specialist. And I didn't even use any secret, complex software knowledge that wasn't accessible to her or any other normal user.
That's when she finally said that I was smarter than her, that I just used my common sense. She would've needed some kind of prompting, hint or direction to solve the issue but I did it without any.
It was a very satisfying bug to fix.
I have been developing this bias in my mind about people with MBA degrees/ Management roles.
Like for example, I can't deal with my managers who has no programming expertise, but they are there just because they have a huge work ex(idk in sitting and playing on phone?) or have an MBA degree.
I feel in a tech company; management, ppt, excel people should be eliminated. I'm not saying all the roles but just a few who have little to no contribution.
When a team works on it's own and delivers and maintains the system. It's these managerial people who take credits. It's these people who get hikes more than necessary.
For years, developers are treated like call center people, like sheeps, they aren't valued, and are highly underpaid!
Do you think MBA people will be jobless if we empower developers to the point where we won't need MBA degree holders with "Time Management" as their core skills written in LinkedIn Profiles?
What makes Managerial roles so special?
Correct me if my bias is wrong.
P.S. This whole rant was about MNC's in India. I can't tell for other countries.2
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3
There is so much confusion in the world of programming right now, at least for me. I bet there’s only so many concepts going on and that these concepts are realized in certain ways. E.g. programming following certain paradigms and practices, also different workflows, containerization, agile, devops etc.
When searching for tutorials in different subjects it’s horribly aggravating to learn to use the tools. Not because they are inherently hard or bad in any way. There’s just so many different tutorials, some badly given, some that are great but which bring up to many foundations you already know so you find yourself getting bored to the point that you just stop listening. Many tools are used for so many use cases, sometimes overlapping each other, they use concepts to that you’ve heard hundreds of times before. Many times they want to do things in a special way so even if the concepts are the same you still need to fucking listen to the same old thing while learning how to write a command a slightly different way or how some tool is supposedly better than another.
I’m realizing that what I’m so sick of is the lack of TLDR information about new tools with some short description of how to use. Where you didn’t have to re-hear stuff you already knew or had heard so many times unless for a very good purpose, such as to show exactly how it’s done differently than another relevant tool. In a dream world the TLDR information could also remember my skills and remove the parts I didn’t need to know about any new tool.6
If there were special online English course (1on1 online coaching) for software developers which is focusing (tailored for) on improving your business and communication English skills, would you interested in to attend?9