AboutSoftware developer. Underdog. Last action hero.
SkillsC#, C++, PHP
Joined devRant on 5/14/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
I applied for a developer position and got the email response about candidates available that were a better fit. No big deal.
Three days later, contacted by a recruiter for an exciting opportunity in my field (aren't they all?) Said, "What the hell?" and played along.
Made it past a screening phone call and a screening Skype session. Made a date to interview in person.
It's the same goddamned position, only now a recruiter gets to feed off my offer (if I get one).2
I have 4 years professional experience at a small shop working on a web application for property and liability insurance. The application is ASP.NET with C# as the code-behind. I have a BCS and will finish my MSIS fall 2017. I have no idea why I have the degrees. I know that when I enrolled, it seemed like they would be a nice addition to an otherwise empty resume. I was lucky enough to land my first and only development job during my sophomore year of my undergraduate program. Is this enough experience to land a new job?
I feel like I'm learning nothing at my current job. The specs that come in seem very vague to me. When asked for clarification, there is often push back, and I don't know whether that's because I don't have enough experience to parse what the client means in the two sentence spec I got or if it's because the client does not actually know what they want.
I hate my current job. My productivity is low because I spend more time trying to figure out what the client wants and analyzing an 8 year old system that has 0 documentation. I know some of you will just say, "Suck it up" at this point, but I really want another job. The only thing I like about this job is that it's 100% remote. It also pays $60k a year, so a replacement should be at least that salary.
Most postings I see require professional experience of 5 years or more, and knowledge of other frameworks. I can work on getting knowledge of the other frameworks, but will have no professional experience with them. I don't live in an area with a lot of software development jobs, and the ones I see are for non-IT organizations that want 1 person to run a distributed system from 10 or more locations. A hospital system out here wants to pay $30k a year for a guy to be both software developer for new tools as well as the helpdesk and IT support guy that's on-call for four locations in the county. I made more than that before I got into the development industry, for less work, and would rather leave than settle for something like that.
I've thought about moving to somewhere near San Francisco or San Jose, but I have my daughter to think about. I have joint custody of her, and would have to give that up in order to move out of the county.
I like programming and using it to solve problems. I like designing architectures and how all the components will interface. I like designing and normalizing databases. I like taking part in coding competitions for employers that are well-known (Amazon, Facebook, Uber, Twitch, etc.), even though I often just place middle of the pack. When that happens, I feel like I'm an imposter in this industry.
I think I have the most fun just working on small projects for personal use. My latest is an assistant calculator for the game Transport Fever to figure out cargo throughputs per annum based on the in-game timing information. Past projects have also been small. Ones I could use in a portfolio are a sudoku solver desktop application, PC/Web game in Unity that is a 3D FPS remake of Duck Hunt that allows open world exploration but locks the camera's viewpoint for shooting events, and a building assistant for Rome II: Total War that maps out all the bonuses/perks of user-specified building combinations in provinces so users can record their long term building plans without using all their turns to see the final results.
I seem to be an unproductive, average developer who dabbles in projects here and there.
This is what I want from other Ranters. Just say something. I don't care if it is, "Suck it up and get better." It could be your tips for finding and securing a new position. It could even be empathy, if such a thing exists on the Internet. Whatever you want, just say something that will help get me thinking of what the next steps in my career should be.1
Six different .NET solutions using reflection to interface with each other just made OOP look a lot like spaghetti code.4
I don't want to work on the project at my job anymore. It's an over engineered piece of shit.
I work on my pet project at home, but only for about 20 minutes at a time. After that, I feel the need to walk away and waste my time with other non-productive activities.
How do I get my love for development back? Has the corporate world killed it?5
Specifications called for user logins to be stored in a session and not be persistent. When the session ends, you need to login again. The system deals with insurance policy information and persistent login was deemed a security risk.
First ticket submitted by the client after go-live? "Please make the login page remember my user name and password, or that I've logged in previously."3
You start a new project. Do you:
1. Code the application first and worry about naming, branding, and graphic design once the core is finished.
2. Name and brand the application first, get all the graphic assets ready, then worry about coding the core.4
Working on a new release. This release was tested locally and pronounced good. The release went to the QA environment. QA responds that a new feature is doing nothing. There are no errors reported, and work is being done on the UI, but is not get getting persisted to the database so all changes are lost when the session is lost. Do some investigating. I find that a web service had the code in two of its methods commented out. Why? No idea. No response yet from the developer who just had the two methods return a boolean denoting success while all other operations were commented out.
I need an appropriate punishment for this...3
Is there a lesson that you need to keep relearning?
Mine is: Never ever ever trust the data. Never. Even if your mother entered the data herself, don't trust it. Quarantine it, scrub it, and check it for errors. There is no white list.2
The application I work on starts throwing timeout errors for about every third user. Lead developer cannot figure out what happened. DBA is out of town and cannot be reached. I do a quick Google search and run the stored procedure sp_updatestats. Timeouts stop and there is a big performance boost on the application. Everyone congratulates me on fixing the problem, and now I'm reading up on MS SQL Server Statistics and wondering about what other magical tools everyone else knows about that me and my team are clueless on...
That feeling when a new feature works on a local build, works on the development server, and works on the QA/UAT server, and then still breaks production when deployed.2
I don't understand the hate towards using a LAMP or WAMP stack, especially if you can still bring in other frameworks like Angular.
My five-year-old daughter asked me to program her Android tablet today.
Daughter: Daddy, can you make my tablet do something?
Me: What do you want to make it do?
Daughter: I want it to get games for me. I want it to pick games I like and get the different games so I can play them after I get home from school.
My daughter asked me to implement:
1. At the least, a predictive algorithm to choose new games for her based on her likes and dislikes.
2. At the most, an adaptive artificial intelligence that will learn what games she likes to play.
Current specifications are unclear. Need revision.13
I was looking at a local job posting for a network engineer. Is it odd to see one of the duties listed as, "Responsible for administration of subpoenas and warrants." ??? Telecommunication company...2
What is your favorite method of debugging?
Mine is a debug log. I like a key value setting for enabling/disabling, and logging most transactions, calculations, and variables, even if they seem trivial. I've been able to locate bugs much quicker with detailed logs while some coworkers are still stepping through the process line by line. I don't fault the step method as I use it when logging uncovers nothing (it usually means I didn't log something critical :p) or when logging is not possible.1
The company has been moving projects away from ASP .NET to MVC .NET. One of the cited reasons was improved performance. The ASP .NET projects were not the fastest applications available, but were manageable.
The new MVC .NET projects are slower than snails. Every single page element is trying to do an async call to populate metadata elements. There are sometimes 50 or more controls per page due to the industry this software is used in. FML.7
I no longer have commercial licenses for Visual Studio at home.
I'm looking at getting VS Code. I can keep support for C#, and also do any HTML5 and PHP here. It looks promising because it is free, open source, and uses an environment I'm already familiar with. Projects I work on at home ate usually single developer projects.
The problem method calls into the...back-end framework!
The back-end framework was built on top of...the older framework!
The older framework was built around...the legacy framework!
The legacy framework was a...piece of shit!
And that's why the site just hangs!2
I need to change how payments are applied to invoices.
ApplyPolicyPayments() looks promising! Make changes to the method to look at the bills in order of the invoice due dates.
Run a test on the DEV environment, and the system is still exhibiting the same bug.
At this point, I wrote a quick logging plugin that I could attach to the DLL and start telling me what is going on.
Turns out, payments are actually applied in a method named BalancePolicy(). So what does ApplyPolicyPayments() do? It DOES apply payments to bills, but then just doesn't save the work. Having it commit the transactions breaks the billing system. FML.
I played Pokemon GO for about 4 days, then realized I'd rather just play any of the other Pokemon titles on the GB (A), DS, or 3DS.3
The billing system on an enterprise project that I've inherited is a nightmare. The client complained that an aged receivable was being reported as 31-60 days overdue when it should be 0-30 days overdue. I checked the system, and discovered that an account had multiple invoices. One was due in May and one was due in July. The system took a large payment, fully paid the invoice due in July, and partially paid the invoice due in May. That seems wrong.
I checked the code and confirmed my suspicion. The system is ordering open invoices by their creation date, not their due date. The invoice due in May was created after the first invoice, but had a much smaller window to pay. I'll bet anything the original coder assumed all invoices would have the same window to pay.
1. Develop a consumer facing web app with free access and use supported by ads?
2. Develop a consumer facing Web app with some free features coupled with premium features using a subscription model?
3. Develop a consumer facing web app with no monetization strategy strictly as a portfolio project?6
A new version of a service request queue processor was deployed to test. It was supposed to have a performance boost compared to the previous version. The performance is so good that the new transactions are still locked when SRQP attempts to process their workload, so it ends up issuing empty transactions in another module. Artificial delay time...
Somebody created a new database field of type varchar(10) and then filled it with the string 'NULL' for every row. Now, everybody is having to figure out for themselves that these aren't actual NULL values when running scripts.2
When four issues get assigned to four different developers and the analysis and the proposed fix for each is a change to a single class file that has been locked by a fifth developer.1
Oh, come on! Human Resource Machine, Three Sort, a single cycle away from the optimization challenge! What more do you want from me?
Also, I have already gotten the challenge completed for only using 34 commands. I'm increasing the number of commands greatly for the cycle challenge in order to avoid swapping.1
No documentation. Thousands of lines of code. Still learn enough about the solution to make a required change in a day. Now the company feels like I should be the one to lead training for the module, and I still don't know what the other half of the code does. T-minus two hours...2
Client: Each invoice should be it's entity. It should only report it's own open amount. Any other open amounts remain on the other invoices.
Me: No problem. ::Sets invoices to only report own open amount::
PM: Hey, the invoices in UAT are not displaying the sum of all open bills.
Me: I know. The client wants each invoice to only report the open amount on that specific invoice.
PM: That can't be right, change it back before we give the client access to the UAT environment.
Me: No problem. ::reverts invoice changes::
Client: We are failing the invoices. The invoices should not be giving total open amounts for the account. Each invoice should only report the open amount for that invoice. We told the development about this...
PM: I see. I'll make sure he understands your request.
Me: ... ::reverts the revert::
PM: Hey, the invoices in UAT aren't giving a total of the open-
Me: OMFG. I just want this task closed!
Client: After the invoice work is done, we need to talk about past due amounts and how they are reported to customers.
PM: Sure thing. It is logical to give a total of a past due amount to the customer...
Me: ::Starts updating resume::
Client: Why was the payment applied to the May invoice?
Me: Because that is the only open bill.
Client: We want to apply it to the July invoice.
Me: What business rules exist to hold an invoice open in order for the payment to be applied to a future invoice?
Client: ...can you manually correct this?