11 ms·
I’m almost 60, lots of various technical experience in my 40 year programming career. I’m busier than ever with freelance work. Don’t try to join startups or c
by gregjor 6y ago
I’m almost 60, lots of various technical experience in my 40 year programming career. I’m busier than ever with freelance work.
Don’t try to join startups or cool SV companies unless you have an inside track. Their recruiting and hiring practices are mostly geared to ensure “culture fit.” That’s code for young single male who will work 12 hrs/day and think free beer and pizza makes it cool.
Focus on measurable accomplishments rather than languages, frameworks, tech buzzwords.
Learn to solve business problems rather than “engineering problems.” No one needs 2,000 more lines of Javascript. Lots of companies need business problems addressed.
If you’re applying for jobs you’re hobbling yourself. If you have years or decades of experience you should have a large network of colleagues to get leads and jobs from.
- sgillen 6y agoFor someone who wants to eventually be drowning in freelance work (or at least the option to be), what jobs would you recommend looking to join if not startups or big name SV firms.
- gregjor 6y agoI have some articles about freelancing on my site, typicalprogrammer.com. I have worked in logistics, e-commerce, education, publishing, marketing. I worked in software dev at Apple for a while. I think getting business domain expertise counts for a lot, as does learning to work with people who aren’t software geeks. People skills, domain expertise, and a good network count for more than tech skills when freelancing. Most of the things I work on aren’t technically complex, but have significant business value.
- Jugurtha 6y ago>I think getting business domain expertise counts for a lot, as does learning to work with people who aren’t software geeks. People skills, domain expertise, and a good network count for more than tech skills when freelancing. Most of the things I work on aren’t technically complex, but have significant business value. Yes. I'm in diapers in terms of experience compared to you, but I tweeted about this as a reply to people who want to get into consulting/freelancing. A few things that came to my mind at that time from exclusively dealing with large organizations for mid six figure contracts that one or two motivated people could pull off[0][1]. Are you doing this as an individual or through a company? In any case, why one and not the other? - [0]: https://twitter.com/jugurthahadjar/status/1310668293305499653 https://twitter.com/jugurthahadjar/status/131066829330549965... - [1]: https://twitter.com/jugurthahadjar/status/1319716262835032066 https://twitter.com/jugurthahadjar/status/131971626283503206...
- gregjor 6y agoI’m represented by 10X Management, they handle the contract, money, marketing stuff. I work solo, sometimes I outsource small projects. I have small business clients and Fortune 100 clients. I don’t have much formality or process. I ask potential clients to make a list of their priorities, pains, problems and then attach a value to those. I build long-term relationships by communicating and delivering what I promise, and taking an interest in the client’s business. When I ask clients what went wrong with their last developer it’s usually poor communication or not understanding the business priorities, or both. It’s never “They didn’t know how to balance a binary tree with Rust.”
- d3nj4l 6y agoI'm getting Baader-Meinhoff'd about 10X Management...
- ethbr0 6y ago> When I ask clients what went wrong with their last developer it’s usually poor communication or not understanding the business priorities This is the secret of being "good" at consulting. If I am a business, and I have a problem, and I bring in a consultant to solve that problem, and I have to assign one of my people to handhold the consultant through solving the problem, then I've now (1) paid for a consultant & (2) lost substantial amounts of one of my peoples time. So I had 1 actual problem, and now I probably have 2.5 problems: paying a consultant, less productivity out of one of my people, and a half-working solution to the original problem. As a good consultant, your job is to change that equation. Have a light footprint on other people's time & communicate clearly and concisely. Make sure you understand the actual problem, and weigh in if you're being asked to build a solution that doesn't solve it well (there may also be good reasons you aren't informed of about why it's built that way). It's not hard. But it is specific. And trainable in yourself! Most companies are variations on the same theme. And their dysfunctions are variations on the same problems. "Building the solution" is table stakes. The real skillset for consulting is shadow-technical-PMing. Remember: by definition, you're parachuting into a company that wasn't able to efficiently and effectively solve this problem themselves. So is it reasonable to expect them to tell you how to solve it? ;)
- decafninja 6y agoAt the start of my career (have been almost entirely in legacy NYC investment bank/hedge fund tech), I thought it would be beneficial to rack up business domain knowledge. After a while, I arrived at the conclusion that it wasn't. I could try to get enough business domain knowledge to put up an act like I was a mediocre junior trader or banker, or I could better spend that time to improve myself learning tech (and studying for interviews for that matter). Plus if I were to leave the finance industry (which I'm desperately trying to do), none of that business domain knowledge would be portable, whereas most of my technical knowledge would be. Just my two cents, but then again, I'm not looking at freelancing.
- gregjor 6y agoI think I understand your point. A little bit of domain expertise might be worse than none at all -- pretending to be a mediocre trader or banker, for example. The point I meant to make is about understanding and taking an interest in business priorities. When you work for a bank or any company that isn't in the software business it's important to understand that their priorities have little or nothing to do with programming languages or technical debt or the many other things programmers obsess over. It's not that those things aren't important to programmers, but they aren't usually business priorities. My customers rarely care what language or tools I use. Technical debt is not a big concern to them because they have short-term goals, they know the business landscape will change, and they've amortized the cost of software development and maintenance (or at least think they have). The key insight for me was understanding that "reduce shipping costs" as a business priority may have a technical side, but problems like that are rarely 100% software or technical problems, so it's important to see the entire problem and have the language to talk to people who aren't programmers to get to a solution. I have observed my own customers sitting through presentations from developers or people selling software products and noticed, more often than not, an intense focus on technical details, but little or no interest in business priorities. Choice of programming language might be important, but it's not a business priority most of the time. Rewriting a legacy application in Rust might make sense in terms of programming and future maintenance, but may not make any sense in terms of addressing business needs. To freelance/consult successfully outside of the small niche of pure software companies you have to try to understand the actual problems and requirements, and resist the tendency programmers have to immediately reduce the problem to code. I'm not sure I'm expressing this very well. Here on HN I see programmers posting that they just want to code in their favorite language and skip meetings and be left alone by managers and users. I see people complaining about the "stack" they have to use and writing about quitting so they can work with shinier newer things. While I like that mode too, it's not an attitude that will lead to successful freelancing/consulting, because it's too disconnected from business requirements. Another way to look at it: software development projects generally fail or rack up big budget/schedule overruns because of misunderstanding of requirements, and miscommunication within the team and especially between the team and the business stakeholders. An example from my own experience: a brick & mortar company paid for a new e-commerce site. A week before go-live was scheduled the owner (not a technical person by any stretch) discovered that the new site did not have any provision for shipping charges or state sales taxes. She assumed the developers would know that, because any company shipping physical products has shipping costs and has to collect sales taxes. The developers blamed the customer for not spelling those requirements out. Late project, each side blaming the other, bad feelings, a potential long-term relationship spoiled. At one point in my early career I would have blamed incomplete requirements. Today I would take the customer's side -- developers selling themselves as e-commerce experts should have asked about shipping and taxes, even though those are business domain questions. My solution was to help the customer move to a SAAS e-commerce solution, which meant changing some minor parts of her business process, but kept her away from owning custom software that almost no one would want to touch in six months. I didn't get as much money from that customer as the original developers, but I'm still on speaking/consulting terms five years later whereas the original developers got sued for breach of contract.
- odonnellryan 6y agoI agree here. My best projects have been reconciling financial data, or automating reports for MSPs, or copying 100k products from one platform to another, or ... You get it. Sometimes the problems are cool - like some of the financial recon projects I worked on required neat algorithms (not complex or exotic ones, but "fun" ones) to solve something in Python in 1 minute that a R programmer's (they weren't great) script took 10 hours to solve - but most projects are boring implementation wise. Actually, most of my really, really good and valuable work doesn't amount to any more than comparing Excel files, and giving you a report on that data. Tons of companies need that.
- gregjor 6y agoWhen my kids (or anyone) asks me what tech skills to learn that will have a long lifespan I say Excel and SQL. Being the "Excel expert" at work is sometimes more valuable than being the Javascript expert. It's a commonplace observation that data has more value than code to companies. Lots of their data is in spreadsheets and databases (relational or otherwise). I've seen medium-sized companies running their operations in Filemaker, Access, and of course Excel. In big companies you'll find departments using the same tools. Critical to the business, not technically interesting or challenging. Plenty of work/money in that. Same for WordPress sites -- lots of them, most of them need work, not sexy or particularly challenging but you can get top dollar doing that.
- odonnellryan 6y agoYeah but boy can SQL be frustrating! When learning you have to balance rewarding activities with valuable knowledge and skills. Excel maybe isn't so frustrating (unless you're trying to do stuff like, short-circuit "or" statements .. ) I much prefer to take the data into a language -- like Python -- and do analysis on it. Sometimes (actually, 1/10 times in my experience) this is not actually possible, so SQL is a great skill to have. I know of three fortune 100 companies that run 100+ person departments entirely from Excel. Massive Excel files.
- tasuki 6y ago
- an_opabinia 6y agoIn addition to what the poster said, which is really spot on in its generalities, I can share: my opportunities come from (1) my former coworkers and (2) direct pitching to RFPs. Re: (1), when the poster says "people skills," he means you will not source work from engineers. Additionally, you are not likely to source work from most big-company product managers. It's all about who is in a position to work with vendors in the first place. These will be "ideas" people, people you meet at business school or business-school-lite multidisciplinary design schools, people who themselves may have limited execution capabilities but have the "people skills" to... tell you what the big company wants and how to format your docs and pass their vetting process. People who aren't hung up on just telling you like it is - people who aren't pedants. People who are the opposite of most engineers. In this respect, startup and big SV jobs will not lead to drowning in freelance work. Go to an exciting grad school, work at a large philanthropy, work in politics, work in research, consulting, etc. - things where you primarily interact with businesspeople who have vendors.
- a_square_peg 6y agoThese are really helpful suggestions, especially the one about applying for jobs. Thank you.
- gregjor 6y agoEvery company is hiring if the right person comes along. The right person is someone who can add value and solve business problems. Most jobs aren’t advertised. Getting work through referrals and contacts is far more effective than going through the application process. I haven’t had to use a resume or interview or apply for almost 15 years.
- obayesshelton 6y agoGreat input, I always say the role of a good engineer is being a good problem solver regardless of the language or tool. The role of a good CTO is helping others understand and solve problems.
- milquetoastaf 6y ago>No one needs 2,000 more lines of Javascript. Lots of companies need business problems addressed. Pretty sure you can solve business problems in Javascript
- cactus2093 6y agoSounds way too negative from my experience. I’m only in my 30s to be fair, I’m sure it does get harder as you get older, but I’ve also definitely interviewed a lot of older engineers and made offers to them at what seems like a similar rate as other age groups. I have to strongly disagree about advising the OP not to join SV startups. I’ve worked at many of them, and they can the perfect environment for a “jack of all trades”. I also have not found that all of them just care about culture fit, there are certainly some that might fit that caricature but but by and large what they care about is can you get things done quickly without needing a lot of hand holding. Smaller startups are more likely to look for this as well in an interview, and for example have you build something fairly practical rather than solve tricky algorithms problems that bigger companies rely on. As far as using your network to get jobs, you might be surprised that it’s not as easy as you think. The smaller the company the more pull this can have. But most companies try to be objective in the hiring process, and any company over a certain size (I.e. if they’re big enough to have recruiters and a head of HR) probably won’t just give you a job if you don’t pass their standardized interview questions. The main way it can help is if you don’t yet have enough experience on your resume or a good school and are having trouble getting past the resume screen, a personal intro can move you along to at least the hiring manager screen or first technical screen step.
- peterwoerner 6y agoIn general you should not expect more than help getting the first interview from your network. With that being said, I have heard stories from older engineers in my large company that they skipped fizz buzz type questions for people with a strong internal reference.
- gregjor 6y agoHow much help you get from a contact or referral depends on where that contact is placed. Sometimes you just get your resume put on the short list. Sometimes you skip the entire process. Regardless of company size or HR policies, a hiring manager who wants to hire you will do that. That has happened to me more than once, and I have heard the same from former colleagues who literally walked in to jobs at Google and Netflix without any interviews or HR, because they knew the right person and had a professional reputation that spoke for itself. You don't suppose Google interviewed and tested Rob Pike, or Microsoft whiteboarded Anders Hejlsberg, do you?
- msluyter 6y agoIf you have years or decades of experience you should have a large network of colleagues to get leads and jobs from. Clearly I've failed here. I've kept in touch with a few folks from previous jobs via LinkedIn or whatnot, but as a network, I'd describe it as "thin and weakly connected." Part of that is due to being an introvert and generally terrible at maintaining long term human connections. And part of it is a certain indifference I've had in the past to actively managing my career, which in an of itself is a result of how generally easy it's been to find work. Curious if I'm alone in this?
- ethbr0 6y ago> Curious if I'm alone in this? I think most people underestimate their networks. Not saying you're wrong, but you've worked with people, right? Hopefully not been a complete ass :) ? Done work on a team with or adjacent to them? That's a start! Networks aren't created overnight, and people try to hack them poorly all the time. Think about it like a garden, not a project. It can't be created overnight: the right way is repeatedly, but at a low-intensity, tending to it. Set yourself a goal: reach out to one person you've previously worked with on LinkedIn a week. Don't ask for a job. Just say you were thinking of them, {insert memory, if you have one}, and hope they're doing well. If they reply, maybe steer the convo to what technologies or challenges they're working on now... I get it. I'm an introvert too. I'm €®£÷ing terrible with people. But it's improveable with repeated effort, like anything else. A few ideas (in preferred order): (1) Take coffee (or now, Zoom?) with folks to catch up, (2) Volunteer with tech groups (pref charities, in tech, with people you want to network with, not just you giving free labor, and make sure to introduce yourself and talk about what you do), (3) Attend tech meetups (eh... unless you're presenting, this can be a waste of time), (4) Attend conferences (again, be seen, introduce yourself. Many are remote and free this year, good for attending, bad for networking) The end goal is that if that person thinks "I need someone to X" then your name pops into their head. If you haven't talked to them in 5 years, that's not going to happen.
- cushychicken 6y agoI think most people underestimate their networks. Not saying you're wrong, but you've worked with people, right? Hopefully not been a complete ass :) ? Done work on a team with or adjacent to them? That's a start! This is absolutely spot on advice. Having a career network is roughly equivalent to saying "I have former coworkers that would say that I am competent and pleasant to work with". There doesn't need to be some intense relationship that persists past working together. Just shared work experience, and a track record of jobs well done on your part. : )
- dt3ft 6y agoChecking out your website was fun, thank you for writing about freelancing. I am not the type that wants to do only "sexy programming work", I believe that maintenance work is where the stability is at. Solving business problems with what is already there rather than pulling in unstable codebase of an OS project that may die or is already dead.. are some of the things I live by. Hoping to get into freelancing soon.
- sam0x17 6y ago> Don’t try to join startups or cool SV companies unless you have an inside track. Their recruiting and hiring practices are mostly geared to ensure “culture fit.” That’s code for young single male who will work 12 hrs/day and think free beer and pizza makes it cool. The exception being if you can come in as a CTO and _set_ some of that culture including making an effort to give everyone a bit more work/life balance. I've been in this situation a few times with companies that are otherwise as you describe.
- 0x010010100011 6y ago> "If you’re applying for jobs you’re hobbling yourself. If you have years or decades of experience you should have a large network of colleagues to get leads and jobs from." Sorry, but this is like saying "if you're 30+ years old you should have a large network of friends and family and not feel lonely". It does little to solve the problem of people who lack such networks to remind them that they do.
- jlokier 6y agoI agree with you, but at least the advice gives an idea of how some others approach finding work at that age. It comes with the implication that it's worth aiming towards similar, if you think you could, because it's actually working for some people. I.e. by being more aware of network-building, being a bit less afraid to mention your availability when getting to know people, having in the back of your mind that it's actually good for your future prospects if you're helpful and pleasant to people, being willing to play the slow "keep in touch" game, and the LinkedIn game, and maybe appreciate that it's not entirely social BS, it's actually kinda useful in the big scheme of things. That doesn't solve the problem for people who are lonely and struggling, but it gives an idea of a useful direction to start building in, from knowing it's working for some people. I will add a tiny bit of advice: It's really ok if you don't already have decades of networking and colleagues like some appear to. You're not at a permanent disadvantage. If you have few friends and no colleagues, it will take a while but that while is measured in months and low years, and like anything, cultivating freelancing/consulting connections is a skill you can get much better at with practice. Get used to reaching out, like for example write to some of the "freelancer wanted" posts on HN, and write to people at companies who post something interesting, including C?Os and so on. That's kinda fun, because some of the people you end up talking with actually really enjoy human connections and are interesting people, and you are building their network too. To them, you are valuable, even if they don't know why yet. Some of them know this and are happy for the contact.
- 0x010010100011 6y agoI agree with your point. However, I think it applies to youth more so than adults. I strongly think that a lot of adults who suffer these type of hardships are aware of them. And have tried to remedy them. I know that for some: years and years of trying isn't enough to create neither type of social network.
- alexpetralia 6y agoThe notion of "focusing on business problems" is - in my opinion - the absolutely correct answer. Coders will jump through technical interview questions. Business people with great coding experience will say "I will solve your business problem."
- ekanes 6y ago> Learn to solve business problems rather than “engineering problems.” No one needs 2,000 more lines of Javascript. Lots of companies need business problems addressed. Want to highlight this -- it's very rare but hugely valuable to be able to look at the business' needs and solve them, versus "I just work on what they tell me to"
- bdcravens 6y agoIt's said there's 2 kinds of people in the workforce: workers and bosses. It's not about who's a supervisor, as much as whether you can see the big picture or would rather to just focus on your job. No reason why this wouldn't also apply to higher-level jobs like programming.
- gitgud 6y agoThis is true, but let's not forget that business problems can become engineering problems and vice versa. Sometimes adding features (solving business problems) gets so tedious that engineering problems need to be addressed!
- bdcravens 6y agoIn my job, I pretty much have carte blanche, driving our technology choices. We're a b2b in the shipping space; our customers literally don't care whether we're running React or jQuery, Rails or ColdFusion, Node or old school PHP. They'll notice if it runs slow, if things break, or if we take longer to crank out a promised feature. I love to nerd out, but I'm continually suppressing that part of my personality, because truth is, buzzword bingo isn't my job. (At the same time, it's not a matter of sticking to old technology, we just base our decisions on metrics other than HN posts or Github likes)
- SoSoRoCoCo 6y ago> If you have years or decades of experience you should have a large network of colleagues to get leads and jobs from. That's really big assumption. After spending 25+ years at Intel, all of my peers were from that company, and they fall into to groups: either retired because they were there when the options were plentiful, or they are stuck there because they are over-leveraged with houses, cars and kids and their skills are pigeonholed to something only 3-4 other companies are interested in. EDIT: You're website is great, btw!!
- gregjor 6y agoThanks for the kind words on my site. I know the problem, you work at a big company and that constrains your professional network. I worked at Nike and Apple, and when I was there all of my professional (and most of my personal) contacts/friends were also co-workers. Fortunately many of them went on to other companies and worked their way up to hiring authority positions. My advice is to expand your network outside of the software dev/tech group. Marketing people have been a rich source of work for me. I worked in logistics for a long time so I know managers who move from one place to another running distribution centers, and they have significant pull in those companies.
- hinkley 6y ago> If you have years or decades of experience you should have a large network of colleagues to get leads and jobs from. This is where it gets harder to move to a new town as you get older. Companies aren't looking at you as a young hungry dev they can take a chance on. If they want you at all, they probably want a known quantity. Which probably dovetails with your comment about freelance. Contract work tends a bit more toward known quantities, although there are certainly exceptions (some of the places I've added the most to my resume have been 'consulting' roles)
- jefftk 6y ago> No one needs 2,000 more lines of Javascript. What about Gmail? Facebook?
- nemetroid 6y agoIt's (together with the next sentence) a figure of speech. The technical solution might well be 2000 lines of Javascript, but it's the means, not the need.
- gregjor 6y agoI'll assume your comment is facetious. If you're serious then you don't understand my point, and you don't understand what employers hire for. Millions of people can write 2,000 lines of Javascript. Significantly fewer can solve a business problem that may require writing some code.
- jefftk 6y agoI think I just misread the original post!
- postit 6y agoI moved countries 4 times, unfortunately a solid local network isn’t transferable outside it’s boundaries
- holografix 6y agoThis is great advice but let me be the devils advocate for a moment. Ensure you can wrap these experiences with buzzwords of technology. Can you intelligently speak about service meshes and Istio and load balancer? What about the benefits of typescript vs javascript? At some point you’ll deal with a recruiter and most are using superficial “checklists” to assess your competency combined with your experience.