348 karma · joined March 25, 2017
LinkedIn: linkedin.com/in/chriscajas
Github: github.com/ccajas
On a lower level, I am not sure you can change it directly, but the drawing of spheres could have an alternative option that is more effective for certain cases, like displaying atomic or particle systems that are space-filling. For cases like this, drawing large points with a specialized shader is preferred.
If I am truly doing this, can that still be rationalized even when I am very underemployed?
While I won't bog you down on the details, I have a really patchy work history created by frequent layoffs. This created a lot of unemployment time, taking up about a quarter of my post-academic life. On top of that, I am very underpaid for a developer (~40% of the local average pay) so I often struggle making ends meet when I'm out of a job.
I feel pressured from many sides thinking of many possible solutions to choose.
Technologies: JavaScript (React, Vue, NodeJS), Ruby (Rails), PHP, MySQL, HTML, CSS (Sass), MongoDB, C# (.NET, MonoGame, Unity)
Resume/CV: linkedin.com/in/chriscajas
Github: github.com/ccajas
Email: chris.cajas.m -at- gmail -dot- com
I am several parts full-stack web developer, game developer, and all-around generalist, with an interest in computer graphics and data visualization. Solving technical problems that client dev teams might have difficulty with, sometimes in a pinch to handle them. This includes not just web development but also game development. I have experience with overhauling legacy code, engine optimization work, and helped ship two indie games on Steam.
The onset of SPA's what contributes to this. It's making server-side content generation leaner, although sometimes at the expense of the user experience with worse page responsiveness during downloads. What's debatable is if the user benefits are worth the increase of upfront UX cost.
I taught myself C++ when I was still in college for a digital media degree. As time went on, I was learning how to use various IDEs and build processes, and became active for a while on GameDev.net. I even made homebrew that natively runs on PSP hardware, using an unofficial community-built toolchain. But there was no Github to post my code to, and I didn't consider showing my game projects to the companies I interviewed at as a beginner, because I was not applying to game companies.
I eventually picked up web development jobs after graduation, but still doing some C++ hobby work up until around 2011. My most complex C++ project was a graphics framework built on the DirectX 9 API.
I would consider a C or C++ programming role for the right company, but you're correct in that it's hard to get your foot into with your kind of credentials. That is, unless you know someone who works at a company that is using it. A lot of it is gatekeeping, honestly, but there is a real need to understand how to write high-performance code with it.
Unfortunately most of my C++ dev work was lost in a hard drive crash. But I don't know if project age is a factor too. As in, would most companies even put stock in my ability to program in a language that I last used 7 years ago?
If an interviewer scolds you for writing whiteboard code that will cause a compiler syntax error, red flag, time to bail out. This is now how they are supposed to be done.
Properly done I might go against the grain saying I prefer whiteboarding tests over take-home tests. With whiteboarding, both parties are at least with equal time investment and a higher level of transparency. And once the interview is done, it is done. No thinking about how to schedule your next few days around finishing unpaid work for a company that you may have a chance with.
In some engineering fields, I'd expect that such inconsistency in hiring practices would result in hiring someone that causes a huge accident.
Dark version: software interviewing would not be this broken if most bugs or mistakes would directly result in a person's serious injury or death.
Your return on investment on a Masters CS degree will come over time.
For example, once you finish the degree, you should be in a better negotiating position in your current company when discussing promotions as you have demonstrated a willingness to follow through with personal development in service of the company.
If you lose your current job, having a CS degree is great future risk mitigation. While a portfolio and experience sounds good enough, you'd have to jump more hoops through HR without a CS degree. But once you have it you could get a job almost anywhere you want.
>FWIW, 'patio11 has some high quality experience with the engineering hiring market and has written some seminal texts about it.
This is important to know. However, I think it would be better of patio11 to open his comment by stating a short summary of this experience in order to lend more credence to his suggestions.
>there may be soft skills that you may not have yet and may never acquire
I'm curious about this. Especially on the "may never acquire" part. You mean that there are some soft skills that some people would never attain? That's interesting to me and I'd like to know why.
Your story hits close to me. I have never been homeless but I have been through excessive dry spells of no work (I think taking a remote job 5 years ago was a mistake in some ways because it killed my interviewing skills) and had to move back to living with one of my parents. At my mid-30s it feels like your life is a shit show. The jobs I get now have been via "non traditional" means, that is very informal chats instead of lengthy interview processes, and only for short gigs and not long term arrangements.
When I have been out of work for over a year, I too just stopped everything, shut myself in more, thinking that going into "silent mode" and avoiding most contact with friends was gonna help me concentrate more on the job hunt. But it doesn't.
I can tell you to continue what you're doing, building a network and finding ways that people can refer you.
You might think that referrals are a cheese way to short-list your way into an interview, but think of referrals as a trust metric- a quantity that convinces people that you're worth the words you speak.
Can you show us your portfolio site? Honestly I got some of my interviews just from things I had on Github that caught soemone's interest. But I believe they need some kind of novel quality to them- a rehashed tutorial app won't cut it.
It's not necessarily thinking you are not good at anything, but believing that there is nothing you can be tops at, and just want people to accept your as being good but not amazing.
This guy seemed to have his head on straight, and having both degrees in law and computer science, felt like a slam dunk combo to run a SaaS business without getting into hot water. However, sales tanked in my second year of worked there, and was eventually laid off. Three years later, they're still around doing buisiness, but I don't know if they're coming or going. You can sometimes never tell from the outside, when they're not making news headlines and feels like they could be spinning their wheels.
I live in Chicago, where a lot of startups are B2B more than B2C and don't really spam hunt most places anymore, because it's hard to find a lot of information about them.
This lead to me putting out multiple fires related to one of the e-zines the small publisher had. I replaced the only developer who just greeted me on my first day and left. Clearly they didn't foresee how to budget for a tech department.
I'm the same as you with colleagues, btw. I don't really burn bridges... but I do have trouble propping them up. I would just contact them anyways. I have done this with people I worked with 7 years ago and they could still reply with an "okay" for a reference.
> A single interview faux pas can remove you from consideration.
That's terrible. When you’re on the job, people can judge you all they want but it’s gonna take many minor bad judgements (or a few serious ones) to pile up to make them cut ties and fire you.
In an interview, way too many things have to go right. That's not a microcosm of a typical job at all. With regards to professional faux pas, I prefer to follow this: if one mistake is not worth firing someone from their job, it's also not worth rejecting someone for a job.
Perhaps I can look into jobs where interviewing skills are not strictly required? I count every real interview I go to as practice, and after practicing with dozens of phone interviews, and about 10 on-sites, it's no longer clicking for me.
So there's gotta be another way, I think.
Sales skills are my weakness and as you said, they don't need help turning me down. So best to just avoid situations where sales skills are needed. What are some approaches that don't need it?
>Take a very active role in deciding what career you want.
If you're telling me not to browse job ads, and also not go with recruiters, can you elaborate on "take a very active role"?
If you mean that I should use my network, I'm trying. None of my colleagues want to reply to my message anymore. And my dire financial situation is making it hard to give something to them first.
I state that in a lot of interviews. And also that I like to learn and improve my skills. Companies don't seem to like it enough. Maybe I'm being too blunt about my shortcomings. I do not bash other companies when I interview. I just say I can do A, but I want to improve in B and C.
They don't delegate me to more basic roles, however. Maybe they think I am overqualified? It seems like most places I interview would be confused as to where they'd potentially place me as I no longer match with anyone.
How big of a pay cut are we talking? I'm not one to be really chasing after money, but generally speaking I already am underpaid relative to the average software engineer in my area and still have managed with my salary when I worked. So I'm just looking for a better learning environment.
I discuss my previous jobs, and side projects (github.com/ccajas) and a few projects even prompted companies to reach out to me first. But the after the interviews it all falls apart. I haven't made it past phone interviews this year.
> I'd be blown away if a candidate came in, acknowledged their deficiencies, and said "I'm doing XYZ to figure it out and I really just need a chance to prove myself"
I say that kind of stuff in a lot of interviews, and in my experience, companies don't like it. They prefer someone already fully armed with the knowledge. And usually they get it, because they can. I'm not limiting myself to top companies. I apply to a bunch of local companies doing less glamorous work.
I'm not a master of persuasion. But if they give me the benefit of the doubt they notice that I meet their expectations. My company relationships are more of a positive slow burn, so I tend to do better in atypical hiring processes.
One last thing I want to point out is that I have noticed a trend among the companies that do hire me. They tend to be the kinds of companies that are desperate to hire people because of high turnaround rate and unstable work environment. If I work for one of them again, I'll just have to put some time aside at work to teach myself better skills and become the mentor for others, instead of seeking a mentor.
I don't think anyone really punished the company though. They were a pretty small and insignificant web agency just hiring a couple local people but tons of off-shore work.
Does that mean that ICs generally work remotely? Or what is actually the deal with company offices and ICs?
Moving ahead, I wish I could help out the industry by shielding the naive new workforce from mis-classification and similar forms of work exploitation.
But I'm very frank about my shortcomings, and possibly too realist, when it comes to interviews. No one wants bad surprises, after all. I have years of delivering as promised, launching many websites and SaaS products. A lot of companies big and small seem OK with my resume.
But after the interview, companies felt that I was an entry-level candidate to them. That's what some of them flat out told me. Also, they sometimes were not satisfied with the way I explain technical concepts. Companies do not delegate my hiring process to a more appropriate junior role, or for something simpler like QA.
Regarding taking advice from strangers online: online is the most I have interacted with other developers. I have no friends in the industry and my colleagues rarely talk back to me, when I ask the some questions about work or about looking for work. Offering them a favor is not an easy option either, because I feel too broke and unemployed to be of use to anyone. My financial situation is making it hard for me to be a giver first.
I recall it was pretty easy for people to just friend each other on MySpace. And to a lesser extent Facebook, but most people treat FB like a digital rolodex of IRL personal contacts and were more hesitant to just add any randoms to their friend list.
The only way you can get to be part of a community that feels intimate is where it is niche and hasn't become part of the internet mainstream. Forums centered around highly popular web figures are often very big.
But you can still find good forums. Forums that are built around very specific interests are more intimate and it's more conducive to comfortably talking to strangers and develop online friendships.
Also, this is just from my very casual observation, but forums built around interests that are not typically associated with more mainstream geek culture or tech culture, that are not privy to highly polarizing social views seem to have the air and attitude of the older internet.
Some example topics for such communities may be bird watching, crocheting, trade jobs like plumbing or modding/tuning for very specific older cars. These have a different demographic (usually skew older) and attitude towards conversation with strangers than the demographics that attract more people on topics such as gaming computers, comic books, anime, etc.
In any case I seek to find work that I would be happy with, and where my current soft skills wouldn't prevent me from doing so.
In the professional sense, I have pretty good interactions with people at work, and generally considered to be a reliable worker. But social faux pas are judged ever more harshly at job interviews.