HN user

teekay

157 karma

Programmer, tango dancer & DJ.

My go-to tech stacks are .NET and Node, PHP. I'm fluent in PostgreSQL, MongoDB, and comfortable working with AWS and Azure infra.

I'm available for contracts and freelance assignments.

Email: tomas@tomaskohl.com

Website: https://tomaskohl.com

[ my public key: https://keybase.io/tomaskohl; my proof: https://keybase.io/tomaskohl/sigs/ZMRNmf7FtxBk_Nh7fka9VJgjEcfJJDpHVlwP97ST0jU ]

Posts10
Comments68
View on HN

500 days on Duolingo and it has felt like it was produced by ChatGPT 3.5 this entire time.

500 days of learning various bits & pieces and not being able to have a simple conversation - but I could probably say "There is a monkey in his backpack" if pressed hard!

I used to hate learning from actual textbooks as the conversations felt "dumb" or "forced" but that dumbing down as at least justified by having to progress from zero. Duolingo doesn't feel "plain dumb" but "weird dumb".

So yeah, if they replace their contractors (who must've used the cheapest models) with O3 or o4-mini-high or whatever, it should be an improvement!

SEEKING WORK | New York City

Seasoned Product Engineer with 20+ YOE. Looking to help NYC founders scale beyond the MVP as your interim greybeard. I will clean up your code base and set you up for growth. Can help with infra (cloud and on-prem), performance, scalability, and agility. Past clients include Bloomberg, AMEX, Volkswagen. Tech stack includes Node.js, .NET, PHP, SQL and NoSQL.

Email: tomaskohl@gmail.com

Web: https://tomaskohl.com

SEEKING WORK | Brooklyn, NY

Keen to help teams in the tri-state area with hard problems around:

- web performance

- API integration

- streaming media

- modernizing legacy apps

- creating quick PoCs and prototypes

Tech: Node, JS/TS, PHP, SQL, .NET, React - full stack

Past gigs include:

- candidate scheduling app for Bloomberg LP

- streaming video / API integration for AMEX

- billing platform for an electric car-sharing service in Germany

I can offer part-time but consistent availability and am up for an occasional in-person check-in if your office is in NYC.

Contact:

- https://linkedin.com/in/tkohl

- tomaskohl at gmail

SEEKING WORK | NYC | Remote

Location: NYC, Remote

Helping with maintaining and modernizing legacy code bases - PHP, JavaScript, .NET. As a seasoned generalist, I'll make sense of the weirdest stack you might have, document it, modernize it, and extend its ROI well past 2024.

Areas of expertise include: web performance, API integration, app deployment (on-prem and in the cloud), line-of-business desktop apps (.NET/WPF)

E-mail: tomas [at] tomaskohl.com

WWW: https://tomaskohl.com

LinkedIn: https://linkedin.com/in/tkohl

A good way to get started is not to ask "How do I become a freelancer/consultant" but rather "what valuable business outcomes can I deliver with my technical skills" and then find clients who have those problems and solve them.

Yes, this ignores the hard part of "finding those clients".

I know people with expertise in improving website performance, for example, and the mindset shift here is not to think about response times but rather improvement in conversion rates, decrease in shopping cart abandonment rate, etc. Clients don't really care about caching or asset preloading but they really, really care about squeezing the extra dollar from their website visitors. Help them make that extra dollar and you get to keep some portion of it.

Once you establish this foundation, getting to the right clients is easier than if you put yourself out there advertising "will write Python code for $$$".

So for instance, I wouldn't necessarily attend technical conferences / meetups but perhaps conferences where, I don't know, ecommerce website operators discuss issues that are critical to them. Those are your potential clients who can be perceptive to the right pitch. I think that technical conferences are a better fit if you're looking for a job and selling your resume.

Having said all of this, when I started out as a freelance dev, I did use Upwork to get some experience and reviews that I could later repurpose as testimonials on my website.

There's nothing wrong with hands-on freelance coding to get started somehow. It can be hard to define what specific business outcomes I could deliver with technical skills/existing resume, so getting some real-world experience can help with refining that. Always be on a lookout for that answer: once you understand "why" your clients keep paying you (hint: not for the code itself), you can find your niche and improve your sales pitch.

Finally: yes, it's critical to get out there and connect with people! Be it on LinkedIn, email, forums, Discords: you won't get clients unless you talk to people. Talking to past connections could also be a good way to find contract opportunities esp. if you've kept in touch over the years. Being a solo dev/consultant is 80% people work and only 20% technical work.

PS There's another way: you can ignore all of the above and apply to contract jobs (1099) using recruiters to get to clients. That's very similar to employment (clients tend to treat you just like staff) but you can potentially get better rates. I've been doing this for years with "success" but frankly, it's only marginally better than employment plus you get no benefits like vacation days etc. Real, actual consulting/freelance work can be a lot more satisfying if you can make it work!

Location: NYC, USA

Remote: Yes

Willing to relocate: Yes

Technologies: Node, Typescript, C#, WPF, SQL, Mongo, PHP, HTML, CSS, Azure, AWS...

Résumé/CV: https://linkedin.com/in/tkohl

Email: tomas [at] tomaskohl.com

I will augment your team to ship your product backlog on time while you're looking for your full-time hire.

My portfolio includes a lot of heavy backend lifting, integrations, and various plumbing. I've worked as a product owner and PM previously, which helps when you need to nail down the requirements. You'll get an adult senior generalist who gets stuff done without fuss.

Remote OK, will travel, will come to the office.

My visa only lets me work through my LLC, so no W-2, only C2C.

SEEKING WORK | Anywhere in the U.S. | Will travel

I'm coming to the U.S. on an investor visa to build my agency. This is your chance to snatch a senior generalist developer hungry to prove his worth.

Whether you're an agency, startup, or enterprise vendor, I have 20 years' worth of war stories to tell and insights to help you succeed.

Past clients include a NYC digital agency, Volkswagen, Munich Re, and Liberty Global.

Tech stack:

- Node (Typescript/JS)

- PHP (Laravel)

- SQL, NoSQL (PostgreSQL, MongoDB)

- .NET, C#

- modern HTML + CSS

Terms: remote is fine, but I am also happy to come to the office!

I can only work through my LLC and am happy to do interim engagements with no expectations of a permanent arrangement later. You can reach me at:

- email: tomas@tomaskohl.com

- web: https://tomaskohl.com

- phone: (603) 932-5110

One thing that has worked really well for me in the past was joining Toastmasters International.

This is a group of people who are working on their speaking skills, but the effect goes way beyond improving one's public speaking.

I've seen many introverted people who could barely speak about themselves for one minute during the first "Ice-breaker" presentation undergoing a complete transformation within 6 months.

You'll meet once a week and exercise your communication muscle in a variety of ways. For instance, one fun part of Toastmasters meetings are brief, impromptu speeches on a topic you are given on the spot. There are also many less challenging roles in the meetings, and beginners typically work their way through those to get the experience and lose their fears.

I credit Toastmasters for becoming more engaging and less boring in a social setting ;)

That said, the key is what jamager said: listening and honestly caring about others. That should be the underlying value. I would emphasize that because it's also possible to get really good at public speaking and being very performative without actually connecting with anyone.

I made such transition years ago, and then went back to technical roles.

The primary benefit of doing this is that you develop a product and people-oriented mindset. All of a sudden, you are thinking about the "whys" instead of "hows". You think about customers and their pains and wants. This can be very rewarding if your natural disposition is to help others.

Technically, there's very little onboarding you'd have to do. Unlike programming, there's no language to learn, except English (or whatever language your business people speak). And by that I mean learning to speak the customer's language and using it to define the problem domain.

Long time ago, product managers (or business analysts, to be precise) would also use technical "languages" such as UML to describe the product. This fell out of favor in most industries. Agile mostly killed deep technical analysis (outside of code). It also killed use cases in favor of "user stories", which are a terrible way to describe a product in my opinion. But I digress.

Depending on your industry experience, you might have to do some onboarding in terms of understanding the market, customers, their purchasing decisions, and where do your company's products fit in all of this. I would start in an industry that you already know well.

All things considered, if you already have an offer and like it, trying on the product manager's hat will broaden your expertise and if you ever decide to go back to programming, this will be very valuable to you and your clients or employers.

SEEKING WORK | CET, 6 hours overlap with ET possible | Remote

I'll help your agency with software plumbing. Complex integrations, cloud deployment and performance, and backend code. Happy to get my hands dirty with work your people won't do.

Tech: Node.js, .NET, PHP, MongoDB, PostgreSQL... all kinds of web dev, plus desktop (.NET with WPF)

Cloud: Azure, AWS, Heroku (still a thing)

It's 2022, so yeah, I live and breathe git, CI/CD, test-driven development, all that good jazz!

More importantly, I approach all development with the clarified business outcomes driving everything I do. I won't give you any code that's useless and won't matter to your customers. Rather, I care about your ROI 24/7. You make or save money => I win a repeat customer. It's pretty simple.

Get in touch at: https://tomaskohl.com

SEEKING WORK | CET, 6 hours overlap with ET possible | Remote

I'll help your agency with software plumbing. Complex integrations, cloud deployment and performance, and backend code. Happy to get my hands dirty with work your people won't do.

Tech: Node.js, .NET, PHP, MongoDB, PostgreSQL... all kinds of web dev, plus desktop (.NET with WPF)

Cloud: Azure, AWS, Heroku (still a thing)

It's 2022, so yeah, I live and breathe git, CI/CD, test-driven development, all that good jazz!

More importantly, I approach all development with the clarified business outcomes driving everything I do. I won't give you any code that's useless and won't matter to your customers. Rather, I care about your ROI 24/7. You make or save money => I win a repeat customer. It's pretty simple.

Get in touch at: https://tomaskohl.com

Good question.

During the 2000 and 2008 crises, there were massive layoffs, which impacted contractors just as they did employees.

In 2008, I contracted via an IT outsourcing company, and every week there was another announcement about a batch of colleagues being laid off. The firm's clients were canceling projects, and having consultants on the bench is very expensive.

Who knows what this will look like, though. If it ends up being like 2008 and clients start canceling projects, then yeah, it will get tough.

Not sure if I can give any generic insights on how to handle the down market as a contractor. A strategy that will work for you depends on your existing skills, niche, and network. As well as your appetite for risk.

If my appetite for risk were low, I would stick to my corporate "whale client" and ride out the recession on whatever boring project they've been running. I've done this during COVID.

But, a recession might also be a great opportunity to try something new. If what you do can translate into reduced costs for your clients (e.g., you know how to bring AWS costs down significantly), that type of expertise is very valuable when CFOs are slashing budgets).

I wouldn't let the lack of a relevant degree get in my way.

Sure, there are some EU countries where degrees are still being listed as a job requirement. Hell, when I contracted for a company in Munich, every other guy in the hallway had "Dr." in front of his name (and used it proudly in his e-mail signature).

Nevertheless, hiring can get very pragmatic when the company is hungry for engineers and few competent applicants come in.

Not sure exactly what the typical requirements are for a UX position. I'd imagine having a humanities background should be a huge plus, however. After all, this field is about human-vs-computer interaction, is it not?

Could she develop a small portfolio, maybe even using volunteer / non-profit jobs to get started? There's a good chance she could then use it to get in the door for better-paying UX jobs later, degree or no degree.

I've been deploying to the serverless stack on Azure (Functions, Service Bus), and have been mostly happy.

Azure gets a lot of hate around here and it's hard to disagree with some of the lived experiences.

That said, mine have been mostly positive overall. Yeah, the support isn't exactly stellar, yeah, the deployments are not 100% reliable (but close), but which stack has zero issues?

For me, the benefits vastly outweigh the issues.

For Functions, Service Bus, App Insights, I don't really care about the infra I once set it up. Everything is automated, from deployments to scaling when traffic hits. The team I contract for has 0 dedicated (Dev)Ops. Compared to another project where we used k8s, that's a big win - there, we had 3-4 dedicated k8s experts on staff to keep the lights on.

Some services that we use on Azure are not really serverless, like the managed Postgres. That's sub-optimal as the database can very quickly become the bottleneck and can't keep up with the autoscaled function instances. I hope that what Neon[1] is trying to do - truly serverless Postgres - takes off and I wish Azure had that.

The tooling and integrations that Azure has is also a big win in my book. For instance, migrating a static website to Azure Static Web Apps (omg why didn't they just call it "Pages"?) is super easy. You get automatic deploys from main/master and automatic preview environments for pull requests. All it takes is a simple Github workflow. I don't think I would want to manage my own infra for that.

The downside of the serverless model is that once you hit a bug or a limitation of the platform, all you can do is open a ticket and hope for the best. Whereas if you own the server, well, you can dig in, obviously.

For me, once I understand the trade-offs and serverless comes out ahead, I go all in. YMMV.

[1] https://neon.tech/

SEEKING WORK | REMOTE, EU and US-East timezones | Back-end, integrations, performance

Hi there! Need some help with complex backend topics, integrations, or your web app deployment and performance? I can plug into your team on a part-time basis (up to 20 hours/wk) and get the ball rolling.

Tech stacks I use routinely:

- Node.js / Typescript

- C# - ASP.NET Core, WPF

- PHP - Laravel

- Docker, k8s, AWS, Azure, Heroku

Recent client highlights include:

- billing system for a car-sharing operator in the EU (Node.JS, Typescript, Postgres, Azure functions)

- backend & integrations of a large content website for a US credit card company (PHP, Heroku)

- backend dev & enterprise integration for an insurtech startup backed by Munich Re (Node.JS, Typescript, Mongo, AWS, k8s)

Drop me a line if you need someone who is a quick study, will grok your business and the big picture. Raw developer firepower included.

Personal website with links to Github etc.: https://tomaskohl.com Agency website: https://colladeo.com

Great points!

Now, I don't think that a hustle must necessarily equal "passive income." It can be a freelancing hustle, or a product hustle, or a SaaS hustle, but there's nothing passive about them.

It takes time to come up with an infoproduct, for example, and you've got to promote it, build your circle of followers, etc. And even if you do everything right, there's a huge amount of chance/luck. Your product might take off, or it might crater (or anywhere in between). Either way it's a lot of work.

Anyways, just my 2c, and good luck with your book!

They sure do!

I have quite some experience working in Waterfall orgs. Starting around 2012, I noticed Scrum becoming the default. But, not much changed, just the ceremonies are called differently!

At many orgs, Scrum is just a thin veneer over top-down planning. It gives the developers an illusion of freedom while being in practice yet another instrument of control.

Not that there is anything wrong about wanting to control your org's processes! Could we just be more honest about it?

For example, the daily standups are advertised as a tool for team synchronization. More often than not, it's status reporting with the PO/SM intently listening and probing. A well-gelled team will obviously sync itself on the go without any need for this ceremony.

The worst offender is often the retro. I've been to way many retros that were completely led by the manager (PO, SM). But even if the manager is out of the room, what's the point?

A tightly knit team won't need a biweekly retro. It solves its problems as they arise. I would prescribe retros when the team is freshly formed and abolish them as soon as it gels. Then, let's meet offsite once in a while, hang, shoot the shit, and discuss the big picture.

I think that overall Scrum has brought some benefits and some agility to sw development at big orgs and maybe it's only there where it still provides some value. I'd be interested to learn whether startups of today use it at all?

There are two general paths that software devs can take:

- do generalist software augmentation contracting, where you are essentially an employee but paid better (and fired faster but that goes both ways)

- specialize, build expertise, and do consulting - selling your brain, so to speak, as opposed to providing an extra pair of hands

The advantage of the contracting route is more predictable income, esp. if the projects take months or even years to finish. That's quite common in Europe if you contract for a Fortune 500 equivalent company like Volkswagen. The corporate "digitalization" projects run forever and a contractor can successfully embed himself or herself there for as long as is enjoyable (and profitable).

There are downsides.

First, you do not develop your sales and marketing muscle when taking on full-time staff augmentation roles. In Europe, it's common to get these gigs through recruiters, and so you don't even own and manage your relationship with the client.

Second, it feels like employment because it essentially is. You attend all the Scrum ceremonies like everyone else. Clients expects you to be available during the working hours and has all the other expectations they have for their staff employees.

Third, it's hard to scale this "business". Since you are a staff engineer, just with a different contract, the client does not see you as a consulting partner, so offering additional manpower to the client could be a tough sell.

On top of that, it's easy to just "go with the flow" and accept whatever gig the recruiter calls you about, provided it pays OK. Then, you look back at your portfolio and it's a hot mess!

This has been my experience doing staff augmentation in Europe for 10+ years. I am transitioning away from that, and the journey has been quite taxing, mentally. Like going to gym for the first time in years, only now it's your brain that needs training - it can hurt for a while.

One more point:

I see some people professing their hate for sales.

Actually, you do sales, too, when you sell yourself to the recruiter or your future boss. Sales is inevitable and we engineers better be GREAT at it.

I think sales in consulting can be even enjoyable, and I do love this aspect of the work. It just can't be the "used car salesmanship" type of sales. You gotta listen, really listen to the client, grok their situation and build baseline trust. Then the sales conversation feels more like an advisory session. But to get there, I think, requires building expertise and some level of specialization. How much of either, I am not sure.

Hopefully this helps a little.

PS I strongly recommend following Jonathan Stark of the "Hourly Billing Is Nuts" fame. It's a great antidote to a lot of questionable freelancing advice one can find one the interwebs.

I don't remember the last time I signed up to a mailing list just to be notified when some random app goes live. Let alone pre-ordering.

I would do that if I already trust the organization, which implies it has already launched useful products in the past. For an unknown startup, the idea would have to be truly Earth-shaking for me to sign up.

In most cases, I'll just wait until I hear that the app is out, and then try it and consider purchasing.

To me, "sell before you build" is a no-go for upstarts with zero audience, whereas "market before you build", or maybe "market as you are building", creates the awareness you'll need to warm people up when you are ready to sell.

SEEKING WORK | EU & US-East timezones | Remote

Hi, I'm Tom, and I'm looking to connect with startups & agencies in NYC.

I'll be coming over in late 2022 to set up my app dev shop over there. I've got tons of experience with the financial industry and the adjacent domains such as billing, insurance policy management, etc. My stack is primarily Node, .NET, Postgres, Azure.

Let's connect if you'll need some expertise in these areas, now or later!

Personal website: https://tomaskohl.com

Agency website: https://colladeo.com

I have long thought that the JAM stack is primarily aimed at hobbyists, and I have changed my mind on the subject.

True, for a hobbyist updating a blog a couple times per month, it works great.

No Wordpress nightmares to wake you up at night, no databases going down and taking your site offline. And, should I mention performance? Once the site is built and deployed, that is.

Also, no limits as to how you can configure your site. With a bit of coding, you can usually make the static site generator do your bidding.

Personally, I use Eleventy [1]. My site has 200+ pages and the build time is not an issue.

Now, I am authoring manually in Markdown using VS Code. That's probably not the right tooling for the editors at some content shop.

Many static generators do have hooks into CMS's. Eleventy, for example, has a plugin that interacts with the Ghost CMS API [2]. I haven't tried it but if I read it right, it can suck content out of Ghost and publish it as static HTML.

That might be a way to get the best of both worlds: a comfortable authoring experience AND the performance of a static site.

My argument for why the content shops should give the JAM stack a try is based on a recent experience.

I was helping out a team developing a large content website with hundreds if not thousands of articles and many updates throughout the day.

I was there mostly for backend work and DevOps. And boy, did I have my hands busy!

We hosted on a PaaS with maxed-out specs for both the application server and the database (Postgres). The bills must have been in the four figures monthly just for the servers. And yet, it took us months to get the performance to a level that was even acceptable: not great but okay-ish.

I would not recommend a database-backed CMS for a popular content website if we could avoid it at all, and if budget was a thing. Rather, I'd explore how to make a JAM stack-based solution work for the client.

With that said, I concede that yes, of course the static site generators have their own issues. The right answer depends on which tradeoffs you are willing or able to make.

[1] https://www.11ty.dev/ [2] https://www.npmjs.com/package/eleventy-plugin-ghost

How hard would you say it is to get one's foot in the door as a newcomer?

My experience servicing US clients from Europe has been great so far. Most clients are easygoing and communicate really well. Also, it seems to me that most care more about what you can do for them as opposed to random credentials and whatnot. In parts of Europe, and especially in Germany, there's still this obsession with having the right degree, and people would proudly feature all their degrees in their email signature :D

Anyways, I'm close to OP's age and will be coming to NYC later this year to open an app dev shop. I'm working on getting a few contracts going before I land but I suppose it should get easier when I can start pounding the pavement, right?

I love Notion and use it for both work and personal purposes.

It's definitely a matter of personal taste though. For me, it just works: the fluidity of the interface, adding new pages and sub-pages, the auto-saving that's completely out of my face, the auto-linking, the easy-to-remember macros...

For business, most of my clients are still using Confluence, and that's the exact opposite: clunky and getting in my way constantly. Again, a matter of personal taste but that counts for a lot when I am the done paying for the subscription! I would not pay for Confluence in a million years!

Now, what's the Notion equivalent to JIRA - any tips?

I wouldn't hire a PM for my practice and here is why.

Given that I am serious about my freelancing and want to build a real business around it going forward, I have to be serious about running my business. That includes things like setting priorities, client comms, and business development (=sales).

If I can't or won't be serious about these things, I won't have a business. And, eventually, my practice will look more like employment with a different paperwork (and no benefits).

Coaches can be very effective, though. I've had a session with a retired exec thanks to SCORE, and her advice was valuable. Getting actionable advice about running your business can bring measurable financial benefits, e.g., in your close rate, or your pricing.

Peer groups can have a similar benefit. I am a member of Jonathan Stark's group coaching Slack, and I learn something new every day.

I think it's important to address one's personal weaknesses that are related to one's business practice, and work on them rather than delegate. I am happy to outsource my accounting but I wouldn't hire a PM to talk to my clients on my behalf. Rather, I'll work on my communication skills so that I don't embarrass myself in front of a client :D

SEEKING WORK | REMOTE, EU and US-East timezones | Back-end, integrations, performance

Hi there! Need some help with complex backend topics, integrations, or your web app deployment and performance? I can plug into your team on a part-time basis (up to 30 hours/wk) and get the ball rolling.

Tech stacks I use routinely:

- Node.js / Typescript

- C# - ASP.NET Core, WPF

- PHP - Laravel

- Docker, k8s, AWS, Azure, Heroku

Recent client highlights include:

- billing system for a car-sharing operator in the EU (Node.JS, Typescript, Postgres, Azure functions)

- backend & integrations of a large content website for a US credit card company (PHP, Heroku)

- backend dev & enterprise integration for an insurtech startup backed by Munich Re (Node.JS, Typescript, Mongo, AWS, k8s)

Drop me a line if you need someone who is a quick study, will grok your business and the big picture. Raw developer firepower included.

Personal website with links to Github etc.: https://tomaskohl.com Agency website: https://colladeo.com

Great story.

While it might seem that the world has moved on, the core developer experience on Heroku is still pretty awesome.

One aspect that I loved, loved on my recent project was the ability to seamlessly clone a Postgres database. I would set up a follower, have it suck in all the data from the leader, then stop the following and voila, I'd have a copy, e.g. for debugging production issues. All that with a few simple CLI commands.

I think Heroku is still a great fit for monoliths that only need a few dependencies like a database and Redis.

Once you need more, there's the Heroku marketplace, and yes, you have an add-on for everything but the fees add up quickly. And while an enterprise customer might not even notice four to five figure monthly bills, a scrappy boot-strapped startup or a solo developer surely will.

I have developed on .NET for ~ 8 years, starting with the Framework and then moving on to Core, and I am at my happiest in this ecosystem.

One notable highlight for me was and still is the documentation. Very easy to get started as a beginner, and as you progress, you keep coming back for more. It's been consistently good, in-depth, yet accessible, and covers the entire Microsoft world incl. Azure.

SEEKING WORK | REMOTE, EU and US-East timezones

Hi all, I am Tomas. I've got a small squad of BE+FE+UX folks ready to go at a moment's notice, together or individually.

On the backend, we do mostly .NET, Typescript, and some PHP / Laravel. Front-end capabilities include Vue, React, JAM Stack, and the good old HTML+CSS.

We specialize in Azure deployments. The team has experience deploying to AWS and Heroku as well. We dig Docker and k8s.

A designer stands ready to think through your mock-ups and create visuals your customers will love at first sight.

Here is what we've been up to recently:

- integrations & performance boost for a large content website built for a US credit card company (PHP, Craft CMS deployed to Heroku)

- billing system development for a car-sharing operator in the EU (Azure functions with Node.JS and Typescript, Postgres, Service Bus)

- backend development & enterprise integration for an insurtech startup backed by Munich Re (Node.JS, Typescript, Kotlin, Mongo, AWS, k8s)

Find out how we work and reach out: https://colladeo.com